通讯协议

  • 通讯方式
    请求:HTTP(S) + JSON
    响应:HTTP(S) + JSON

  • 报文编码集

    1. 报文响应报文,均使用UTF-8编码
    2. 请求格式:POST方式进行提交
    3. 请求的 Content-Type: application/json
  • 报文签名
    报文请求和应答需要经过签名验证,签名数据放在报文的 sign 字段里,具体签名算法如下: 签名生成的通用步骤如下:
    1、设所有发送或者接收到的数据为集合 M,将集合 M 内非空参数值的参数按照参数名 ASCII 码从小到大排序(字典序),使用 URL 键值对的格式(即 key1=value1&key2=value2…)拼接成字符串 stringA。
    特别注意以下重要规则:
    (1) 参数名 ASCII 码从小到大排序(字典序);
    (2) 如果参数的值为空不参与签名;
    (3) 参数名区分大小写;
    (4) 对于 JSON 子域(JSONObject 和 JSONArray),签名时整个子域作为字符串参与签 名,需要注意的是 fastjson 会对字段重新排序,建议用 json-lib 进行序列化。 (5)验证调用返回或主动通知签名时,传送的 sign 参数不参与签名,将生成的签名与该 sign 值作校验。
    (6) 接口可能增加字段,验证签名时必须支持增加的扩展字段
    2、在 stringA 最后拼接上 key 得到 stringSignTemp 字符串,并对 stringSignTemp 进行 MD5 运算,再将得到的字符串所有字符转换为大写,得到 sign 值 signValue。

文档更新时间: 2020-02-24 20:20   作者:高俭