linux环境 SDK:
下载 SDK v1.2 [更新时间:2020-11-16 更新特性:更新sdk示例项目]
下载 SDK v1.1 [更新时间:2020-04-01 更新特性:支持并发调用]
下载 SDK v1.0
windows环境 SDK:
下载 SDK v1.1[更新时间:2020-12-23 更新特性:支持并发调用、更新sdk示例项目]
下载 SDK v1.0

/** * 拉取聊天记录函数 * Return值=0表示该API调用成功 * * * @param [in] sdk NewSdk返回的sdk指针 * @param [in] seq 从指定的seq开始拉取消息,注意的是返回的消息从seq+1开始返回,seq为之前接口返回的最大seq值。首次使用请使用seq:0 * @param [in] limit 一次拉取的消息条数,最大值1000条,超过1000条会返回错误 * @param [in] proxy 使用代理的请求,需要传入代理的链接。如:socks5://10.0.0.1:8081 或者 http://10.0.0.1:8081 * @param [in] passwd 代理账号密码,需要传入代理的账号密码。如 user_name:passwd_123 * @param [in] timeout 超时时间,单位秒 * @param [out] chatDatas 返回本次拉取消息的数据,slice结构体.内容包括errcode/errmsg,以及每条消息内容。示例如下: {"errcode":0,"errmsg":"ok","chatdata":[{"seq":196,"msgid":"CAQQ2fbb4QUY0On2rYSAgAMgip/yzgs=","publickey_ver":3,"encrypt_random_key":"ftJ+uz3n/z1DsxlkwxNgE+mL38H42/KCvN8T60gbbtPD+Rta1hKTuQPzUzO6Hzne97MgKs7FfdDxDck/v8cDT6gUVjA2tZ/M7euSD0L66opJ/IUeBtpAtvgVSD5qhlaQjvfKJc/zPMGNK2xCLFYqwmQBZXbNT7uA69Fflm512nZKW/piK2RKdYJhRyvQnA1ISxK097sp9WlEgDg250fM5tgwMjujdzr7ehK6gtVBUFldNSJS7ndtIf6aSBfaLktZgwHZ57ONewWq8GJe7WwQf1hwcDbCh7YMG8nsweEwhDfUz+u8rz9an+0lgrYMZFRHnmzjgmLwrR7B/32Qxqd79A==","encrypt_chat_msg":"898WSfGMnIeytTsea7Rc0WsOocs0bIAerF6de0v2cFwqo9uOxrW9wYe5rCjCHHH5bDrNvLxBE/xOoFfcwOTYX0HQxTJaH0ES9OHDZ61p8gcbfGdJKnq2UU4tAEgGb8H+Q9n8syRXIjaI3KuVCqGIi4QGHFmxWenPFfjF/vRuPd0EpzUNwmqfUxLBWLpGhv+dLnqiEOBW41Zdc0OO0St6E+JeIeHlRZAR+E13Isv9eS09xNbF0qQXWIyNUi+ucLr5VuZnPGXBrSfvwX8f0QebTwpy1tT2zvQiMM2MBugKH6NuMzzuvEsXeD+6+3VRqL"}]} * * @return 返回是否调用成功 * 0 - 成功 * !=0 - 失败 */ int GetChatData(WeWorkFinanceSdk_t* sdk, unsigned long long seq, unsigned int limit, const char *proxy,const char* passwd,int timeout,Slice_t* chatDatas);| 参数 | 是否必须 | 说明 |
|---|---|---|
| sdk | 是 | 初始化的sdk对象 |
| seq | 是 | 本次请求获取消息记录开始的seq值。首次访问填写0,非首次使用上次企业微信返回的最大seq。允许从任意seq重入拉取。Uint64类型,范围0-pow(2,64)-1 |
| limit | 是 | 一次调用限制的limit值,不能超过1000.uint32类型 |
| proxy | 否 | 使用代理的请求,需要传入代理的链接。如:socks5://10.0.0.1:8081 或者 http://10.0.0.1:8081.如不使用代理可以设置为空. 支持sock5跟http代理 |
| paswd | 否 | 代理账号密码,需要传入代理的账号密码。如 user_name:passwd_123 |
| timeout | 是 | 超时时长,单位 秒 |
| chatDatas | 是 | 返回本次拉取消息的数据.密文消息 |
{"errcode":0,"errmsg":"ok","chatdata":[{"seq":196,"msgid":"CAQQ2fbb4QUY0On2rYSAgAMgip/yzgs=","publickey_ver":3,"encrypt_random_key":"ftJ+uz3n/z1DsxlkwxNgE+mL38H42/KCvN8T60gbbtPD+Rta1hKTuQPzUzO6Hzne97MgKs7FfdDxDck/v8cDT6gUVjA2tZ/M7euSD0L66opJ/IUeBtpAtvgVSD5qhlaQjvfKJc/zPMGNK2xCLFYqwmQBZXbNT7uA69Fflm512nZKW/piK2RKdYJhRyvQnA1ISxK097sp9WlEgDg250fM5tgwMjujdzr7ehK6gtVBUFldNSJS7ndtIf6aSBfaLktZgwHZ57ONewWq8GJe7WwQf1hwcDbCh7YMG8nsweEwhDfUz+u8rz9an+0lgrYMZFRHnmzjgmLwrR7B/32Qxqd79A==","encrypt_chat_msg":"898WSfGMnIeytTsea7Rc0WsOocs0bIAerF6de0v2cFwqo9uOxrW9wYe5rCjCHHH5bDrNvLxBE/xOoFfcwOTYX0HQxTJaH0ES9OHDZ61p8gcbfGdJKnq2UU4tAEgGb8H+Q9n8syRXIjaI3KuVCqGIi4QGHFmxWenPFfjF/vRuPd0EpzUNwmqfUxLBWLpGhv+dLnqiEOBW41Zdc0OO0St6E+JeIeHlRZAR+E13Isv9eS09xNbF0qQXWIyNUi+ucLr5VuZnPGXBrSfvwX8f0QebTwpy1tT2zvQiMM2MBugKH6NuMzzuvEsXeD+6+3VRqL"}]}| 参数 | 说明 |
|---|---|
| errcode | 0表示成功,错误返回非0错误码,需要参看errmsg。Uint32类型 |
| errmsg | 返回信息,如非空为错误原因。String类型 |
| chatdata | 聊天记录数据内容。数组类型。包括seq、msgid等内容 |
| seq | 消息的seq值,标识消息的序号。再次拉取需要带上上次回包中最大的seq。Uint64类型,范围0-pow(2,64)-1 |
| msgid | 消息id,消息的唯一标识,企业可以使用此字段进行消息去重。String类型。msgid以_external结尾的消息,表明该消息是一条外部消息。 |
| publickey_ver | 加密此条消息使用的公钥版本号。Uint32类型 |
| encrypt_random_key | 使用publickey_ver指定版本的公钥进行非对称加密后base64加密的内容,需要业务方先base64 decode处理后,再使用指定版本的私钥进行解密,得出内容。String类型 |
| encrypt_chat_msg | 消息密文。需要业务方使用将encrypt_random_key解密得到的内容,与encrypt_chat_msg,传入sdk接口DecryptData,得到消息明文。String类型 |
| 参数 | 是否必须 | 说明 |
|---|---|---|
| encrypt_key | 是 | 企业私钥解密encrypt_random_key后的内容 |
| encrypt_msg | 是 | GetChatdata接口返回的加密消息encrypt_chat_msg |
| msg | 是 | 消息明文,json格式 |
{"msgid":"CAQQluDa4QUY0On2rYSAgAMgzPrShAE=","action":"send","from":"XuJinSheng","tolist":["icefog"],"roomid":"","msgtime":1547087894783,"msgtype":"text","text":{"content":"test"}}| 参数 | 说明 |
|---|---|
| msgid | 消息id,消息的唯一标识,企业可以使用此字段进行消息去重。String类型 |
| action | 消息动作,目前有send(发送消息)/recall(撤回消息)/switch(切换企业日志)三种类型。String类型 |
| from | 消息发送方id。同一企业内容为userid,非相同企业为external_userid。消息如果是机器人发出,也为external_userid。String类型 |
| tolist | 消息接收方列表,可能是多个,同一个企业内容为userid,非相同企业为external_userid。数组,内容为string类型 |
| roomid | 群聊消息的群id。如果是单聊则为空。String类型 |
| msgtime | 消息发送时间戳,utc时间,ms单位。 |
| msgtype | 文本消息为:text。String类型 |
| content | 消息内容。String类型 |
{"msgid":"CAQQluDa4QUY0On2rYSAgAMgzPrShAE=","action":"send","from":"XuJinSheng","tolist":["icefog"],"roomid":"","msgtime":1547087894783,"msgtype":"text","text":{"content":"这是一条引用/回复消息:\n"nick\n666"\n------\n@nick777"}}{"msgid":"CAQQvPnc4QUY0On2rYSAgAMgooLa0Q8=","action":"send","from":"XuJinSheng","tolist":["icefog"],"roomid":"","msgtime":0,"msgtype":"image","image":{"md5sum":"50de8e5ae8ffe4f1df7a93841f71993a","filesize":70961,"sdkfileid":"CtYBMzA2OTAyMDEwMjA0NjIzMDYwMDIwMTAwMDIwNGI3ZmU0MDZlMDIwMzBmNTliMTAyMDQ1YzliNTQ3NzAyMDQ1YzM3M2NiYzA0MjQ2NjM0MzgzNTM0NjEzNTY1MmQzNDYxMzQzODJkMzQzMTYxNjEyZDM5NjEzOTM2MmQ2MTM2NjQ2NDY0NjUzMDY2NjE2NjM1MzcwMjAxMDAwMjAzMDExNTQwMDQxMDUwZGU4ZTVhZThmZmU0ZjFkZjdhOTM4NDFmNzE5OTNhMDIwMTAyMDIwMTAwMDQwMBI4TkRkZk1UWTRPRGcxTVRBek1ETXlORFF6TWw4eE9UUTVOamN6TkRZMlh6RTFORGN4TWpNNU1ERT0aIGEwNGQwYWUyM2JlYzQ3NzQ5MjZhNWZjMjk0ZTEyNTkz"}}| 参数 | 说明 |
|---|---|
| msgtype | 图片消息为:image。String类型 |
| sdkfileid | 媒体资源的id信息。String类型 |
| md5sum | 图片资源的md5值,供进行校验。String类型 |
| filesize | 图片资源的文件大小。Uint32类型 |
{"msgid":"15775510700152506326_1603875615","action":"recall","from":"kenshin","tolist":["wmUu0zBgAALV7ZymkcMyxvbTe8YdWxxA"],"roomid":"","msgtime":1603875615723,"msgtype":"revoke","revoke":{"pre_msgid":"14822339130656386894_1603875600"}}| 参数 | 说明 |
|---|---|
| msgtype | 撤回消息为:revoke。String类型 |
| pre_msgid | 标识撤回的原消息的msgid。String类型 |

