除商家授权配送商接口外使用以下规则
请求规则
规则名称 | 描述 |
---|---|
请求地址 | https://carrieropen.meituan.com |
传输协议 | 采用HTTPS |
请求方式 | POST |
参数格式 | application/x-www-form-urlencoded |
字符编码 | 统一采用UTF-8字符编码 |
返回参数规则
规则名称 | 描述 |
---|---|
数据格式 | application/json |
字符编码 | 统一采用UTF-8字符编码 |
数据结构 |
|
除商家授权配送商接口外使用以下规则
请求规则
规则名称 | 描述 |
---|---|
请求地址 | https://carrieropen.meituan.com |
传输协议 | 采用HTTPS |
请求方式 | POST |
参数格式 | application/x-www-form-urlencoded |
字符编码 | 统一采用UTF-8字符编码 |
返回参数规则
规则名称 | 描述 |
---|---|
数据格式 | application/json |
字符编码 | 统一采用UTF-8字符编码 |
数据结构 |
|
参数名称 | 参数类型 | 是否必填 | 参数描述 |
---|---|---|---|
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