企业会话回调

来自企业号开发者接口文档
跳转至: 导航搜索

回调企业IM

当成员在微信端发消息,或者更改会话成员时,企业号会推送相应的事件给企业。考虑到消息量会可能较大,企业号在用http协议推送时,会打上keep-alive选项,如果企业支持则保持长连接,此连接根据消息量可以有多个。

注意事项

1、 回调时,一个数据包可包含多个消息或事件(多个Item节点)

2、 当回调失败时(连接失败、请求超时等),最大重试间隔20分钟,最大重试时长1天

3、 企业在收到数据包时,需回复XML里的PackageId节点值(注意回复明文即可,无需加密),表示成功接收,否则企业号认为回调失败。PackageId企业内唯一

报文格式如下

解密前:

<xml>
   <Encrypt><![CDATA[ENCRYPT_DATA]]></Encrypt>
   <ToUserName>CORPID</ToUserName>
   <AgentType>chat</AgentType>
</xml>

解密后:

<xml>
   <AgentType>chat</AgentType>
   <ToUserName>CORPID</ToUserName>
   <ItemCount>2</ItemCount>
   <PackageId>3156175696255</PackageId>
   <Item>
       <FromUserName><![CDATA[fromUser]]></FromUserName>
       <CreateTime>1348831860</CreateTime>
       <MsgType><![CDATA[event]]></MsgType>
       <Event><![CDATA[update_chat]]></Event>
       <Name><![CDATA[企业应用中心]]></Name>
       <Owner><![CDATA[zhangsan]]></Owner>
       <AddUserList><![CDATA[zhaoliu]]></AddUserList>
       <DelUserList><![CDATA[lisi|wangwu]]></DelUserList>
       <ChatId><![CDATA[235364212115767297]]></ChatId>
   </Item>
   <Item>
       <FromUserName><![CDATA[fromUser]]></FromUserName>
       <CreateTime>1348831860</CreateTime>
       <MsgType><![CDATA[event]]></MsgType>
       <Event><![CDATA[create_chat]]></Event>
       <ChatInfo>
           <ChatId><![CDATA[235364212115767297]]></ChatId>
           <Name><![CDATA[企业应用中心]]></Name>
           <Owner>zhangsan</Owner>
           <UserList>zhangsan|lisi|wangwu</UserList>
       </ChatInfo>
   </Item>
</xml>
参数 说明
参数 描述
AgentType 应用类型,此时固定为:chat
ToUserName 企业号CorpID
ItemCount Item数量
Item Item,会话事件或接收消息XML节点
PackageId 回调包ID,uint64类型,企业内唯一。
  • 企业需回复PackageId节点值如下:
3156175696255



会话事件

创建会话

<Item>
   <FromUserName><![CDATA[fromUser]]></FromUserName>
   <CreateTime>1348831860</CreateTime>
   <MsgType><![CDATA[event]]></MsgType>
   <Event><![CDATA[create_chat]]></Event>
   <ChatInfo>
       <ChatId><![CDATA[235364212115767297]]></ChatId>
       <Name><![CDATA[企业应用中心]]></Name>
       <Owner>zhangsan</Owner>
       <UserList>zhangsan|lisi|wangwu</UserList>
   </ChatInfo>
</Item>
参数 说明
FromUserName 操作成员UserID
CreateTime 消息创建时间(整型)
MsgType 消息类型,此时固定为:event
Event 事件类型,此时固定为:create_chat
ChatId 会话id
Name 会话标题
Owner 管理员userid
UserList 会话成员列表,成员用userid标识,成员间以竖线“|”分隔

修改会话

<Item>
   <FromUserName><![CDATA[fromUser]]></FromUserName>
   <CreateTime>1348831860</CreateTime>
   <MsgType><![CDATA[event]]></MsgType>
   <Event><![CDATA[update_chat]]></Event>
   <Name><![CDATA[企业应用中心]]></Name>
   <Owner><![CDATA[zhangsan]]></Owner>
   <AddUserList><![CDATA[zhaoliu]]></AddUserList>
   <DelUserList><![CDATA[lisi|wangwu]]></DelUserList>
   <ChatId><![CDATA[235364212115767297]]></ChatId>
</Item>
参数 说明
FromUserName 操作成员UserID
CreateTime 消息创建时间(整型)
MsgType 消息类型,此时固定为:event
Event 事件类型,此时固定为:update_chat
Name 会话名称
Owner 会话所有者(管理员)
AddUserList 会话新增成员列表,成员间以竖线分隔,如:zhangsan|lisi
DelUserList 会话删除成员列表,成员间以竖线分隔,如:zhangsan|lisi
ChatId 会话id

退出会话

<Item>
   <FromUserName><![CDATA[fromUser]]></FromUserName>
   <CreateTime>1348831860</CreateTime>
   <MsgType><![CDATA[event]]></MsgType>
   <Event><![CDATA[quit_chat]]></Event>
   <ChatId><![CDATA[235364212115767297]]></ChatId>
</Item>
参数 说明
FromUserName 操作成员UserID
CreateTime 消息创建时间(整型)
MsgType 消息类型,此时固定为:event
Event 事件类型,此时固定为:quit_chat
ChatId 会话id



接收消息

text消息

<Item>
   <FromUserName><![CDATA[fromUser]]></FromUserName>
   <CreateTime>1348831860</CreateTime>
   <MsgType><![CDATA[text]]></MsgType>
   <Content><![CDATA[this is a test]]></Content>
   <MsgId>1234567890123456</MsgId>
   <Receiver>
       <Type>single</Type>
       <Id>lisi</Id>
   </Receiver>