{"msgid":"17972321270926900092_1603875944","action":"send","from":"wmErxtDgAA9AW32YyyuYRimKr7D1KWlw","tolist":["kenshin"],"roomid":"","msgtime":1603875944122,"msgtype":"disagree","disagree":{"userid":"wmErxtDgAA9AW32YyyuYRimKr7D1KWlw","disagree_time":1603875944122}}{"msgid":"8891446340739254950_1603875826","action":"send","from":"wmGAgeDQAAvQeaTqWwkMTxGMkvI7OOuQ","tolist":["kenshin"],"roomid":"","msgtime":1603875826656,"msgtype":"agree","agree":{"userid":"wmGAgeDQAAvQeaTqWwkMTxGMkvI7OOuQ","agree_time":1603875826656}}| 参数 | 说明 |
|---|---|
| msgtype | 同意消息为:agree,不同意消息为:disagree。String类型 |
| userid | 同意/不同意协议者的userid,外部企业默认为external_userid。String类型 |
| agree_time | 同意/不同意协议的时间,utc时间,ms单位。 |

{"msgid":"10958372969718811103_1603875609","action":"send","from":"wmGAgeDQAAdBjb8CK4ieMPRm7Cqm-9VA","tolist":["kenshin"],"roomid":"","msgtime":1603875609704,"msgtype":"voice","voice":{"md5sum":"9db09c7fa627c9e53f17736c786a74d5","voice_size":6810,"play_length":10,"sdkfileid":"kcyZjZqOXhETGYxajB2Zkp5Rk8zYzh4RVF3ZzZGdXlXNWRjMUoxVGZxbzFTTDJnQ2YxL0NraVcxUUJNK3VUamhEVGxtNklCbjZmMEEwSGRwN0h2cU1GQTU1MDRSMWdTSmN3b25ZMkFOeG5hMS90Y3hTQ0VXRlVxYkR0Ymt5c3JmV2VVcGt6UlNXR1ZuTFRWVGtudXVldDRjQ3hscDBrMmNhMFFXVnAwT3Y5NGVqVGpOcWNQV2wrbUJwV01TRm9xWmNDRVVrcFY5Nk9OUS9GbXIvSmZvOVVZZjYxUXBkWnMvUENkVFQxTHc2N0drb2pJT0FLZnhVekRKZ1FSNDU3ZnZtdmYvTzZDOG9DRXl2SUNIOHc9PRI0TkRkZk56ZzRNVE13TVRjMk5qQTRNak0yTmw4ek5qRTVOalExTjE4eE5qQXpPRGMxTmpBNRogNzM3MDY2NmM2YTc5Njg3NDdhNzU3NDY0NzY3NTY4NjY="}}| 参数 | 说明 |
|---|---|
| msgtype | 语音消息为:voice。String类型 |
| voice_size | 语音消息大小。Uint32类型 |
| play_length | 播放长度。Uint32类型 |
| sdkfileid | 媒体资源的id信息。String类型 |
| md5sum | 资源的md5值,供进行校验。String类型 |
{"msgid":"17955920891003447432_1603875627","action":"send","from":"kenshin","tolist":["wmGAgeDQAAHuRJbt4ZQI_1cqoQcf41WQ"],"roomid":"","msgtime":1603875626823,"msgtype":"video","video":{"md5sum":"d06fc80c01d6fbffcca3b229ba41eac6","filesize":15169724,"play_length":108,"sdkfileid":"MzAzMjYxMzAzNTYzMzgzMjMyMzQwMjAxMDAwMjA0MDBlNzc4YzAwNDEwZDA2ZmM4MGMwMWQ2ZmJmZmNjYTNiMjI5YmE0MWVhYzYwMjAxMDQwMjAxMDAwNDAwEjhORGRmTVRZNE9EZzFNREEyTlRjM056QXpORjgxTWpZeE9USTBOek5mTVRZd016ZzNOVFl5Tnc9PRogNTIzNGQ1NTQ5N2RhNDM1ZDhlZTU5ODk4NDQ4NzRhNDk="}}| 参数 | 说明 |
|---|---|
| msgtype | 视频消息为:video。String类型 |
| sdkfileid | 媒体资源的id信息。String类型 |
| md5sum | 资源的md5值,供进行校验。String类型 |
| filesize | 资源的文件大小。Uint32类型 |
| play_length | 视频播放长度。Uint32类型 |
{"msgid":"13714216591700685558_1603875680","action":"send","from":"kenshin","tolist":["wmGAgeDQAAy2Dtr0F8aK4dTuatfm-5Rg"],"roomid":"","msgtime":1603875680377,"msgtype":"card","card":{"corpname":"微信联系人","userid":"wmGAgeDQAAGjFmfnP7A3j2JxQDdLNhSw"}}| 参数 | 说明 |
|---|---|
| msgtype | 名片消息为:card。String类型 |
| corpname | 名片所有者所在的公司名称。String类型 |
| userid | 名片所有者的id,同一公司是userid,不同公司是external_userid。String类型 |

