Appearance
云代拍接入指南
创建代拍应用
- 注册艺天下官网账号,可点击此处完成注册;
- 认证商户后,创建代拍应用并等待审核。
- 应用审核通过后获取Appid和secret用于后续接口的调用与验证。
开发接入必读
接口规则
- 传输方式 HTTPS
- 提交方式 采用POST方法提交
- 数据格式 提交和返回数据都为JSON格式
- 字符编码 统一采用UTF-8字符编码
- 签名算法 MD5
- 签名要求 请求和接收数据均需要校验签名,详细方法参考签名生成规则
签名生成规则
说明:签名key是申请应用获得的secret
第一步:设所有发送或者接收到的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串stringA。
特别注意以下重要规则:
- 参数名ASCII码从小到大排序(字典序);
- 如果参数的值为空不参与签名;
- 参数名区分大小写;
- 传送的sign参数不参与签名,将生成的签名与该sign值作校验。
- 每次请求参数必须包含 nonce(6位随机字符串)和timestamp(时间戳)参数
第二步,在stringA最后拼接上key得到stringSignTemp字符串,并对stringSignTemp进行MD5运算,再将得到的字符串所有字符转换为大写,得到sign值signValue。
举例:
假设传送的参数如下:
json
{
"appid": "wxd930ea5d5a258f4f",
"device_info": "phone",
"body": "test",
"nonce": "ibuaiVcKdpRxkhJA",
"timestamp": 1693497600
}
{
"appid": "wxd930ea5d5a258f4f",
"device_info": "phone",
"body": "test",
"nonce": "ibuaiVcKdpRxkhJA",
"timestamp": 1693497600
}
第一步:对参数按照key=value的格式,并按照参数名ASCII字典序排序如下:
php
stringA="appid=wxd930ea5d5a258f4f&body=test&device_info=phone&nonce=ibuaiVcKdpRxkhJA×tamp=1693497600";
stringA="appid=wxd930ea5d5a258f4f&body=test&device_info=phone&nonce=ibuaiVcKdpRxkhJA×tamp=1693497600";
第二步:拼接API密钥:
php
stringSignTemp = stringA . "&key=" . str_key;
stringSignTemp = stringA . "&key=" . str_key;
第三步 MD5加密并转换大写
php
sign=MD5(stringSignTemp).toUpperCase()="0CD727793B049D54E4C0A704EF0BA224"
sign=MD5(stringSignTemp).toUpperCase()="0CD727793B049D54E4C0A704EF0BA224"
最终得到的发送数据
json
{
"appid": "wxd930ea5d5a258f4f",
"device_info": "phone",
"body": "test",
"nonce": "ibuaiVcKdpRxkhJA",
"timestamp": 1693497600,
"sign": "0CD727793B049D54E4C0A704EF0BA224"
}
{
"appid": "wxd930ea5d5a258f4f",
"device_info": "phone",
"body": "test",
"nonce": "ibuaiVcKdpRxkhJA",
"timestamp": 1693497600,
"sign": "0CD727793B049D54E4C0A704EF0BA224"
}
云代拍API 通过验证签名来保证请求的真实性和数据的完整性。