</Item>
参数 说明
FromUserName 成员UserID
CreateTime 消息创建时间(整型)
MsgType 消息类型,此时固定为:text
Content 消息内容,支持表情(下载微信表情转换表
MsgId 消息id,64位整型
Receiver 接收人
Type 接收人类型:single|group,分别表示:群聊|单聊
Id 接收人的值,为userid|chatid,分别表示:成员id|会话id

image消息

<Item>
   <FromUserName><![CDATA[fromUser]]></FromUserName>
   <CreateTime>1348831860</CreateTime>
   <MsgType><![CDATA[image]]></MsgType>
   <PicUrl><![CDATA[this is a url]]></PicUrl>
   <MediaId><![CDATA[media_id]]></MediaId>
   <MsgId>1234567890123456</MsgId>
   <Receiver>
       <Type>single</Type>
       <Id>lisi</Id>
   </Receiver>
</Item>
参数 说明
FromUserName 成员UserID
CreateTime 消息创建时间(整型)
MsgType 消息类型,此时固定为:image
PicUrl 图片链接
MediaId 图片media_id,可以调用获取素材文件接口拉取数据
MsgId 消息id,64位整型
Receiver 接收人
Type 接收人类型:single|group,分别表示:群聊|单聊
Id 接收人的值,为userid|chatid,分别表示:成员id|会话id



voice消息

<Item>
   <FromUserName><![CDATA[fromUser]]></FromUserName>
   <CreateTime>1348831860</CreateTime>
   <MsgType><![CDATA[voice]]></MsgType>
   <MediaId><![CDATA[media_id]]></MediaId>
   <MsgId>1234567890123456</MsgId>
   <Receiver>
       <Type>single</Type>
       <Id>lisi</Id>
   </Receiver>
</Item>
参数 说明
FromUserName 成员UserID
CreateTime 消息创建时间(整型)
MsgType 消息类型,此时固定为:voice
MediaId 语音media_id,可以调用获取素材文件接口拉取数据
MsgId 消息id,64位整型
Receiver 接收人
Type 接收人类型:single|group,分别表示:群聊|单聊
Id 接收人的值,为userid|chatid,分别表示:用户id|会话id



file消息

<Item>
   <FromUserName><![CDATA[fromUser]]></FromUserName>
   <CreateTime>1348831860</CreateTime>
   <MsgType><![CDATA[file]]></MsgType>
   <MediaId><![CDATA[media_id]]></MediaId>
   <MsgId>1234567890123456</MsgId>
   <Receiver>
       <Type>single</Type>
       <Id>lisi</Id>
   </Receiver>
</Item>
参数 说明
FromUserName 成员UserID
CreateTime 消息创建时间(整型)
MsgType 消息类型,此时固定为:file
MediaId 文件media_id,可以调用获取素材文件接口拉取数据
MsgId 消息id,64位整型
Receiver 接收人
Type 接收人类型:single|group,分别表示:群聊|单聊
Id 接收人的值,为userid|chatid,分别表示:用户id|会话id



link消息

<Item>
   <FromUserName><![CDATA[fromUser]]></FromUserName>
   <CreateTime>1348831860</CreateTime>
   <MsgType><![CDATA[link]]></MsgType>
   <Title><![CDATA[TITLE]]></Title>
   <Description><![CDATA[DESCRIPTION]]></Description>
   <Url><![CDATA[URL]]></Url>
   <PicUrl><![CDATA[PIC_URL]]></PicUrl>
   <MsgId>1234567890123456</MsgId>
   <Receiver>
       <Type>single</Type>
       <Id>lisi</Id>
   </Receiver>
</Item>
参数 说明
FromUserName 成员UserID
CreateTime 消息创建时间(整型)
MsgType 消息类型,此时固定为:link
Title 标题
Description 描述
Url 链接
PicUrl 图片链接
MsgId 消息id,64位整型
Receiver 接收人
Type 接收人类型:single|group,分别表示:群聊|单聊
Id 接收人的值,为userid|chatid,分别表示:用户id|会话id



location消息

<Item>
   <FromUserName><![CDATA[fromUser]]></FromUserName>
   <CreateTime>1348831860</CreateTime>
   <MsgType><![CDATA[location]]></MsgType>
   <Location_X>23.134521</Location_X>
   <Location_Y>113.358803</Location_Y>
   <Scale>20</Scale>
   <Label><![CDATA[位置信息]]></Label>
   <MsgId>1234567890123456</MsgId>
   <Receiver>
       <Type>single</Type>
       <Id>lisi</Id>
   </Receiver>
</Item>
参数 说明
FromUserName 成员UserID
CreateTime 消息创建时间(整型)
MsgType 消息类型,此时固定为:location
Location_X 地理位置纬度
Location_Y 地理位置经度
Scale 地图缩放大小
Label 地理位置信息
MsgId 消息id,64位整型
Receiver 接收人
Type 接收人类型:single|group,分别表示:群聊|单聊
Id 接收人的值,为userid|chatid,分别表示:用户id|会话id



服务事件

<Item>
   <FromUserName><![CDATA[UserID]]></FromUserName>
   <CreateTime>1348831860</CreateTime>
   <MsgType><![CDATA[event]]></MsgType>
   <Event><![CDATA[subscribe]]></Event>
</Item>
参数 说明
FromUserName 成员UserID
CreateTime 消息创建时间(整型)
MsgType 消息类型,此时固定为:event
Event 事件类型,subscribe(订阅)、unsubscribe(取消订阅)