信多帮开放平台 API 文档
欢迎使用信多帮开放平台 API。本文档面向已开通开放接口能力的合作伙伴,提供 HTTP 接口说明与回调事件定义。请求参数以表单编码提交,响应为 JSON。
业务名词说明见 名词解释。
文档分 v2.0(现行,本页所属)与 v1.0。默认展示 v2.0;历史归档请通过站点右上角版本切换。
最近有哪些变化
查看更新日志,按日期了解接口、字段和规则变化。AI 工具可读取 JSON 更新记录,再打开相关接口文档确认当前用法。
接入前提
- 需向信多帮申请开通 开放 API 功能,并获取
appid与secret。 - 测试环境请联系工作人员获取专用测试凭证。
基础信息
| 项目 | 说明 |
|---|---|
| 生产域名 | https://open.xinduobang.cn |
| 协议 | HTTPS |
| 请求格式 | application/x-www-form-urlencoded |
| 响应格式 | JSON |
| 字符编码 | UTF-8 |
认证方式
除获取 Token 接口外,所有接口均需在请求中携带 token 参数。Token 通过 /api/getToken 接口获取,有效期为 7200 秒。
V2 接入(签名鉴权)
平台支持两种接入方式,由 AppID 前缀和后台凭据版本共同决定:
| 接入方式 | appid 特征 | 鉴权方式 |
|---|---|---|
| V1(旧版) | 非 V2 开头且后台未升级为 V2 | 仅 token 参数 |
| V2 | 以 V2 开头,或后台凭据版本为 2 | token 参数 + 签名请求头 |
V2 接入方在调用所有接口(含 getToken 与业务接口)时,除原有表单参数外,还需在 HTTP Header 中附加以下签名头:
| Header | 说明 |
|---|---|
| X-Timestamp | 当前 Unix 秒级时间戳 |
| X-Nonce | 随机字符串(≥ 16 位,每次请求唯一) |
| X-Signature | 签名值,算法见下 |
签名算法
- 构造待签名 body:将所有请求参数(含
token/appid/secret等全部参数)按 key 升序排列,用http_build_query(即 URL-encode)拼接。 - 拼接待签名串:
timestamp + "\n" + nonce + "\n" + body - 计算签名:以
secret为密钥,对待签名串计算 HMAC-SHA256,取 hex 小写 结果。
body = http_build_query(ksort(params))
待签名串 = timestamp + "\n" + nonce + "\n" + body
X-Signature = lowercase( hex( HMAC-SHA256( secret, 待签名串 ) ) )
- V2 签名适用于所有出站 API 调用(从第三方发往信多帮的请求),包括
getToken和各业务接口。
PHP 签名参考
function v2_build_signed_body(array $params) {
ksort($params);
return http_build_query($params);
}
function v2_sign_headers(string $body, string $secret) {
$timestamp = (string)time();
$nonce = bin2hex(random_bytes(16));
$signStr = $timestamp . "\n" . $nonce . "\n" . $body;
return [
'X-Timestamp' => $timestamp,
'X-Nonce' => $nonce,
'X-Signature' => hash_hmac('sha256', $signStr, $secret),
];
}
下方各接口文档的 CURL 示例中,均同时给出 V1 与 V2 两个版本。V2 示例中的 X-Signature 为占位值,实际需按上述算法计算。完整的 getToken + catOrder 端到端示例(PHP / Java / Node.js)见 签名 > V2 接入示例。
调用限制
- 业务接口按商家共享额度限流,当前后端默认窗口为 1 秒内最多 4 次;不同接口、员工、应用和同商家的多个 AppID 共用额度,不是每个接口各有一份。部分商家有更低的次数或更长窗口,以实际开通配置为准。
- 获取 Token 按 AppID 单独计数,应缓存并按有效期刷新,不为每次业务调用重新取 Token。
- 超限返回业务码
4003、提示“接口访问频率过大,请稍后重试”,HTTP 状态仍可能是 200。应用应合并重复查询、统一安排频率;只读查询可有限退避,写操作不自动重试。 - 本地开发、云开发及托管应用均受此限制。SDK 缓存 Token 不等于业务请求限速;统一排队、合并重复查询、失败展示和交付自测见业务接口稳定性。仅对可安全重复的只读请求做有限退避,不自动重试写操作。
通用响应格式
{
"code": 0,
"msg": "success",
"data": {}
}
| 字段 | 类型 | 说明 |
|---|---|---|
| code | int | 业务状态码,通常 0 表示请求已处理,业务是否成功仍以具体接口约定为准 |
| msg | string | 状态描述 |
| data | object / array | 业务数据,部分接口可能无此字段 |
订单导入等接口即使 code=0 仍可能包含逐单失败;营员维护等接口还需检查 msg 和 data。请按接口页面的成功、失败及部分成功规则判断,不能仅凭 HTTP 200 或 code=0 宣称业务成功。
快速开始
V1 接入流程
- 使用
appid和secret调用登录接口获取token。 - 在后续业务接口请求中携带
token。 - Token 过期前重新获取,避免业务中断。
V2 接入流程
V2 接入方在每一步请求都需要携带签名头,详见上方「V2 接入(签名鉴权)」章节。
回调通知
部分业务变更(订单、团组、会员、评价等)会以 HTTP POST 推送到友商配置的回调地址。接收成功请返回 HTTP 200。配置路径:后台 → 设置 → 开放平台 → 订阅事件。详见 回调通知概述。
文档导航
- 名词解释:营种、营期、会员、营员、规格、PLU 等常见概念
- 签名:V1 / V2 接入的完整示例(PHP / Java / Node.js,含 getToken + catOrder)
- 认证:获取访问令牌
- 营种 / 订单 / 营员 / 会员 / 营中 / 员工:核心业务接口
- 反馈 / 相册:辅助能力
- 回调通知:平台主动推送的事件(含 HTTPS 要求概述)
- 扩展能力:适用于部分业务场景的补充接口(需平台为对应接入方开通;无相关场景可忽略)
- 历史版本(不推荐):v2.0 内不推荐的个别接口,新业务请勿使用
- 站点另有 v1.0 整站归档,请通过右上角版本切换;与侧栏「历史版本(不推荐)」不同