{"msgid":"2641513858500683770_1603876152","action":"send","from":"icefog","tolist":["wmN6etBgAA0sbJ3invMvRxPQDFoq9uWA"],"roomid":"","msgtime":1603876152141,"msgtype":"location","location":{"longitude":116.586285899,"latitude":39.911125799,"address":"北京市xxx区xxx路xxx大厦x座","title":"xxx管理中心","zoom":15}}| 参数 | 说明 |
|---|---|
| msgtype | 位置消息为:location。String类型 |
| longitude | 经度,单位double |
| latitude | 纬度,单位double |
| address | 地址信息。String类型 |
| title | 位置信息的title。String类型 |
| zoom | 缩放比例。Uint32类型 |

{"msgid":"6623217619416669654_1603875612","action":"send","from":"icef","tolist":["wmErxtDgAAhteCglUZH2kUt3rq431qmg"],"roomid":"","msgtime":1603875611148,"msgtype":"emotion","emotion":{"type":1,"width":290,"height":290,"imagesize":962604,"md5sum":"94c2b0bba52cc456cb8221b248096612","sdkfileid":"4eE1ESTVNalE1TnprMFh6RTJNRE00TnpVMk1UST0aIDc0NzI2NjY1NzE3NTc0Nzg2ZDZlNzg2YTY5NjY2MTYx"}}| 参数 | 说明 |
|---|---|
| msgtype | 表情消息为:emotion。String类型 |
| type | 表情类型,png或者gif.1表示gif 2表示png。Uint32类型 |
| width | 表情图片宽度。Uint32类型 |
| height | 表情图片高度。Uint32类型 |
| sdkfileid | 媒体资源的id信息。String类型 |
| md5sum | 资源的md5值,供进行校验。String类型 |
| imagesize | 资源的文件大小。Uint32类型 |

