JAVAは、サードパーティ製の宅配鳥のAPIのチュートリアルに単一のクエリインターフェイスドッキングインターフェースを表現します

シナリオ:

 1、サイトのユーザーバックオーダーページは、ユーザーがユーザーの明示の受注を照会するExpressインターフェースを呼び出すためのページを開き、ページに結果が表示されます。

 2は、高速な内部検索は、限り、ユーザーが私を呼んで自分の名前を尋ねたとして、その後、主に顧客サービスのMMに、利用者の状態の特急注文に直接検索し使用します。

 パラメータが呼び出されるので、3、販売システムは、直接宅配便の鳥は、インタフェースは入手することができるようになります受信されているので、システムが自動的に毎週使用し、金融および顧客サービスのMM MMを与えながら、シングルサイン統計は、文の形成を出てくる必要がありますすることができます。

 4、倉庫システム、倉庫兄弟であれば片がラインから出てくるように困難であろう。

 

 

 

 [バット]フローを使用して

1つの数と鳥をコード表現するために速達宅配会社を送信します

2、急行物流鳥は、単一の番号と宅配会社に基づいて状態を追跡するために問い合わせます

3、鳥は、サービスプロバイダやISVのための状態の電気プロバイダのプラットフォームに戻って追跡するために、物流クエリを表現します

4、電子ビジネスプラットフォームISVやサービスプロバイダは、データを受信し、リアルタイム処理やデータプレゼンテーションアプリケーションを実行します

第二に、ドッキング準備
1. ログイン速い宅配鳥はアカウント登録
2.のGetデベロッパーアカウント情報(ID、APIキー)を、宅配便の鳥の背景を参照するには、ログイン
3.技術FBI、および試運転を完了し、物流クエリAPIアドレス:HTTP: //www.kdniao.com/api-track
4.お使いのソフトウェアに急行物流クエリインターフェイスを統合しました

第三に、技術的なドッキング
Expressは、宅配便の鳥問合せインタフェースを提供し、サポート418は、主要な国内および国際宅配便サービス企業単一のクエリ、タイムリーな情報、データの整合性をカバーし、物流のクエリを表現します。

<?PHP
 // 電気の供給者のID 
定義された(「EBusinessID」)またはDEFINE(「EBusinessID」、「123456」);
 // 電気・プロバイダー秘密鍵暗号、宅配便の鳥を提供し、漏れない世話を
定義した(「のAppKeyを」)またはDEFINE( 'のAppKey'、 '1234567890' );
 // リクエストURL:試験アドレス
//定義( 'reqURL')または定義( 'reqURL'、「http://sandboxapi.kdniao.cc:8080/kdniaosandbox/gateway/ exterfaceInvoke.json '); 
//リクエストURL:公式アドレス
定義された(' reqURL ')またはDEFINE(' reqURL '' http://api.kdniao.cc/Ebusiness/EbusinessOrderHandle.aspx " ); 

$ KGS =「JD 「;// 宅配会社は、公式文書がある、と呼ば
$ナンバー =「12345678」; //エクスプレス注文は

お問い合わせ物流軌道を呼び出す// 
// --------------------------------------- ------ 
$ logisticResult = getOrderTracesByJson($ KGS$番号);
 エコー $ logisticResult ; 

// 解析データ
$データ json_decode(の= $ logisticResult真の); 


IF$データ [ '成功'] == trueに) { // 成功に関する情報を返す
    の$ STR "" = ; 

IFISSET$データ [ 'トレース'])&&!$データ [ 'トレース' {)])
     のために$ I = 0; $ Iは < COUNT$データ)[ 'トレース']; $ I ++ ){
         $ STR = "時間:." $データ [ 'トレース'] $ I 'AcceptTime' [] ..] "<BR/>アドレス:" $データ [ '痕跡'] [ $ I ] [ 'AcceptStation'] "" ; 
    } 
} 
エコー "あなたのクエリは、単一の番号:.ある" $データ [ 'LogisticCode'] " 
ストリーム情報:。" $ STRを "" ;
} // --------------------------------------------- / * * 
 * JSON方法問い合わせオーダ物流軌道* /


 

 
関数 getOrderTracesByJson($ KGS$番号){ 

    $ requestData = "{ 'OrderCode': ''、 'ShipperCode': ' $ KGS '、 'LogisticCode': ' $番号 '}" 
    
    $ DATAS = 配列 'EBusinessID' => EBusinessID、
        'RequestType' => '1002'、
        'RequestData' => でurlencode$ requestData)、
        'データ型' => '2'、 
    )。
    $ DATAS [ 'DataSign'] =暗号化($ requestDataのAppKey)。
    $結果 = sendPost(ReqURL、$ DATAS )。    
    
    //返された情報処理事業...... 
    戻り ます$ result ; 
} 
 
/ * * 
 提出* POSTデータは、
 * @paramの文字列$ urlはURLをリクエスト
 * @param配列データDATASの$の提出
 *の@returnのURL応答がHTMLを返さ
 * / 
関数 sendPost($のURL$ DATAS ){
     $タン = 配列();    
     foreachの$ DATAS  AS  $キー => $値){
         $タン [] =用のsprintf( '%S =%のS'、$キー値$ );         
    }     
    $ post_data =内破(、 '&' $タン);
    $ url_info = でもparse_url$のURL );
    もし$ url_info [ 'ポート' ]))
    { 
        $ url_info [ 'ポート'] = 80 
    } 
    $ httpheader = "POST"。url_info $ [ 'パス']。"HTTP / 1.0 \ r \ n"が$ httpheader。= "ホスト:"。url_info $ [ 'ホスト']。"\ r \ nの" ;
    $ httpheader。= "Content-Typeの:/ x-www-form-urlencodedでの\ r \ nアプリケーション" ;
    $ httpheader=「コンテンツ長:」。strlen関数$ post_data)。"\ r \ nの" ;
    $ httpheader。= "接続:閉じるの\ r \ n \ r \ nの" ;
    $ httpheader。= $ post_data $ FD = fsockopenの$ url_info [ 'ホスト']、$ url_info [ 'ポート' ])。
    fwriteの$ FD$ httpheader )。
    $なります "" = ;
    $ headerFlag = ;
    しばらく(!FEOF$ fdの)){
         場合(($ヘッダー = @ 関数fgets$ FD))&&($ヘッダ == "\ R \ n" || $ヘッダ == "\ n" )){
             破ります
        } 
    } 
    ながら(!FEOF$ fdが)){
         $取得 = のfread$ FD、128 )。
    } 
    FCLOSE$のFD )。  
    
    返す $取得します
} 

/ * * 
 *电商ログイン签名生成
 * @paramデータ内容    
 * @param APPKEY APPKEY 
 * @return DataSign签名
 * / 
機能の暗号化($データ$のAPPKEY ){
     リターン でurlencodeBASE64_ENCODEMD5$データ$のAPPKEY )))。
}

?>

 

おすすめ

転載: www.cnblogs.com/kdn2019/p/11586183.html