接上篇 实时获取淘宝天猫商品的评价晒单数据,这里则是基于订单的物流单号,调用接口获取物流进度,接口信息:
请求地址:https://taoapi.ndxiu.com/service/get_logis.php
请求方式:get
请求示例:{id:‘物流单号‘,appkey:‘专属appkey‘,sign:‘签名参数‘}
建议场景:为了保证接口调用效率,建议在客户端使用ajax方法发起调用。
请求参数信息
接口返回的json数据包
比较简单的json数据包,使用jq构造物流信息页。
服务端生成签名参数(以PHP为例):
//这里是您自己的鉴权代码,通过鉴权后才开始下面的签名 $appkey = ‘tbw******‘; //这里填写您的appkey $appsecret = ‘******‘; //这里填写您的appsecret $noncestr = getNonceStr(6); //生成随机字符串 $date = date(‘Y-m-d‘); //生成日期 $signature = getSignature($appkey,$appsecret,$date,$id); //生成签名 echo json_encode(array(‘id‘=>$id,‘appkey‘=>$appkey,‘sign‘=>$signature)); //输出json字符串到客户端 //通过md5加密生成签名的函 function getSignature($appkey,$appsecret,$date,$id){ $string = $appkey.$appsecret.$date.$id; $md5 = md5($string); return $md5; }
何时开始签名?当您的用户需要查询物流信息时发起签名,将签名直接跟页面一起返回。
客户端使用ajax发起调用:
function getLogis(id,appkey,sign){ //传入的实参建议不要暴露给全局 $.ajax({ type: ‘GET‘, //使用GET请求方式 async: false, url: ‘https//taoapi.ndxiu.com/service/get_logis.php‘, data: { id:id, appkey:appkey, sign:sign }, dataType: ‘jsonp‘, //解决跨域调用问题 jsonp: ‘callback‘, jsonpCallback: ‘showLogis‘, success: function(jsonp){ //生成并显示物流信息 }, error: function(){} }); }
需要注意当客户端请求详情时时间点刚好跨到第二天的情况,返回0019错误(签名参数无效),此时请重新生成签名重复请求一次即可。
另外,该接口是直接对接各个物流快递公司的开放接口,所以不能查询菜鸟的揽收进度。
以上的get_logis接口需要前往taoapi.ndxiu.com注册申请。
笔者的另外文章:
1、实时同步获取淘宝商品的SKU数据
2、如何获取淘宝天猫商品的详情图数据
3、实时获取淘宝天猫商品的评价晒单数据
4、使用JQ开发仿淘宝SKU选择器(待更)
原文地址:https://www.cnblogs.com/senboy/p/10086507.html
时间: 2024-11-07 21:41:27