{"msgid":"18039699423706571225_1603875608","action":"send","from":"kens","tolist":["wmErxtDgAArDlFIhf76O6w4GxU81al8w"],"roomid":"","msgtime":1603875608214,"msgtype":"file","file":{"md5sum":"18e93fc2ea884df23b3d2d3b8667b9f0","filename":"资料.docx","fileext":"docx","filesize":18181,"sdkfileid":"E4ODRkZjIzYjNkMmQzYjg2NjdiOWYwMDIwMTA1MDIwMTAwMDQwMBI4TkRkZk1UWTRPRGcxTURrek9UZzBPVEF6TTE4eE1EUXpOVGcxTlRVNVh6RTJNRE00TnpVMk1EZz0aIDMwMzkzMzY0NjEzNjM3NjY2NDY1NjMzNjYxMzIzNzYx"}}| 参数 | 说明 |
|---|---|
| msgtype | 文件消息为:file。String类型 |
| sdkfileid | 媒体资源的id信息。String类型 |
| md5sum | 资源的md5值,供进行校验。String类型 |
| filename | 文件名称。String类型 |
| fileext | 文件类型后缀。String类型 |
| filesize | 文件大小。Uint32类型 |
{"msgid":"11788441727514772650_1603875624","action":"send","from":"kenshin","tolist":["0000726"],"roomid":"","msgtime":1603875624476,"msgtype":"link","link":{"title":"邀请你加入群聊","description":"技术支持群,进入可查看详情","link_url":"https://work.weixin.qq.com/wework_admin/external_room/join/exceed?vcode=xxx","image_url":"https://wework.qpic.cn/wwpic/xxx/0"}}| 参数 | 说明 |
|---|---|
| msgtype | 链接消息为:link。String类型 |
| title | 消息标题。String类型 |
| description | 消息描述。String类型 |
| link_url | 链接url地址。String类型 |
| image_url | 链接图片url。String类型 |
{"msgid":"11930598857592605935_1603875608","action":"send","from":"kens","tolist":["wmGAgeDQAAsgQetTQGqRbMxrkodpM3fA"],"roomid":"","msgtime":1603875608691,"msgtype":"weapp","weapp":{"title":"开始聊天前请仔细阅读服务须知事项","description":"客户需同意存档聊天记录","username":"xxx@app","displayname":"服务须知"}}| 参数 | 说明 |
|---|---|
| msgtype | 消息为:weapp。String类型 |
| title | 消息标题。String类型 |
| description | 消息描述。String类型 |
| username | 用户名称。String类型 |
| displayname | 小程序名称。String类型 |

