# 消息类型
# 单图片消息和富文本消息格式定义
# 单图片消息content格式 (type为2)
将通过文件上传到U聊服务器获得的文件的fileid
将fileid填写到json中即可,消息内容为json格式如下:
[{"fileid":"2c908474468f588d01468f6a263b0000”}]
# 富文本消息content格式 (type为3)
多图文消息格式
{
"cover" : "可选,如留空,按第一条消息cover显示,封面大图,imageid或url",
"degist" : "可选,如留空,按第一条消息degist显示,封面图片摘要",
"articleCount" : "图文消息数目,消息数目为1,则为单图文消息",
"publishTime" : "发布时间,可选,如留空,服务器自动填写当前时间",
"articles" : [
{
"title" : "图文消息标题",
"degist" : "图文消息简介",
"cover" : "图文消息图片,imageid或url",
"url" : "原文连接"
},
{
"title" : "图文消息标题",
"degist" : "图文消息简介",
"cover" : "图文消息图片,imageid或url",
"url" : "原文连接"
}
]
}
- 单图文消息展现示例:

- 多图文消息展现示例:

# 账单消息content格式 (type为4)
{
"title" : "账单消息标题",
"degist" : "账单消息摘要",
"url" : "账单消息原文链接。如填空,消息下方无<详细>按钮,适合无需跳转场景",
"publishTime" : "发布时间,可选,如留空,服务器自动填写当前时间",
"styles" : {
"topColor" : "消息头标题栏颜色 如#ffc17d]",
"style" : [
{
"range" : "样式适用范围,如{22,1}",
"font" : "字体大小,s小号;m中号;xl大号",
"color" : "文字颜色 如#ffc17d]",
},
{
"range" : "样式适用范围, 如{30,5}",
"font" : "字体大小,s小号;m中号;xl大号",
"color" : "文字颜色 如#ffc17d]",
}
]
}
}
账单消息示例图如下:

账单消息样式说明:
实例报文:
{
"title":"每日交易量信息查询",
"degist":"总体交易\n跨行交易笔数:5893万笔\n其中包括:\n交易金额:669亿元 ",
"styles":{
"topColor":"#ffc17d",
"style":[
{
"range":"{0,4}",
"font":"xl",
"color":"#FF0000",
},
{
"range":"{4,8}",
"font":"m",
"color":"#FFA500",
},
{
"range":"{12,6}",
"font":"xl",
"color":"#0000FF",
},
{
"range":"{18,17}",
"font":"s",
"color":"#778899",
},
]
}
}
注: 换行使用换行符\n
range字段说明:{a,b}
a:字段开始位置,最初从0开始
b:字段长度,若长度计算没有错误,字体设置无效果,可以在最后加个空格
实例效果图:

# 文件消息content格式 (type为8)
文件附件报文体为json格式,各字段如下 格式示例:
[{
"fileid": "25455-2124-1121212", // 调用upload接口将文件上传后获取文件id
"filetype": "excel", // 文件类型,同文件上传调用upload接口时的类型取值
"filename": "交易简报0227.xls", // 文件名称
"filesize": 65535421, // 文件大小字节数
"key": "xxxxxxxxxx"
}]
# 互动型消息报文体content格式(type为70)
说明:
1.支持互动型消息,用户可直接在消息气泡上进行操作。
2.对互动型消息,支持使用变更类回执修改气泡样式,包括但不限于新增字段、修改背景、修改某字段等。
互动型消息报文体为json格式,各字段如下
格式示例:
{
"url" : "消息原文链接,供整体跳转。界面无需出现<详细>跳转按钮",
"covertype" : "可选,1:imageid;2:url",
"cover" : "可选,imageid或url。如留空表示无图片",
"title" : {
"content" : "消息标题", //正文
"color" : "#ffc17d", //可选。颜色
"font" : "m" //可选。字体,s-小,m-中,l-大
},
"body" : {
"content" : "消息标题", //正文
"color" : "#ffc17d", //可选。颜色
"font" : "m" //可选。字体,s-小,m-中,l-大
}
"status" :
{
//1--该区域放action,对应btns字段,此时text无效
//2--放文字,对应text字段,此时btns无效
"type" : "1",
"text" : {
"content" : "消息标题", //正文
"color" : "#ffc17d", //可选。颜色
"font" : "m" //可选。字体,s-小,m-中,l-大
}
"btns": [
{
"name": "一个按钮",
//click-点击事件,此时url为key;
//view-跳转,跳转至url;
//open-本地调用,此时url为本地调用串
"type": "view",
"url": "https://www.taobao.com", // 参见type取值说明
"color": "#ffc17d", //可选。颜色
"font" : "m" //可选。字体,s-小,m-中,l-大
},
{
"name": "两个按钮",
"type": "view",
"url": "https://www.taobao.com",
"color": "#ffc17d", //可选。颜色
"font" : "m" //可选。字体,s-小,m-中,l-大
}
]
}
"styles" : {
"statusBtnsVertical": "1", // 0-横排 1-竖排
"bgColor" : "消息气泡底色 如#ffc17d]",
}
}
互动型消息展现示例:

# 互动型消息回执报文体content格式 (type为45)
回执报文体为json格式,各字段如下
格式示例:
{
"referedMsgId": "1234567890",//指定针对哪一条消息(该消息的msgID)进行回执
"status":{
"type" : "2",//1--该区域放action 2--放文字
"text" : {
"content" : "中间状态或终极状态", //正文
"color" : "#ffc17d", //可选。颜色
"font" : "m" //可选。字体,s-小,m-中,l-大
}
},
"styles" : {
"bgColor" : "消息气泡底色 如#ffc17d",
"statusBtnsVertical": "1", // 0-横排 1-竖排
}
}
# 互动型消息使用示例
- 互动型消息注意点:如果需要对接方系统正确收到响应,必须在 type 为 click 的类型情况下给 key 的 url 加前缀
SYS_EVENT_, 如下所示
// req 1: 发送互动型消息
curl -X "POST" "https://upchat.95516.net/upchat-public-gateway/api/app/notify" \
-H 'Content-Type: application/x-www-form-urlencoded; charset=utf-8' \
--data-urlencode "push=1" \
--data-urlencode "userid=xiaoming" \
--data-urlencode "content={\"url\": \"http://upchat.95516.net\",\"cover\": \"\",\"title\":{\"content\": \"小王的请假需要您审批\",\"color\": \"#2D2D2D\",\"font\": \"l\"},\"body\": {\"content\": \"休假日期:2016-08-01 \n休假天数:5天 \n休假类型:年假\",\"color\": \"#color: #888888\",\"font\": \"m\"},\"status\": {\"type\": \"1\",\"text\": {\"content\": \"已同意\",\"color\": \"#21D327\",\"font\": \"m\"},\"btns\":[ {\"name\": \"拒绝\",\"type\": \"click\",\"url\": \"SYS_EVENT_disagree\",\"color\": \"#0ABEF5\",\"font\": \"m\" },{\"name\": \"同意\",\"type\": \"click\",\"url\": \"SYS_EVENT_agree\",\"color\": \"#0ABEF5\",\"font\": \"m\"}]},\"styles\": {\"status_btns_vertical\": \"0\",\"bgColor\": \"#fff\"}}" \
--data-urlencode "apikey=xxxx" \
--data-urlencode "type=70"
// req 2: 设置互动型消息状态. 将req 1响应的token填到referedMsgId中
curl -X "POST" "https://172.16.4.251:11100/upchat-public-gateway/api/app/notify" \
-H 'Content-Type: application/x-www-form-urlencoded; charset=utf-8' \
--data-urlencode "push=1" \
--data-urlencode "userid=xiaoming" \
--data-urlencode "content={
\"referedMsgId\": \"17b25fd7-0b02-4d5e-9e46-3e51d72fd299\",
\"status\":{
\"type\" : \"2\",
\"text\" : {
\"content\" : \"中间状态或终极状态\",
\"color\" : \"#ffc17d\",
\"font\" : \"m\"
}
},
\"styles\" : {
\"bgColor\" : \"#ffc17d\",
\"statusBtnsVertical\": \"1\",
}
}" \
--data-urlencode "apikey=xxx" \
--data-urlencode "type=45"