加签算法
一、签名生成规则
appKey和appSecret需要从OMP后台的API信息获取,授权对象选择:智能设备
签名生成分为4个关键步骤:
- 参数排序 - 按字典序升序排列参数名
- 参数拼接 - 将参数名和值拼接成字符串
- 构造基础字符串 - 组合appSecret+path+参数+appSecret
- 计算签名 - 使用HMAC-SHA256算法加密
示例请求
请求地址:https://api.xlwms.com/openapi/v2/wave/sortingResults
请求参数示例:
- appKey:tenant1234567890abcdef1234567890abcd
- appSecret:your_app_secret_here_32_bytes_long
- path:/openapi/v2/wave/sortingResults
用户原始请求报文(未生成签名前)
{
"data":{
"waveNo":"W2503200SL",
"sortingList":[
{
"outboundOrderNo":"OBS0012503200SN",
"productList":[
{
"sortingQuantity":5,
"barcode":"SKU202306001"
},
{
"sortingQuantity":8,
"barcode":"EAN9876543210987"
}
]
}
]
},
"appKey":"tenant1234567890abcdef1234567890abcd",
"timestamp":"1744968917"
}第一步:按字典升序排列参数名 (data内的参数无需排序)
{appKey=tenant1234567890abcdef1234567890abcd, data={waveNo=W2503200SL, sortingList=[{outboundOrderNo=OBS0012503200SN, productList=[{sortingQuantity=5, barcode=SKU202306001}, {sortingQuantity=8, barcode=EAN9876543210987}]}]}, timestamp=1744968917}第二步:将第一步生成的参数名和值拼接成字符串
appKeytenant1234567890abcdef1234567890abcddata{waveNo=W2503200SL, sortingList=[{outboundOrderNo=OBS0012503200SN, productList=[{sortingQuantity=5, barcode=SKU202306001}, {sortingQuantity=8, barcode=EAN9876543210987}]}]}timestamp1744968917第三步:appSecret + path + 第二步生成的字符串 + appSecret
your_app_secret_here_32_bytes_long/openapi/v2/wave/sortingResultsappKeytenant1234567890abcdef1234567890abcddata{waveNo=W2503200SL, sortingList=[{outboundOrderNo=OBS0012503200SN, productList=[{sortingQuantity=5, barcode=SKU202306001}, {sortingQuantity=8, barcode=EAN9876543210987}]}]}timestamp1744968917your_app_secret_here_32_bytes_long使用HMAC-SHA256算法加密生成sign
BA1B238409351ECE455DF9E062F20A1B4BDA4D0BB68AC0AC0158BEB2552A4467生成签名后的请求报文
{
"data":{
"waveNo":"W2503200SL",
"sortingList":[
{
"outboundOrderNo":"OBS0012503200SN",
"productList":[
{
"sortingQuantity":5,
"barcode":"SKU202306001"
},
{
"sortingQuantity":8,
"barcode":"EAN9876543210987"
}
]
}
]
},
"sign":"BA1B238409351ECE455DF9E062F20A1B4BDA4D0BB68AC0AC0158BEB2552A4467",
"appKey":"tenant1234567890abcdef1234567890abcd",
"timestamp":"1744968917"
}二、验签工具
对接前可以在OMP后台的API信息的开发验签工具进行调试
Updated about 2 months ago