{"msgid":"11354299838102555191_1603875658","action":"send","from":"ken","tolist":["icef"],"roomid":"","msgtime":1603875657905,"msgtype":"chatrecord","chatrecord":{"title":"群聊","item":[{"type":"ChatRecordText","msgtime":1603875610,"content":"{\"content\":\"test\"}","from_chatroom":false},{"type":"ChatRecordText","msgtime":1603875620,"content":"{\"content\":\"test2\"}","from_chatroom":false}]}}| 参数 | 说明 |
|---|---|
| msgtype | 消息为:chatrecord。String类型 |
| title | 聊天记录标题。String类型 |
| item | 消息记录内的消息内容,批量数据 |

"item":[{"type":"ChatRecordText","msgtime":1603875610,"content":"{\"content\":\"test\"}","from_chatroom":false},{"type":"ChatRecordText","msgtime":1603875620,"content":"{\"content\":\"test2\"}","from_chatroom":false}]| 参数 | 说明 |
|---|---|
| type | 每条聊天记录的具体消息类型:ChatRecordText/ ChatRecordFile/ ChatRecordImage/ ChatRecordVideo/ ChatRecordLink/ ChatRecordLocation/ ChatRecordMixed …. |
| msgtime | 消息时间,utc时间,单位秒。 |
| content | 消息内容。Json串,内容为对应类型的json。String类型 |
| from_chatroom | 是否来自群会话。Bool类型 |
| 参数 | 说明 |
|---|---|
| msgtype | todo。String类型 |
| title | 待办的来源文本。String类型 |
| content | 待办的具体内容。String类型 |
| 参数 | 说明 |
|---|---|
| msgtype | vote。String类型 |
| votetitle | 投票主题。String类型 |
| voteitem | 投票选项,可能多个内容。String数组 |
| votetype | 投票类型.101发起投票、102参与投票。Uint32类型 |
| voteid | 投票id,方便将参与投票消息与发起投票消息进行前后对照。String类型 |
{"msgid":"2500536226619379797_1576034482","action":"send","from":"nick","tolist":["XuJinSheng","15108264797"],"roomid":"wrjc7bDwYAOAhf9quEwRRxyyoMm0QAAA","msgtime":1576034482344,"msgtype":"collect","collect":{"room_name":"这是一个群","creator":"nick","create_time":"2019-12-11 11:21:22","title":"这是填表title","details":[{"id":1,"ques":"表项1,文本","type":"Text"},{"id":2,"ques":"表项2,数字","type":"Number"},{"id":3,"ques":"表项3,日期","type":"Date"},{"id":4,"ques":"表项4,时间","type":"Time"}]}}| 参数 | 说明 |
|---|---|
| msgtype | collect。String类型 |
| room_name | 填表消息所在的群名称。String类型 |
| creator | 创建者在群中的名字。String类型 |
| create_time | 创建的时间。String类型 |
| title | 表名。String类型 |
| details | 表内容。json数组类型 |
| id | 表项id。Uint64类型 |
| ques | 表项名称。String类型 |
| type | 表项类型,有Text(文本),Number(数字),Date(日期),Time(时间)。String类型 |
{"msgid":"333590477316965370_1603877439","action":"send","from":"kens","tolist":["1000000444696"],"roomid":"","msgtime":1603877439038,"msgtype":"redpacket","redpacket":{"type":1,"wish":"恭喜发财,大吉大利","totalcnt":1,"totalamount":3000}}| 参数 | 说明 |
|---|---|
| msgtype | redpacket。String类型 |
| type | 红包消息类型。1 普通红包、2 拼手气群红包、3 激励群红包。Uint32类型 |
| wish | 红包祝福语。String类型 |
| totalcnt | 红包总个数。Uint32类型 |
| totalamount | 红包总金额。Uint32类型,单位为分。 |
{"msgid":"5935786683775673543_1603877328","action":"send","from":"ken","tolist":["icef","test"],"roomid":"wr2vOpDgAAN4zVWKbS","msgtime":1603877328914,"msgtype":"meeting","meeting":{"topic":"夕会","starttime":1603877400,"endtime":1603881000,"address":"","remarks":"","meetingtype":102,"meetingid":1210342560,"status":1}}| 参数 | 说明 |
|---|---|
| msgtype | meeting。String类型 |
| topic | 会议主题。String类型 |
| starttime | 会议开始时间。Utc时间 |
| endtime | 会议结束时间。Utc时间 |
| address | 会议地址。String类型 |
| remarks | 会议备注。String类型 |
| meetingtype | 会议消息类型。101发起会议邀请消息、102处理会议邀请消息。Uint32类型 |
| meetingid | 会议id。方便将发起、处理消息进行对照。uint64类型 |
| status | 会议邀请处理状态。1 参加会议、2 拒绝会议、3 待定、4 未被邀请、5 会议已取消、6 会议已过期、7 不在房间内。Uint32类型。只有meetingtype为102的时候此字段才有内容。 |
{"msgid":"125289002219525886280","action":"switch","time":1554119421840,"user":"XuJinSheng"}| 参数 | 说明 |
|---|---|
| msgid | 消息id,消息的唯一标识,企业可以使用此字段进行消息去重。String类型 |
| action | 消息动作,切换企业为switch。String类型 |
| time | 消息发送时间戳,utc时间,ms单位。 |
| user | 具体为切换企业的成员的userid。String类型 |
{"msgid":"9732089160923053207_1603877765","action":"send","from":"ken","tolist":["icef","test"],"roomid":"wrJawBCQAAStr3jxVxEH","msgtime":1603877765291,"msgtype":"docmsg","doc":{"title":"测试&演示客户","doc_creator":"test","link_url":"https://doc.weixin.qq.com/txdoc/excel?docid=xxx"}}| 参数 | 说明 |
|---|---|
| msgtype | docmsg。String类型, 标识在线文档消息类型 |
| title | 在线文档名称 |
| link_url | 在线文档链接 |
| doc_creator | 在线文档创建者。本企业成员创建为userid;外部企业成员创建为external_userid |

