Developer OpenAPI
首页Apifox官网钉钉openAPI
企业微信openAPI
  • openAPI文档
  • 官方文档
首页Apifox官网钉钉openAPI
企业微信openAPI
  • openAPI文档
  • 官方文档
企业内部开发智慧硬件开发
第三方应用开发
企业内部开发智慧硬件开发
第三方应用开发
  1. 概述
  • 开发指南
    • 回调配置
      • 虚拟业务信息查询接口
    • 获取服务商凭证
      POST
  • 消息推送
    • 接收消息与事件
      • 概述
        • 概述-验证URL有效性
          GET
        • 概述-获取企业微信服务器的ip段
          GET
        • 概述-使用接收消息
          POST
    • 发送应用消息
      POST
    • 更新模版卡片消息
      POST
  • 通讯录管理
    • 成员管理
      • 创建成员
      • 读取成员
      • 更新成员
      • 删除成员
      • 批量删除成员
      • 获取部门成员
      • 获取部门成员详情
      • userid与openid互换-userid转openid
      • userid与openid互换-openid转userid
      • 二次验证
      • 邀请成员
    • 部门管理
      • 创建部门
      • 更新部门
      • 删除部门
      • 获取部门列表
    • 标签管理
      • 创建标签
      • 更新标签名字
      • 删除标签
      • 获取标签成员
      • 增加标签成员
      • 删除标签成员
      • 获取标签列表
    • 异步批量接口
      • 增量更新成员
      • 全量覆盖成员
      • 全量覆盖部门
      • 获取异步任务结果
  • 应用管理
    • 获取应用-获取指定的应用详情
      GET
    • 获取应用-获取access_token对应的应用列表
      GET
  • 素材管理
    • 上传临时素材
      POST
    • 上传图片
      POST
    • 获取临时素材
      GET
    • 获取高清语音素材
      GET
  • OA数据接口
    • 审批流程引擎
      POST
  • 电子发票
    • 查询电子发票
      POST
    • 更新发票状态
      POST
    • 批量更新发票状态
      POST
    • 批量查询电子发票
      POST
  • 推广二维码
    • 回调通知
      • 注册完成回调事件
    • 调用接口
      • 获取注册码
      • 查询注册状态
      • 设置授权应用可见范围
      • 设置通讯录同步完成
  • 应用授权
    • 接口调用
      • 获取第三方应用凭证
      • 获取预授权码
      • 设置授权配置
      • 获取企业永久授权码
      • 获取企业授权信息
      • 获取企业凭证
      • 获取应用的管理员列表
    • 回调接口
      • 标签通知事件 标签成员变更事件
  • 身份验证
    • 网页授权登录
      • 获取访问用户身份
      • 获取访问用户敏感信息
    • 扫码授权登录
      • 获取登录用户信息
  • 设备管理
    • 接口调用
      • 添加设备实例
      • 查询设备绑定信息
      • 重置设备SecretNo
      • 获取设备列表
      • 上传设备日志
      • 获取设备自定义参数
      • 删除设备实例
      • 设置打印机支持状态
  1. 概述

概述-使用接收消息

POST
http://127.0.0.1/%EF%BC%9Ahttp://api.3dept.com/
智慧硬件开发/消息推送/接收消息与事件/概述
最后修改时间:2022-08-30 03:03:37
责任人:未设置
开启接收消息模式后,企业微信会将消息发送给企业填写的URL,企业后台需要做正确的响应。

接收消息协议的说明#

企业微信服务器在五秒内收不到响应会断掉连接,并且重新发起请求,总共重试三次。如果企业在调试中,发现成员无法收到被动回复的消息,可以检查是否消息处理超时。
当接收成功后,http头部返回200表示接收ok,其他错误码企业微信后台会一律当做失败并发起重试。
关于重试的消息排重,有msgid的消息推荐使用msgid排重。事件类型消息推荐使用FromUserName + CreateTime排重。
假如企业无法保证在五秒内处理并回复,或者不想回复任何内容,可以直接返回200(即以空串为返回包)。企业后续可以使用主动发消息接口进行异步回复。

接收消息请求的说明#

假设企业的接收消息的URL设置为http://api.3dept.com。
企业收到消息后,需要作如下处理:
1.
对msg_signature进行校验
2.
解密Encrypt,得到明文的消息结构体(消息结构体后面章节会详说)
3.
如果需要被动回复消息,构造被动响应包
4.
正确响应本次请求
以上1~2步骤可以直接使用解密函数一步到位。
3步骤其实包含加密被动回复消息、生成新签名、构造被动响应包三个步骤,可以直接使用加密函数一步到位。
文档ID: 12977
原文档地址:
https://open.work.weixin.qq.com/api/doc/90000/90135/90238

请求参数

Query 参数
msg_signature
string 
必需
示例值:
ASDFQWEXZCVAQFASDFASDFSS
timestamp
string 
必需
示例值:
13500001234
nonce
string 
必需
示例值:
123412323
Body 参数application/xml
ToUserName
string 
必需
企业微信的CorpID,当为第三方应用回调事件时,CorpID的内容为suiteid
AgentID
string 
必需
接收的应用id,可在应用的设置页面获取。仅应用相关的回调会带该字段。
Encrypt
string 
必需
消息结构体加密后的字符串
示例
<?xml version="1.0" encoding="UTF-8"?>
<xml>
  <ToUserName>string</ToUserName>
  <AgentID>string</AgentID>
  <Encrypt>string</Encrypt>
</xml>

示例代码

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
请求示例请求示例
Shell
JavaScript
Java
Swift
curl --location --request POST 'http://127.0.0.1/%EF%BC%9Ahttp://api.3dept.com/?msg_signature=ASDFQWEXZCVAQFASDFASDFSS&timestamp=13500001234&nonce=123412323' \
--header 'Content-Type: application/xml' \
--data-raw '<?xml version="1.0" encoding="UTF-8"?>
<xml>
  <ToUserName>string</ToUserName>
  <AgentID>string</AgentID>
  <Encrypt>string</Encrypt>
</xml>'

返回响应

🟢200成功
application/json
Body
Encrypt
string 
必需
经过加密的消息结构体
MsgSignature
string 
消息签名
必需
TimeStamp
string 
时间戳
必需
Nonce
string 
必需
随机数,由企业自行生成
示例
{
  "Encrypt": "string",
  "MsgSignature": "string",
  "TimeStamp": "string",
  "Nonce": "string"
}
上一页
概述-获取企业微信服务器的ip段
下一页
发送应用消息
Built with