目录
企业微信会话存档功能面向第三方服务商,不提供“部门名”、“姓名”、“别名”、“群名”等以及消息的具体内容。代替以“部门ID”、“userID”、“群聊ID”和“消息ID”。
服务商侧需要提供“会话内容导出”的功能给到用户时,其导出的文件中会含有“部门名”、“姓名”、“别名”、“群名”以及消息的具体内容,此时需要通过接口提交导出任务,在导出的文件中由企业微信进行转译,转译成正确的内容之后展示给用户。
企业用户在会话展示组件中通过点击会话内容导出,发起导出操作,获取导出结果文件流程如图示。
在文件中需要替换的位置构造转译模版,其中通讯录相关的ID转译参考通讯录ID转译概述,群聊名称和消息内容的转译模版如下:
$chatName=CHATID$
$msgContent=MSGID/SECRET-KEY$
其中 CHATID是群聊ID,MSGID是消息ID,SECRET-KEY是获取会话记录接口返回的这条消息对应的 encrypted_secretkey 字段进行解密得到,参考 encrypt_secretkey 解密方式。
譬如,
将$chatName=xxxxx$
替换成群聊ID为xxxxx
对应的群聊名称;
将$msgContent=xxxxx/yyyyyy$
替换成消息ID为xxxxx
对应的消息内容,其中获取会话记录接口返回的这条消息对应的 encrypted_secretkey 字段进行解密得到的密钥为yyyyyy
;
若输入的模板不符合语法、不在权限范围内、消息ID对应的密钥不正确或无效的群聊ID或者消息ID,则不替换该项内容,保留原样
仅支持转译内部群的名称;
不包括单聊;
对于无名称的群聊,展示为未命名群聊
。
消息类型 | 对应转译结果 |
---|---|
文本消息 | 文本消息的内容 |
图片消息 | [图片] |
撤回消息 | 同会话展示组件展示的内容一致 |
同意会话聊天内容 | 同会话展示组件展示的内容一致 |
图文消息 | 图文消息所对应的链接 |
图文混排消息 | 文本的内容,涉及到图片的部分用[图片] 代替 |
链接消息 | 链接消息所对应的链接 |
其他 | 展示对应的消息类型名称,如[小程序] 、[红包] |
每企业每天会话导出次数不可超过1千次
可通过此接口,创建会话内容存档消息内容导出异步任务。
权限说明
使用会话展示组件传过来的code才可以调用,一个code只能创建一次任务
支持Word(doc/docx)、Excel(xls/xlsx)和Txt(txt)格式的文件
文件中需要被转译的消息ID不能超过10000条
转译后的文件大小不能超过64MB
应用类型 | 权限要求 |
---|---|
自建应用 | 暂不支持 |
代开发应用 | 暂不支持 |
第三方应用 | 暂不支持 |
会话存档接口授权 | 需具备「会话存档接口权限」 |
请求方式:POST(HTTPS)
请求地址:https://qyapi.weixin.qq.com/cgi-bin/chatdata/export/create_job?access_token=ACCESS_TOKEN
请求示例:
{
"code":"xxxxx",
"media_id":"xxxxx"
}
参数说明:
参数 | 必须 | 说明 |
---|---|---|
access_token | 是 | 调用接口凭证 |
code | 是 | 从会话展示组件获取的code,只能使用一次,有效时间为五分钟 |
media_id | 是 | 导出内容的模板文件media_id,可以调用上传临时素材接口获取 必须是以 file 类型上传的文件支持Word(doc/docx)、Excel(xls/xlsx)和Txt(txt)格式的文件 |
返回结果
{
"errcode": 0,
"errmsg": "ok",
"jobid": "xxxxx"
}
返回字段说明:
字段名 | 说明 |
---|---|
errcode | 返回码 |
errmsg | 对返回码的文本描述内容 |
jobid | 所创建任务的任务id |
可通过此接口,获取消息内容导出任务的处理状态。
权限说明
使用创建会话内容导出任务接口获得的jobid调用
应用类型 | 权限要求 |
---|---|
自建应用 | 暂不支持 |
代开发应用 | 暂不支持 |
第三方应用 | 暂不支持 |
会话存档接口授权 | 需具备「会话存档接口权限」 |
请求方式:POST(HTTPS)
请求地址:https://qyapi.weixin.qq.com/cgi-bin/chatdata/export/get_job_status?access_token=ACCESS_TOKEN
请求示例:
{
"jobid":"xxxxx"
}
参数说明:
参数 | 必须 | 说明 |
---|---|---|
access_token | 是 | 调用接口凭证 |
jobid | 是 | 创建会话内容导出任务接口获得的任务id |
返回结果
{
"errcode": 0,
"errmsg": "ok",
"status": 3,
"result_id": "xxxx",
"result_errcode": 0,
"result_errmsg": "ok"
}
返回字段说明:
字段名 | 说明 |
---|---|
errcode | 返回码 |
errmsg | 对返回码的文本描述内容 |
status | 任务当前状态, 1、等待开始 2、进行中 3、已完成 |
result_id | 结果id,任务处于已完成状态,且任务返回码(非接口返回码)为0时返回,用于在会话展示组件中展示结果。该结果只可用会话展示组件的 ww-open-result-link 模板组件进行展示 |
result_errcode | 任务返回码,任务处于已完成状态时返回,表示任务的执行结果 |
result_errmsg | 任务返回信息,任务处于已完成状态时返回,对任务返回码的文本描述内容 |
当会话内容导出任务完成时,企业微信服务器会向「会话存档接口授权」配置的“指令回调URL”推送相应的事件消息。消息接收方式参见回调接口。
事件示例:
<xml>
<SuiteId><![CDATA[xxxx]]></SuiteId>
<AuthCorpId><![CDATA[yyyy]]></AuthCorpId>
<InfoType><![CDATA[chat_archive_export_finished]]></InfoType>
<JobId><![CDATA[zzzzzzz]]></JobId>
<TimeStamp>1403610513</TimeStamp>
</xml>
参数说明:
参数 | 说明 |
---|---|
SuiteId | 「会话存档接口授权」的应用ID |
AuthCorpId | 授权企业的CorpID |
InfoType | 事件类型,此时固定为chat_archive_export_finished |
JobId | 24小时内有效,用于调用获取会话内容导出任务结果,不超过64个字符 |
TimeStamp | 时间戳 |