{"msgid":"7546287934688259248_1603875715","action":"send","from":"ken","tolist":["icef","test"],"roomid":"wr0SfLCgAAgCaCPeM33UNe","msgtime":1603875715782,"msgtype":"markdown","info":{"content":"请前往系统查看,谢谢。"}}| 参数 | 说明 |
|---|---|
| msgtype | markdown。String类型, 标识MarkDown消息类型 |
| info | markdown消息内容,目前为机器人发出的消息 |
{"msgid":"118732825779547782215","action":"send","from":"kens","tolist":["icef","test"],"roomid":"wrErxtDgAA0jgXE5","msgtime":1603876045165,"msgtype":"news","info":{"item":[{"title":"service ","description":"test","url":"http://xxx","picurl":"https://www.qq.com/xxx.jpg"}]}}| 参数 | 说明 |
|---|---|
| msgtype | news。String类型, 标识图文消息类型 |
| info | 图文消息的内容 |
| item | 图文消息数组,每个item结构包含title、description、url、picurl等结构 |
| title | 图文消息标题。String类型 |
| description | 图文消息描述。String类型 |
| url | 图文消息点击跳转地址。String类型 |
| picurl | 图文消息配图的url。String类型 |
{"msgid":"2345881211604379705_1603877680","action":"send","from":"ken","tolist":["icef","test"],"roomid":"wr2LO0CAAAFrTZCGWWAxBA","msgtime":1603877680795,"msgtype":"calendar","calendar":{"title":"xxx业绩复盘会","creatorname":"test","attendeename":["aaa","bbb"],"starttime":1603882800,"endtime":1603886400,"place":"","remarks":""}}| 参数 | 说明 |
|---|---|
| msgtype | calendar。String类型, 标识日程消息类型 |
| title | 日程主题。String类型 |
| creatorname | 日程组织者。String类型 |
| attendeename | 日程参与人。数组,内容为String类型 |
| starttime | 日程开始时间。Utc时间,单位秒 |
| endtime | 日程结束时间。Utc时间,单位秒 |
| place | 日程地点。String类型 |
| remarks | 日程备注。String类型 |

