PHP realizes third-party instant access to logistics updates
This article mainly introduces PHP to realize third-party real-time acquisition of logistics updates. It is very good and has reference value. Friends in need can refer to it
Preface
There is a requirement for a recent project, which is to use the logistics order number to instantly query logistics information. I learned from the Internet that there are still many third-party APIs about logistics, and the one I chose is Express Bird, Express Bird It is a free third-party interface. The API integrates more than 400 logistics and express delivery interfaces around the world. It is permanently free and unlimited. The interface communicates with the express delivery company through multiple channels. The availability reaches more than 99.9%. The push speed is customized and configured to ensure the stability of the access party's system. .
Usage process
Log in to the website http://www.kdniao.com/ and you must first register. After registration, go to the user management background , there is an option to apply for API. Note that real-name authentication is required before applying for API. After authentication, you can apply for API. Its API interface is still very rich.
Because if I use real-time query, I apply for the real-time query API.
API usage flow chart
As can be seen from the flow chart
The user only needs to provide the express delivery number and express delivery The company
gets the logistics status through the API and returns the result to
. We get the result and process it in real time for display.
API parameters
The above are official About the API parameters, we can look at the official demo to learn more. The official demo is also simple and easy to understand. We can encapsulate it again.
Encapsulated API
Using the API requires three fixed parameters
1. Merchant ID
2. API key
3. Request URL, ReqURL
The merchant ID and API key can be seen on the My Management homepage of the Express Bird website, and the request URL is
http://api. kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx, this can be seen in the interface document.
Main method
/** * @param $ShipperCode 快递公司编号 * @param $order_sn 运单号 */ public function getMessage($ShipperCode,$order_sn){ $requestData= "{'OrderCode':'','ShipperCode':'".$ShipperCode."','LogisticCode':'".$order_sn."'}"; $datas = array( 'EBusinessID' => self::EBusinessID, 'RequestType' => '1002',//接口指令1002,固定 'RequestData' => urlencode($requestData) , 'DataType' => '2', //数据返回格式 2 json ); //把$requestData进行加密处理 $datas['DataSign'] = $this -> encrypt($requestData, self::AppKey); $result = $this -> sendPost( self::ReqURL, $datas); return $result; }
In this main method, there are two parameters passed in, one is the express company number, and the other is the logistics order Number.
We also need to encrypt $requestData, which is the encrypt method.
/* * 进行加密 */ function encrypt($data, $appkey) { return urlencode(base64_encode(md5($data.$appkey))); }
After encryption, access directly through ReqURL, and the returned data is logistics information.
Source code
<?php /** * 使用快递鸟api进行查询 * User: Administrator * Date: 2017/4/22 0022 * Time: 09:09 */ class KuaidiController{ const EBusinessID = 1285564; const AppKey = '264ff9e0-2f4c-48d5-877f-1e0670400d18'; const ReqURL = "http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx"; /** * @param $ShipperCode 快递公司编号 * @param $order_sn 运单号 */ public function getMessage($ShipperCode,$order_sn){ $requestData= "{'OrderCode':'','ShipperCode':'".$ShipperCode."','LogisticCode':'".$order_sn."'}"; $datas = array( 'EBusinessID' => self::EBusinessID, 'RequestType' => '1002',//接口指令1002,固定 'RequestData' => urlencode($requestData) , 'DataType' => '2', //数据返回格式 2 json ); //把$requestData进行加密处理 $datas['DataSign'] = $this -> encrypt($requestData, self::AppKey); $result = $this -> sendPost( self::ReqURL, $datas); return $result; } /** * post提交数据 * @param string $url 请求Url * @param array $datas 提交的数据 * @return url响应返回的html */ 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; } /* * 进行加密 */ function encrypt($data, $appkey) { return urlencode(base64_encode(md5($data.$appkey))); } } $model = new KuaidiController(); $res = $model -> getMessage('ZTO','12345678'); echo "<pre class="brush:php;toolbar:false">"; var_dump($res);
The above is the entire content of this article, I hope it will be useful for everyone’s learning help.
Related recommendations:
php removes all spaces in the string
Send two small things, ASP/PHP learning tools. Written in JavaScript_javascript skills
php book xml format data example based on dom_php skills
The above is the detailed content of PHP realizes third-party instant access to logistics updates. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

If you are an experienced PHP developer, you might have the feeling that you’ve been there and done that already.You have developed a significant number of applications, debugged millions of lines of code, and tweaked a bunch of scripts to achieve op

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.
