调用协议
调用协议

除商家授权配送商接口外使用以下规则

请求规则

规则名称 描述
请求地址 https://carrieropen.meituan.com
传输协议 采用HTTPS
请求方式 POST
参数格式 application/x-www-form-urlencoded
字符编码 统一采用UTF-8字符编码

返回参数规则

规则名称 描述
数据格式 application/json
字符编码 统一采用UTF-8字符编码
数据结构
{
"code": 状态代码,
"message": 描述信息,
"data": 返回数据信息
}
公共参数
参数名称 参数类型 是否必填 参数描述
developerId String 青云技术服务平台为每个配送商分配独立的developerId,作为接入认证标识。每个developerId会绑定一个secret,用于计算签名。请妥善保管secret,避免泄密。如果secret意外泄露,可要求重新生成。
timestamp long 时间戳,格式为long,时区为GMT+8,即调用接口时距离Epoch(1970年1月1日) 以秒计算的时间(unix-timestamp)。
version String API协议版本,可选值:1.0。
sign String API请求参数的签名计算结果。
签名协议

为了防止API调用过程中被黑客恶意篡改,调用任何一个API都需要携带签名,青云技术服务平台服务端会根据请求参数,对签名进行验证,签名不合法的请求将会被拒绝。

1)将所有系统参数及业务参数(其中sign,byte[]及值为空的参数除外)按照参数名的字典顺序排序

2)将参数以参数1值1参数2值2...的顺序拼接,例如a=&c=3&b=1,变为b1c3,参数使用utf-8编码

3)按照secret + 排序后的参数的顺序进行连接,得到加密前的字符串

4)对加密前的字符串进行sha1加密并转为小写字符串,得到签名

5)将得到的签名赋给sign作为请求的参数

假设请求参数如下

secret: test

系统参数:

appkey=test
timestamp=1477395862
version=1.0

应用参数:

number=123
string=测试
double=123.123
boolean=true
empty=

加密前的字符串为

testappkeytestbooleantruedouble123.123number123string测试timestamp1477395862version1.0

sha1计算所得sign为

8943ba698f4b009f80dc2fd69ff9b313381263bd