{"msgid":"DAQQluDa4QUY0On4kYSABAMgzPrShAE=","action":"send","from":"HeMiao","tolist":["HeChangTian","LiuZeYu"],"roomid":"wr_tZ2BwAAUwHpYMwy9cIWqnlU3Hzqfg","msgtime":1577414359072,"msgtype":"mixed","mixed":{"item":[{"type":"text","content":"{\"content\":\"你好[微笑]\\n\"}"},{"type":"image","content":"{\"md5sum\":\"368b6c18c82e6441bfd89b343e9d2429\",\"filesize\":13177,\"sdkfileid\":\"CtYBMzA2OTAyMDEwMjA0NjIzMDYwMDIwMTAwMDWwNDVmYWY4Y2Q3MDIwMzBmNTliMTAyMDQwYzljNTQ3NzAyMDQ1ZTA1NmFlMjA0MjQ2NjM0NjIzNjY2MzYzNTMyMmQzNzYxMzQ2NDJkMzQ2MjYxNjQyZDM4MzMzMzM4MmQ3MTYyMzczMTM4NjM2NDYxMzczMjY2MzkwMjAxMDAwMjAzMDIwMDEwMDQxMDM2OGI2YzE4YzgyZTY0NDFiZmQ4OWIyNDNlOWQyNDI4MDIwMTAyMDIwMTAwMDQwMBI4TkRkZk2UWTRPRGcxTVRneE5URTFNRGc1TVY4eE1UTTFOak0yTURVeFh6RTFOemMwTVRNek5EYz0aIDQzMTY5NDFlM2MxZDRmZjhhMjEwY2M0NDQzZGUXOTEy\"}"}]}}| 参数 | 说明 |
|---|---|
| msgid | 消息id,消息的唯一标识,企业可以使用此字段进行消息去重。String类型 |
| action | 消息动作,目前有send(发送消息)/recall(撤回消息)/switch(切换企业日志)三种类型。String类型 |
| from | 消息发送方id。同一企业内容为userid,非相同企业为external_userid。消息如果是机器人发出,也为external_userid。String类型 |
| tolist | 消息接收方列表,可能是多个,同一个企业内容为userid,非相同企业为external_userid。数组,内容为string类型 |
| roomid | 群聊消息的群id。如果是单聊则为空。String类型 |
| msgtime | 消息发送时间戳,utc时间,ms单位。 |
| msgtype | mixed。String类型, 标识混合消息类型 |
| mixed | 消息内容。可包含图片、文字、表情等多种消息。Object类型 |

