sqycKey密钥
sqycKey用于合作方访问首汽约车提供的API接口时,首汽约车对访问者身份(第三方)进行鉴权验证。
示例:sqycKey=sqyc8f9782735fbae831d58005b
参数是首汽约车颁发给合作方的唯一字符串,双方须严格保密sqycKey密钥,防止非法访问,sqycKey的具体值双方约定即可。
生成签名
sign作为API访问的请求参数之一,是首汽约车与合作方双方进行身份验证的有效凭证,sign生成算法:
1)首先将所有输入参数对(不包括sign参数或者空值的参数)按照键的值进行ksort排序,例如:
"riderPhone"=>"13102001523",
"riderName"=>"%e5%bc%a0%e4%b8%89",
"channel"=>"peopledigital",
"timeStamp"=>1404099226,
2)将排序之后数组按照如下格式连接起来,最后拼接上“&sqycKey=xxx”字符串,对字符串进行md5得到的就是参数中的sign,md5是32位的:
$sign=md5(“channel=peopledigital&riderName=%e5%bc%a0%e4%b8%89&riderPhone=13102001523&timeStamp=1404099226&sqycKey=xxx”)
3)最终的url为(此处以get请求举例说明,对接时接口还是post形式请求。)
双方须严格保密sign生成算法,防止非法访问。
下文中涉及的所有API接口访问sign作为必传参数,签名忽略大小写。
Q&A
Q:接口报验签失败等类似问题
A:1:检查加密Key是否正确; 2:检查被验签串中是否有不存在值的参数,比如a=213&b=&c=789,其中b=不该出现在被验签串中; 3:请求参数值中禁止存在 + 号等特殊符号 3:如果确认1/2都没问题则将被执行MD5的字符串发到群里面,联系首约研发排查