php对接顺丰物流最新版
注意:顺丰开放平台的接口不能用,据说已经没人维护,现在顺丰使用的接口需要向顺丰对接人员要文档并且需要让他们给配置白名单,亲自踩坑
另外:路由查询接口有限制,必须是通过下单接口下的单才可以查询到
刚开始准备和顺丰对接时看的开放平台上的文档json格式的,连看带写代码,又给顺丰客服打电话,耽误了不少时间。因为那时候还没和顺丰签合同,所以没有对接人。后来有了对接人之后,总算有人可以联系了,方便了很多。新的请求方式和接口完全和顺丰开放平台时两码事,在这里告诉大家少走一些弯路
顺丰请求和响应都是xml格式的
准备
1.接口地址
2.需要ip白名单(生产环境可以取消白名单限制)
3.用户编码
4.checkword
示例
//顺丰路由查询
public function shipping(){
$shippingnum = I('shippingnum','','htmlspecialchars,trim');//运单号
$url = 'http://bsp-ois.sit.sf-express.com:9080/bsp-ois/sfexpressService';
$body = "<?xml version='1.0' encoding='UTF-8'?><Request service='RouteService' lang='zh-CN'><Head>用户编码</Head><Body><RouteRequest tracking_type='1' method_type='1' tracking_number='".$shippingnum."'/></Body></Request>";
$checkword = 'Checkword';
$data['verifyCode'] = base64_encode(md5($data['xml'] . $checkword));
$newbody = $body.$checkword;
$md5 = md5($newbody,true);
$verifyCode = base64_encode($md5);
$fields = array('xml'=>$body,'verifyCode'=>$verifyCode);
$parambody = http_build_query($fields, '', '&');
$res = Spost($url,$parambody);
print_r($res);
}