Heim >Backend-Entwicklung >PHP-Tutorial >Verwendung der Express Bird-Abfrage-API-Schnittstelle (PHP-Version)

Verwendung der Express Bird-Abfrage-API-Schnittstelle (PHP-Version)

不言
不言Original
2018-05-02 15:03:403631Durchsuche

In diesem Artikel wird hauptsächlich die Verwendung der Express Bird-Abfrage-API-Schnittstelle (PHP-Version) vorgestellt, die jetzt mit allen Freunden in Not geteilt werden kann


Prämisse

Während der Projektentwicklung werden einige Anforderungen zwangsläufig einige API-Schnittstellen zum Expressversand verwenden. In diesem Artikel werden hauptsächlich die Abfrage-API des Expressversands und ihre Unterschiede zu anderen Unternehmen vorgestellt ;

Häufig verwendete Express-API-Schnittstellen sind:

  1. Express Bird

  2. Express 100

  3. Aicha Express
    Warten

Wenn Sie es verwendet haben, bieten Express 100 und Aicha Express sowie andere Websites eine Express-Abfrage. Wenn Sie auf die Schnittstelle warten, werden Sie dies tun Stellen Sie fest, dass die Häufigkeit, mit der das von Ihnen beantragte Konto oder der Schlüssel die API-Schnittstelle aufrufen kann, begrenzt ist. Bei einigen beträgt sie 2000 Mal pro Tag, bei anderen 5000 Mal pro Tag. Das einzige, was Sie stört, ist, dass der Benutzer etwas hinzufügen muss Externe Links, während Express Bird von Benutzern nicht verlangt, externe Links hinzuzufügen. Für Nutzer ohne Portal gelten lediglich sehr strenge Anforderungen; außerdem muss für die Nutzung der Selbstbehalt bezahlt werden.

Express Bird, die Anforderungs-API-Schnittstelle ist unbegrenzte Zeit und dauerhaft kostenlos

Natürlich für Sie Bei kleinen Anforderungen können Express 100 und Aicha Express Ihre Anforderungen erfüllen. Wenn jedoch an einem bestimmten Tag zu viele Anfragen eingehen, muss Ihr Abfragedienst eingestellt werden, was sich auf Ihr Produkterlebnis auswirkt. Daher wird empfohlen, dass Sie Express Bird, um alles in einem Schritt zu erledigen.

Anwendungsszenarien


Fragen Sie die Logistikinformationen der Bestellung ab

Verwendung der Express Bird-Abfrage-API-Schnittstelle (PHP-Version)

Erreichbare Anforderungen

  1. Die App ist direkt integriert, um die API-Schnittstelle zur Abfrage von Express-Logistikinformationen zu implementieren

  2. Im öffentlichen WeChat-Konto entsprechend der eingegebenen Bestellnummer Durch den Benutzer identifiziert unser Backend die Bestellnummer und fragt die Express-API-Schnittstelle gemäß Express Bird ab, um die Funktion der automatischen Abfrage zu realisieren

  3. und so weiter

Schlüssel anwenden


http://www.kdniao.com/ServiceApply.aspx

Geben Sie die Informationen entsprechend Ihren Angaben vollständig ein und klicken Sie, um den Antrag einzureichen.

Nach erfolgreicher Anmeldung können Sie Informationen wie ID und Schlüssel sehen. Mit diesen Informationen können Sie Abfragen und andere Schnittstellen-APIs anfordern

Verwendung der Express Bird-Abfrage-API-Schnittstelle (PHP-Version)

Express-Abfrage-API-Schnittstelle


Schnittstellendokument und Demo jeder Entwicklungssprache

Abfrage-API-Schnittstellendefinition

Eingabeparameter auf Systemebene

参数名称 类型 必须要求 说明
RequestData String R 请求内容,JSON或XML格式,须和DataType一致
EBusinessID String R 用户ID
RequestType String R 请求指令类型:1002
DataSign String R 数据内容签名
DataType String O 请求、返回数据类型:1-xml,2-json;默认为xml格式

Eingabeparameter auf Anwendungsebene

参数名称 类型 必须要求 说明
OrderCode varchar(50) O 订单编号
ShipperCode varchar(10) R 快递公司编码
LogisticCode varchar(50) R 物流单号

Ergebnisparameter zurückgeben

参数名称 类型 必须要求 说明
EBusinessID Int R 电商用户ID
OrderCode Varchar(50) O 订单编号
ShipperCode varchar(10) R 快递公司编码
LogisticCode Varchar(50) R 物流运单号
Success Bool R 成功与否
Reason Varchar(50) O 失败原因
State Int R 物流状态1:已取件2:在途中3:签收
Traces Varchar(Max) R 物流轨迹详情

Logistik-Track-Details

