跳到主要内容
版本:v2.0

回调通知概述

平台在订单、团组、会员、评价等业务发生约定变更时,向订阅的接收方发起 HTTP POST。可选择外部地址或信多帮云应用;两种方式的验签与回执要求不同。外部地址成功返回 HTTP 200,云应用还需返回匹配事件编号的 SDK 接收回执。

配置路径:后台 → 设置 → 开放平台 → 订阅事件 → 添加订阅。各事件字段与示例见本分类下对应文档。

推送到信多帮云应用​

后台订阅支持选择「云应用」,自动关联本商家的正式版本,无需填写地址或复制密钥。私有应用保持原有员工登录保护;事件通过平台专用通道投递,不经过浏览器登录。

创建应用后即可先保存订阅,无需先上线;未上线时显示“等待应用上线”。应用按 接收订阅事件 实现服务端接收和回执并正式上线后,自动接收新事件。真实事件只发往当前正式版,本地和预览使用模拟事件测试;上线前的事件不会自动补发。以下外部地址、push_secret 验签约定仍适用于「外部地址」接入,云应用接入使用 SDK 的事件验签方法。

以下章节适用于外部地址订阅;云应用的路由、SDK 验签与 JSON 回执见上方专页。

回调地址须使用 HTTPS​

回调载荷中常包含订单号、会员手机号、营员证件信息等业务数据。合作伙伴用于接收推送的 URL 须为 https:// 地址,即在公网侧启用 TLS(俗称 SSL)加密传输。

要求说明
协议使用 https://,勿使用明文 http://
证书由受信任 CA 签发的有效证书;生产环境避免自签名证书
协议版本建议 TLS 1.2 及以上
可达性URL 须公网可访问,且证书域名与回调主机名一致

明文 HTTP 下,推送内容可被中间环节窃听或篡改。回调接收地址必须使用 HTTPS,与开放平台主动接口的安全基线一致。

接收侧基本约定​

  • 以服务端对服务端方式接收;请保证服务稳定、可重试。
  • 同一业务可能因多次变更被推送多次,请按订单号、会员 ID、事件类型等做幂等处理。
  • 部分事件以表单字段 request_data(JSON 字符串)传递正文,部分为裸 JSON,以各事件文档为准。
  • 处理失败时平台可能重试;成功务必返回 HTTP 200。
  • appid 为 V2 版本 的接入方,推送请求会附带签名头(X-Timestamp / X-Nonce / X-Signature),请按下文《推送签名校验(V2 接入)》验签后再处理。

推送签名校验(V2 接入)​

针对 appid 为 V2 版本 的接入方,平台在推送时会为请求附加签名头,供接收方校验请求来源与完整性、防御重放。其余 appid 的推送维持原样,不带以下签名头。

推送除现有表单字段 type / exchange_type / request_data(各事件字段以对应文档为准)外,新增以下 HTTP Header:

Header说明
X-Timestamp推送发起时的 Unix 秒级时间戳
X-Nonce随机字符串(长度 ≥ 16 位,每次推送唯一)
X-Signature签名值,算法见下

签名算法​

待签名串按如下顺序拼接(\n 为换行符):

待签名串 = timestamp + "\n" + nonce + "\n" + body
  • timestamp:与 X-Timestamp 完全一致
  • nonce:与 X-Nonce 完全一致
  • body:实际发出的 POST 请求体原文

签名值为以待签名串、推送密钥 push_secret(平台为接入方分配的接入密钥,请妥善保管)计算 HMAC-SHA256 后,取 hex 小写 结果:

X-Signature = lowercase( hex( HMAC-SHA256( push_secret, 待签名串 ) ) )
重要
  • 签名针对的是 原始 body 文本,不是解析后的对象;接收方务必用收到的原始请求体参与验签,任何字段顺序、空格、转义改动都会导致签名不一致。
  • X-Timestamp、X-Nonce 必须与实际参与签名的值一致。

示例​

假设:

push_secret = YOUR_PUSH_SECRET
X-Timestamp = 1770000000
X-Nonce = 3f9c1a7b2e6d4058
body = type=user_info&exchange_type=2&request_data=%7B%22uid%22%3A10086%7D

则待签名串为(三行,行间以换行符分隔):

1770000000
3f9c1a7b2e6d4058
type=user_info&exchange_type=2&request_data=%7B%22uid%22%3A10086%7D

对其以 push_secret 计算 HMAC-SHA256 并取 hex 小写,即得 X-Signature。

接收方验证与防重放​

收到推送后建议按以下顺序校验,任一不通过则拒绝(返回非 200):

  1. 验签:用保存的 push_secret,按上文算法对 X-Timestamp、X-Nonce 与原始 body 重新计算签名,与 X-Signature 比对,不一致则拒绝。
  2. 校验时间戳:X-Timestamp 与接收方服务器当前时间偏差超过 5 分钟 则拒绝。
  3. 防重放(可选):缓存已处理的 X-Nonce(如 Redis,TTL 10 分钟),重复出现则拒绝。

校验通过后再解析 request_data 并处理业务,成功返回 HTTP 200。

事件一览​

文档说明
团组变更通知分团、分组等团组相关变更
订单变更通知支付、退款、换营、营员变更等
拼团结束变更通知拼团成功或失败
退款发起回调通知退款单发起时推送
营员评价通知营员评价相关推送
会员变更通知会员创建与资料变更