# 被动私聊消息 - 40023
[被动回调]
- 机器人的客户(外部好友)私发消息给机器人
- 机器人通过企微群发/群发助手/非托管设备给客户好友发送的消息
# 注意事项:
- msg_id非全局唯一
- 判断机器人是发送着还是接收者,需要用robot_id跟sender_id、receiver_id进行对比
- sender_union_id、sender_external_user_id仅在聊天对象是外部联系人,且已匹配的情况下才有,另:unionid依赖基础能力的数据是否存在,企微外部联系人也是空 (由于历史原因,sender_union_id,sender_external_user_id 不是发送者的id,而是返回外部联系人的union_id和external_user_id)
- 通话相关的消息:15 只要是客户发起了通话就会回调,告诉机器人客户发起了个通话; 16 (1)客户发起:回调通话状态(接通,取消/拒绝,通话时长 00:05) ;(2)机器人发起:回调通话状态(取消/拒绝,通话时长 00:05)
- 撤回的消息使用app_info字段关联具体的消息内容
encoding_content解密后的结构:
{
"event_type": 40023,
"msg_type": 3,
"msg_id": "业务传入的消息id",
"sender_id": "发送者id",
"receiver_id": "接收者id",
"robot_id": "机器人id",
"sender_union_id": "外部联系人union_id",
"sender_external_user_id": "外部联系人external_user_id",
"msg_content": "消息内容",
"voice_time": "5",
"account_type": 0,
"title": "文件/链接标题 ",
"desc": "链接描述",
"href": "链接URL",
"msg_time": "消息时间",
"md5": "接收的消息的md5",
"channel_msg_sn": "视频号类型消息编号",
"app_info": "消息appinfo",
"quote_app_info": "引用的消息appinfo,当引用消息时该字段有值,值为接收引用信息时返回的appinfo",
"pv_tag": 2
}
说明
字段 | 类型 | 说明 |
---|---|---|
event_type | int | 事件类型,40023 |
msg_type | int | 接收私聊消息类型,消息类型:0 未知;1 文字;2 图文链接;3 图片 ;4 视频; 5语音 ;6 文件;7 好友名片;8 小程序;11 视频号消息;12 视频号直播消息;13 地理位置消息;14 转发的聊天记录;15 音视频通话消息(发起);16 音视频通话消息(完成);18 撤回消息; 10000:系统消息 |
msg_id | string | 消息id |
sender_id | string | 发送者id |
receiver_id | string | 接收者id |
robot_id | string | 机器人id |
sender_union_id | string | 外部联系人union_id |
sender_external_user_id | string | 外部联系人external_user_id |
msg_content | string | 消息内容:文字;图片(原图);个人名片(base64加密后的好友信息);小程序(base64加密后的json数据);视频号(base64加密后的json数据) |
voice_time | string | 语音时长/视频时长 |
sender_type | int | 消息发送者类型,type: 0 机器人;2 微信外部联系人;3 企业微信外部联系人 |
title | string | 文件/链接标题 |
desc | string | 链接描述 |
href | string | 链接URL,当消息为视频时,此处传视频的链接地址;当消息为文件时,此处传文件的链接地址;当消息为小程序时,此处传小程序的封面图 |
msg_time | string | 消息时间 |
md5 | string | 接收的消息的md5 |
channel_msg_sn | string | 消息编号,当msg_type消息类型为视频号消息时,可用该字段进行转发 |
app_info | string | 消息appinfo |
quote_app_info | string | 引用的消息appinfo,引用的消息appinfo,当引用消息时该字段有值,值为接收引用信息时返回的appinfo |
pv_tag | int | msg_type等于16才有值,音视频通话结束状态 1:接通 2:取消/拒绝 5:结束 |
音视频通话类消息场景的回调说明
场景 | 15 | 16 (pv_tag) |
---|---|---|
客户发起;客户取消/企微拒绝 | 回调 | 回调; (2) |
客户发起;接通;客户结束/企微结束; | 回调 | 回调; (1,5) |
企微发起;客户拒绝/企微取消 | 不回调 | 回调; (2) |
企微发起;接通;客户结束/企微结束; | 不回调 | 回调; (5) |