{"msgid":"17952229780246929345_1594197637","action":"send","from":"wo137MCgAAYW6pIiKKrDe5SlzEhSgwbA","tolist":["wo137MCgAAYW6pIiKKrDe5SlzEhSgwbA"],"msgtime":1594197581203,"msgtype":"meeting_voice_call","voiceid":"grb8a4c48a3c094a70982c518d55e40557","meeting_voice_call":{"endtime":1594197635,"sdkfileid":"CpsBKjAqd0xhb2JWRUJldGtwcE5DVTB6UjRUalN6c09vTjVyRnF4YVJ5M24rZC9YcHF3cHRPVzRwUUlaMy9iTytFcnc0SlBkZDU1YjRNb0MzbTZtRnViOXV5WjUwZUIwKzhjbU9uRUlxZ3pyK2VXSVhUWVN2ejAyWFJaTldGSkRJVFl0aUhkcVdjbDJ1L2RPbjJsRlBOamJaVDNnPT0SOE5EZGZNVFk0T0RnMU16YzVNVGt5T1RJMk9GOHhNalk0TXpBeE9EZzJYekUxT1RReE9UYzJNemM9GiA3YTYyNzA3NTY4Nzc2MTY3NzQ2MTY0NzA2ZTc4NjQ2OQ==","demofiledata":[{"filename":"65eb1cdd3e7a3c1740ecd74220b6c627.docx","demooperator":"wo137MCgAAYW6pIiKKrDe5SlzEhSgwbA","starttime":1594197599,"endtime":1594197609}],"sharescreendata":[{"share":"wo137MCgAAYW6pIiKKrDe5SlzEhSgwbA","starttime":1594197624,"endtime":1594197624}]}}| 参数 | 说明 |
|---|---|
| msgid | 消息id,消息的唯一标识,企业可以使用此字段进行消息去重。String类型 |
| action | 消息动作,目前有send(发送消息)/recall(撤回消息)/switch(切换企业日志)三种类型。String类型 |
| from | 消息发送方id。同一企业内容为userid,非相同企业为external_userid。消息如果是机器人发出,也为external_userid。String类型 |
| tolist | 消息接收方列表,可能是多个,同一个企业内容为userid,非相同企业为external_userid。数组,内容为string类型 |
| msgtime | 消息发送时间戳,utc时间,单位毫秒。 |
| msgtype | meeting_voice_call。String类型, 标识音频存档消息类型 |
| voiceid | String类型, 音频id |
| meeting_voice_call | 音频消息内容。包括结束时间、fileid,可能包括多个demofiledata、sharescreendata消息,demofiledata表示文档共享信息,sharescreendata表示屏幕共享信息。Object类型 |
| endtime | 音频结束时间。uint32类型 |
| sdkfileid | sdkfileid。音频媒体下载的id。String类型 |
| demofiledata | 文档分享对象,Object类型 |
| filename | 文档共享名称。String类型 |
| demooperator | 文档共享操作用户的id。String类型 |
| starttime | 文档共享开始时间。Uint32类型 |
| endtime | 文档共享结束时间。Uint32类型 |
| sharescreendata | 屏幕共享对象,Object类型 |
| share |