开放平台
1. 网关和应用服务的端口是什么关系
- sop-gateway-server(23456):第三方调用的唯一入口;
- api-server(23454):仅供网关 Dubbo 泛化调用,不应暴露公网;
- inner-gateway(23450,微服务版):内部前端网关,与开放平台网关职责不同,注意区分。
另注意:开放平台网关不做 uri 权限鉴权(mdp.ignore.authEnabled 对它不适用),其权限模型是「应用 + 接口授权」。
详见:开放平台网关配置
2. 请求返回「请求超时」
请求的 timestamp 与平台服务器时间差超过网关配置的超时秒数(mdp.gateway.timeout-seconds)会被拒绝。校准调用方服务器时间(建议接入 NTP)。
详见:接口调用
3. 接口签名总是验签失败
三个易错点:签名内容不包含 sign 参数本身;参数按 ASCII 升序排序、值不做 URL 编码;必须用应用私钥签名且平台侧保存的是对应公钥。
详见:接口调用
4. token 提示无效
token 默认 2 小时有效,过期需重新获取;token 与 appKey 绑定,不能跨应用使用;调用获取 token 接口时传 forceRefresh=true 会使旧 token 立即失效。
详见:接口调用
5. 提示无接口授权(ISV_ROUTE_NO_PERMISSIONS)
应用尚未获得目标接口的授权。联系平台管理员在控制台为应用开通对应接口权限。
详见:接口调用
6. 没有收到回调 / 订阅了事件但收不到推送
依次确认:
- 应用密钥中
notifyState通知开关已开启; - 调用接口时传了
notifyUrl,或平台已配置默认回调地址; - 事件编码必须完全一致(订阅
org.edit就要触发org.edit); - 该接口的业务实现确实会发起回调(并非所有接口都回调);
- 到管理端回调任务/事件推送列表查看任务状态,及每次推送的请求体、响应体、错误原因日志。
7. 回调一直失败重试
接收端必须严格返回 {"code": 0, "msg": ""}——响应体解析不了会记录「返回值格式错误,无法解析为 ApiResponse.class」。失败后平台按梯度重试,默认最多 5 次(2分钟 → 5分钟 → 30分钟 → 6小时 → 12小时),用尽后置「重试结束」,可在管理端手动重推。
8. 回调验签失败 / 解密失败 / appKey 校验不通过
- 验签失败:确认本地保存的
notifyToken与平台配置一致;signature 计算时 encrypt 参数在明文模式下为空字符串; - 解密失败:
encodingAesKey必须为 43 字符(32 字节随机数 Base64 后去掉末尾=); - appKey 校验不通过:解密后报文尾部的 appKey 必须与自己的 appKey 一致,确认没有用错应用密钥。