参数名称 类型 必须要求 说明
AcceptTime DateTime R 时间
AcceptStation Varchar(50) R 描述
Remark Varchar(150) O 备注

JSON-Parameter anfordern

{
    "OrderCode" : "",
    "ShipperCode" : "SF",
    "LogisticCode" : "118650888018"}

Antwort-JSON-Parameter

{
    "EBusinessID" : "1109259",
    "OrderCode" : "",
    "ShipperCode" : "SF",
    "LogisticCode" : "118461988807",
    "Success" : true,
    "State" : 3,
    "Reason" : null,
    "traces" : [{
            "AcceptTime" : "2014/06/25 08:05:37",
            "AcceptStation" : "正在派件..(派件人:邓裕富,电话:18718866310)[深圳 市]",
            "Remark" : null
        }, {
            "AcceptTime" : "2014/06/25 04:01:28",
            "AcceptStation" : "快件在 深圳集散中心 ,准备送往下一站 深圳 [深圳市]",
            "Remark" : null
        }, {
            "AcceptTime" : "2014/06/25 01:41:06",
            "AcceptStation" : "快件在 深圳集散中心 [深圳市]",
            "Remark" : null
        }, {
            "AcceptTime" : "2014/06/24 20:18:58",
            "AcceptStation" : "已收件[深圳市]",
            "Remark" : null
        }, {
            "AcceptTime" : "2014/06/24 20:55:28",
            "AcceptStation" : "快件在 深圳 ,准备送往下一站 深圳集散中心 [深圳市]",
            "Remark" : null
        }, {
            "AcceptTime" : "2014/06/25 10:23:03",
            "AcceptStation" : "派件已签收[深圳市]",
            "Remark" : null
        }, {
            "AcceptTime" : "2014/06/25 10:23:03",
            "AcceptStation" : "签收人是:已签收[深圳市]",
            "Remark" : null
        }
    ]}

Um die API-Schnittstelle abzufragen, verwenden Sie

Nehmen Sie die PHP-Entwicklungssprache als Beispiel zum Erweitern

<?php
//电商ID
defined(&#39;EBusinessID&#39;) or define(&#39;EBusinessID&#39;, &#39;请到快递鸟官网申请http://kdniao.com/reg&#39;);
//电商加密私钥,快递鸟提供,注意保管,不要泄漏
defined(&#39;AppKey&#39;) or define(&#39;AppKey&#39;, &#39;请到快递鸟官网申请http://kdniao.com/reg&#39;);
//请求url
defined(&#39;ReqURL&#39;) or define(&#39;ReqURL&#39;, &#39;http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx&#39;);


//调用查询物流轨迹
//---------------------------------------------


$logisticResult=getOrderTracesByJson();
echo logisticResult;


//---------------------------------------------
 
/**
 * Json方式 查询订单物流轨迹
 */
function getOrderTracesByJson(){	$requestData= "{&#39;OrderCode&#39;:&#39;&#39;,&#39;ShipperCode&#39;:&#39;YTO&#39;,&#39;LogisticCode&#39;:&#39;12345678&#39;}";		$datas = array(
        &#39;EBusinessID&#39; => EBusinessID,
        &#39;RequestType&#39; => &#39;1002&#39;,
        &#39;RequestData&#39; => urlencode($requestData) ,
        &#39;DataType&#39; => &#39;2&#39;,
    );
    $datas[&#39;DataSign&#39;] = encrypt($requestData, AppKey);	$result=sendPost(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(&#39;%s=%s&#39;, $key, $value);		    }	    $post_data = implode(&#39;&&#39;, $temps);
    $url_info = parse_url($url);	if(empty($url_info[&#39;port&#39;]))	{		$url_info[&#39;port&#39;]=80;		}
    $httpheader = "POST " . $url_info[&#39;path&#39;] . " HTTP/1.0\r\n";
    $httpheader.= "Host:" . $url_info[&#39;host&#39;] . "\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[&#39;host&#39;], $url_info[&#39;port&#39;]);
    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;
}


/**
 * 电商Sign签名生成
 * @param data 内容   
 * @param appkey Appkey
 * @return DataSign签名
 */
function encrypt($data, $appkey) {
    return urlencode(base64_encode(md5($data.$appkey)));
}


?>

Für andere API-Schnittstellen gehen Sie bitte zu Express Bird, um die relevanten Dokumente im Detail anzuzeigen.

Warme Erinnerung

Wenn Ihr Produkt angedockt oder in die Express-Schnittstelle integriert werden muss, ist Express Bird eine gute Wahl Technisches Support-Personal. Die Anzahl der Anfragen ist unbegrenzt und die Nutzung ist für immer kostenlos.

Das obige ist der detaillierte Inhalt vonVerwendung der Express Bird-Abfrage-API-Schnittstelle (PHP-Version). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:PHP-Middleware ICENächster Artikel:PHP-Middleware ICE