我的返回值:success":false,"code":401,"reason":"请求参数为空"}”【接口描述】
根据圆通物流运单号查询已有的快件物流信息,在物流信息里面会包含物流状态,如 【客户 **** 已签收】,物流信息保持与官网一致。 【传输方式】
本文档内描述的接口均采用HTTP传输协议。客户方采用POST方式发送至本接口。 【报文结构】
参数名称 说明
sign签名
timestamp时间戳
param传递的参数
formatparam格式(JSON/XML)【请求参数列表】
字段名 含义 类型 是否必填(Y:是,N:否)
Number圆通物流运单号,一次只能查询一个单号。StringY【返回参数列表(JSON格式返回字段首字母小写)】
字段名 含义 类型 是否必填(Y:是,N:否)
Waybill_No运单号StringY
Upload_Time走件产生时间 yyyy-MM-dd HH:mm:ssStringY
InfoContent物流状态,固定为:GOT 已收件;ARRIVAL 已收入;DEPARTURE 已发出;PACKAGE 已打包;SENT_SCAN 派件;INBOUND 自提柜入柜;SIGNED 签收成功;FAILED 签收失败;FORWARDING 转寄;TMS_RETURN 退回;StringY
ProcessInfo物流信息StringY【签名规则】
序号 步骤
1在POST时用“sign”字段进行签名验证。
2将 param+method(方法)+v(版本) 拼接得到 data,将 data和 客户密钥 拼接
3假设data内容为: opentest, partnerId(客户密钥)为123456。 则要签名的内容为opentest123456,然后对opentest123456先进行MD5加密,然后转换为base64字符串。 即经过md5(16位byte)和base64后的内容就为 YLstCNa3x8ijQx16e/jqOA==【签名示例】 /** * 开放平台公共加密方法-使用commons-codec-1.11.jar进行md5加密,然后对数组进行base64编码 * @param data = param+method+v * @param secret * @Return */public static String encryptSignForOpen(String data, String secret) { String sign; try { byte[] signByte = DigestUtils.md5(data + secret); sign = Base64.encodeBase64String(signByte); } catch (Throwable e) { log.error("加密失败.e:{}.", e.toString()); sign = "ERROR"; } return sign;}【请求格式-json】 { "timestamp": "1619515421751", "param": "{\"NUMBER\":\"YT2600216627986\"}", "sign": "rkXHJf8AZbhbZq4yEkQcsQ==", "format": "JSON"}
换算所有值都正确,但是返回后值错误.版本 2.子程序 功能_网页访问, 文本型, , 本命令由【精易网页调试助手】生成,请配合 [精易模块] 与 [鱼刺类_Httpv5.0] 使用。.局部变量 局_网址, 文本型.局部变量 局_方式, 文本型.局部变量 http, WinHttpW.局部变量 局_提交数据, 文本型.局部变量 局_提交协议头, 文本型.局部变量 局_结果, 字节集.局部变量 局_返回, 文本型' https://openapi.yto.net.cn:11443/open/track_query_adapter/v1/pVqmWf/K47610171局_网址 = “https://openapi.yto.net.cn:11443/open/track_query_adapter/v1/pVqmWf/K47610171”局_方式 = “POST”' {"timestamp": "[gettimerand]","param": "{\"NUMBER\":\"YT2175641137407\"}","sign": "1AnMiEhJiiFrnF3VWlZVGw==","format": "JSON"}局_提交数据 = “ {” + #引号 + “timestamp” + #引号 + “: ” + #引号 + “[gettimerand]” + #引号 + “,” + #引号 + “param” + #引号 + “: ” + #引号 + “{\” + #引号 + “NUMBER\” + #引号 + “:\” + #引号 + “YT2175641137407\” + #引号 + “}” + #引号 + “,” + #引号 + “sign” + #引号 + “: ” + #引号 + “1AnMiEhJiiFrnF3VWlZVGw==” + #引号 + “,” + #引号 + “format” + #引号 + “: ” + #引号 + “JSON” + #引号 + “}”http.Auto (真)http.Open (局_方式, 局_网址)http.SetRequestHeader (“User-Agent”, “ Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko”, )http.Send (局_提交数据)局_结果 = http.GetResponseBody ()局_返回 = 到文本 (编码_编码转换对象 (局_结果, , , ))返回 (局_返回)谁能帮助解答一下
|