# 发送私聊消息
[异步回调] 该接口用于发送私聊消息,异步回调发送结果
# 关联文档:
小程序小技能: 获取小程序json文档,可以通过给机器人转发一个小程序,然后会收到小程序的消息内容回调,里面就包含了这个小程序的json文档了(需要base64解码)。
其中,小程序json文档中包含的必传参数需包括: ① appName:小程序名称 ② appid:小程序的appid ③ pagepath:页面路径 ④ username:小程序原始id ⑤ weappIconUrl:小程序头像图标地址。
语音小技能:本地生成/录制一个silk
格式的语音,上传至一个可供访问的云端,获取静态资源文件路径,将资源URL填入msg_content
中,注意必须指定语音时长voice_time
,否则会提示语音文件损坏,且注意voice_time
时长不正确时可能会有很大的封禁风险。
请求方式:POST
请求地址:https://$basehost/gateway/qopen/SendMessageToAccount
body参数:
{
"robot_id": "机器人id",
"account_id": "客户id",
"msg_id": "消息id",
"dead_line": "消息截止时间戳",
"msg_list": [
{
"msg_num": 1,
"msg_type": 1,
"msg_content": "消息内容",
"voice_time": 0,
"href": "链接URL",
"title": "图文链接",
"desc": "图文链接的描述"
}
]
}
字段 | 类型 | 必填 | 说明 |
---|---|---|---|
robot_id | string | 是 | 机器人id |
account_id | string | 是 | 客户id |
msg_id | string | 是 | 消息id。用户自定义,唯一值,回调结果会返回该值 |
dead_line | int | 否 | 单位秒 ,消息截止时间戳。到达dead_line消息不发送 |
msg_list | array | 是 | 消息发送的list,每个list的元素限制在1~20个 |
msg_list说明
# 消息类型
# 消息类型概述
字段 | 类型 | 必填 | 说明 |
---|---|---|---|
msg_num | int | 是 | 消息num,消息序号,按照序号顺序发送,在list里面唯一,最小值为1,以1为步长递增 |
msg_type | int | 是 | 消息类型:1 文字;2 图文链接; 3 图片 ;4 视频; 5语音 ;6 文件;7 好友名片;8 小程序;11 视频号消息;12 视频号直播消息; 注:普通图片(普通图片是指jpg、png等静态图片格式的 )大小超过10M将以文件形式发送 ;GIF动图超过5M将以文件形式发送 |
msg_content | string | 否 | 消息内容,最长20000个字符。文字内容 1.若是图片或者链接则传图片地址[链接的图片不宜过大,建议160x160px,小于10k]); 2.若是语音,则传语音的地址(仅支持silk格式)(示例:http://downsc.chinaz.net/Files/DownLoadsound1/201910/12087.silk); 3.若是个人名片,则传被分享的好友编号; 4.若是小程序/视频号消息/视频号直播消息,需是json格式文件,进行base64编码后传入; 5.其中Windows扫码号发送视频消息时,视频封面图必传 |
voice_time | int | 否 | 语音时长/视频时长,时长单位:秒;必须 传时长且时长要正确,当时长不正确时可能会有很大的封禁风险 |
href | string | 否 | 当消息为图文链接或视频时,传入链接URL,视频格式限制为mp4且最大时长不可超过30秒; 当消息为文件时,此处传文件的链接地址; |
title | string | 否 | 当消息为图文链接时,填写图文链接的标题;当消息为文件时,填写文件名; |
desc | string | 否 | 当消息为图文链接时,填写图文链接的描述 |
返回值:
{
"data": {
"msg_sn": "",
},
"errcode": 0,
"errmsg": "",
"hint": ""
}
返回说明
字段 | 类型 | 说明 |
---|---|---|
errcode | int | 状态码,0为正常,非0代表错误 |
errmsg | string | 错误信息 |
data | json | json返回值 |
msg_sn | string | 消息sn码 |
msg_id | string | 调用api时的msg_id[弃用] |
custom_msg_id | string | 调用api时的msg_id |
inner_msg_id | string | 系统消息id |
hint | string | 请求日志ID |
处理结果,异步返回值 encoding_content解密后的结构:
{
"event_type": 40002,
"robot_id": "机器人id",
"account_id": "客户id",
"msg_id": "调用api时的msg_id",
"send_res": true,
"err_msg": "错误提示",
"msg_num": 1,
"custom_msg_id": "调用api时的msg_id",
"inner_msg_id": "系统消息id"
}
说明
字段 | 类型 | 说明 |
---|---|---|
event_type | int | 事件类型,40002 |
robot_id | string | 机器人id |
account_id | string | 客户id |
msg_id | string | 调用api时的msg_id |
send_res | bool | 发送结果 |
err_msg | string | 错误提示,目前只给出触发敏感词错误 |
msg_num | int | 调用api时msg_list里的msg_num |
完整请求示例:
curl -X POST \
https://$basehost/gateway/qopen/SendMessageToAccount \
-H 'Content-Type: application/json; charset=UTF-8' \
-H 'Token: c2NdxDHKXIJ5j1zrhJeq2eJEHjh9xxx' \
-d '{
"robot_id": "机器人id",
"account_id": "客户id",
"msg_id": "消息id",
"dead_line": "消息截止时间戳",
"msg_list": [
{
"msg_num": 1,
"msg_type": 1,
"msg_content": "https://quan-admin-web-1259287960.cos.ap-guangzhou.myqcloud.com/assets/2000765/485cabc1b0914088b7408c37f00a0428.png ",
"voice_time": 5,
"href": "buzhongyao",
"title": "tupian.png",
"desc": "buzhongyao"
}
]
}'
语音请求示例
curl -X POST \
https://$basehost/gateway/qopen/SendMsgToGroup \
-H 'Content-Type: application/json; charset=UTF-8' \
-H 'Token: c2NdxDHKXIJ5j1zrhJeq2eJEHjh9xxx' \
-d '{
"robot_id": "机器人id",
"account_id": "客户id",
"msg_id": "消息id",
"dead_line": "消息截止时间戳",
"msg_list": [
{
"msg_num": 1,
"msg_type": 2003,
// icon图标链接
"msg_content": "http://kfpt.oss-cn-hangzhou.aliyuncs.com/android/res/20201229/16973294d9ed41e4b428540c66760e211bc9d5abf05e42bc1c19dd0e518bb694.amr",
"voice_time": 5,
}
]
}'