1.注册后成功后进行实名认证
2…结合php的demo和文档(以即时查询为例)
选择php版本下载:
3.经简单整合如下调用getMessage即可:
/** 获取快递单号信息接口
* @param $ShipperCode 快递编码 德邦:DBL 韵达:YD
* @param $LogisticCode 快递单号
* @return string
*/
public function getMessage($ShipperCode, $LogisticCode)
{
$requestData = "{'OrderCode': '',
'ShipperCode':'$ShipperCode',//快递编码
'LogisticCode':'$LogisticCode'//快递单号
}";
$datas = array(
'EBusinessID' => '用户id',//用户id
'RequestType' => '1002',//请求指令类型
'RequestData' => urlencode($requestData),
'DataType' => '2',
);
$datas['DataSign'] = $this->encrypt($requestData, "你的API key");
$result = $this->sendPost("http://api.kdniao.com/Ebusiness/EbusinessOrderHandle.aspx", $datas);
$result = json_decode($result, true);
return $result;
}
function sendPost($url, $datas)
{
$temps = array();
foreach ($datas as $key => $value) {
$temps[] = sprintf('%s=%s', $key, $value);
}
$post_data = implode('&', $temps);
$url_info = parse_url($url);
if (empty($url_info['port'])) {
$url_info['port'] = 80;
}
$httpheader = "POST " . $url_info['path'] . " HTTP/1.0\r\n";
$httpheader .= "Host:" . $url_info['host'] . "\r\n";
$httpheader .= "Content-Type:application/x-www-form-urlencoded\r\n";
$httpheader .= "Content-Length:" . strlen($post_data) . "\r\n";
$httpheader .= "Connection:close\r\n\r\n";
$httpheader .= $post_data;
$fd = fsockopen($url_info['host'], $url_info['port']);
fwrite($fd, $httpheader);
$gets = "";
$headerFlag = true;
while (!feof($fd)) {
if (($header = @fgets($fd)) && ($header == "\r\n" || $header == "\n")) {
break;
}
}
while (!feof($fd)) {
$gets .= fread($fd, 128);
}
fclose($fd);
return $gets;
}
public function encrypt($data, $appkey)
{
return urlencode(base64_encode(md5($data . $appkey)));
}
4.结果如下: