接口说明
授权完成后需要调用接口上传公钥(RSA-2048)。注意:设置公钥之后,消息才开始存档。
权限说明
应用类型 | 权限要求 |
---|---|
代开发应用 | 需具备「数据与智能专区权限」 |
第三方应用 | 需具备「数据与智能专区权限」 |
开发者公钥:
开发者可为每个企业生成一个密钥对,其中开发者自己保存私钥,将公钥上传到企业微信。该公钥用于加密每条消息的密钥。开发者通过sync_msg接口获取消息后,用私钥解开encrypted_secret_key后即可使用展示组件来展示消息。
请求方式: POST(HTTPS)
请求地址: https://qyapi.weixin.qq.com/cgi-bin/chatdata/set_public_key?access_token=ACCESS_TOKEN
请求包体:
{
"public_key": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAt2JoW+P8uWG3ijm0fa4S\nVnnQ7fjcffaAoin3KEI6WykAz6+oNxFf+hSWX1cndPg8pMXZJGYhWMCXXgFLQXGv\naXSYEYxdCgbCDL2j0HmvzHEnLLgnY4jPYxoi7S9hQbJVB+nnci9U8wUD//s5YSiY\nAjDLMwwLlE29VPNp6GCw3oVRseKl3kKnlrifxUgJv3BVgCcgpDT5LMwrsAV2gYR1\nolyINpA9LgWesSjSQPydBtaI5CmHTB1Fm1Xcr3OEFmSCoi6hdqFJXclDCRyTJqHQ\n4U1RuCVK8ahfzqoapc53H3kWkOzplhcBxEV/S1voaxScKbX5TuYm4A97fS6ok+sr\nUQIDAQAB\n-----END PUBLIC KEY-----\n",
"public_key_ver":1
}
参数说明:
参数 | 是否必须 | 说明 |
---|---|---|
public_key | 是 | 开发者为该企业生成的公钥,可以参考下方使用openssl命令生成 |
public_key_ver | 是 | 公钥对应的版本号,当重复调用该接口更换公钥时要求比旧公钥版本号大 |
返回结果:
{
"errcode": 0,
"errmsg": "ok"
}
参数说明:
参数 | 说明 |
---|---|
errcode | 错误码 |
errmsg | 错误码说明 |
//step 1:生成2048bit的私钥
$ openssl genrsa -out private_key.pem 2048
//step 2: 从私钥提取公钥
$ openssl rsa -in private_key.pem -pubout -out public_key.pem
//step 3: 为了调用接口设置,需要再转义一下换行符
$ awk '{printf "%s\\n", $0}' public_key.pem
最终得到的“-----BEGIN PUBLIC KEY-----\n...\n-----END PUBLIC KEY-----\n”即可传入接口public_key字段调用
开发者通过获取会话记录和获取命中关键词规则的会话记录接口获取到的消息列表中的encrypt_secret_key后,需要进行RSA解密得到secret_key后才可传入会话展示组件进行展示。
secret_key = RSA_Decypt(base64_decode(encrypt_secret_key))