2013-02-15 9 views
6

現在、私は(DHLで送信された)パケットのステータスを取得する必要があるプロジェクトに取り組んでいます。私はXMLを返すDHL APIについて読んだが、何とか良い例はない。私はいくつかのコードスニペットを見つけましたが、私はAPIキーをどこに登録するのか分からない。DHLトラッキングApiとPHP

誰かに私のためのリンクや例がありますか?

敬具、 ルーカス

+0

私は同様の問題を持っているとして、あなたはこれでどこに行くんでした: http://stackoverflow.com/questions/16860991/dhl-trackshipmentrequest-wdsl-php-soap –

+0

いや、そうでもありません。私はそこに良い/実際のAPIがないので集中的に働くようにプロジェクトを停止しました。 –

答えて

3

DHL XML APIを使用するために使用できるこのPHPクライアントもあります。 DHLによって公開されているさまざまなサービスをすべて処理できます。

https://github.com/alfallouji/DHL-API

このクライアントは、依存しているか、いずれかのフレームワークに依存し、あなた自身のコードに統合することはかなり簡単なはずはありません。サンプルフォルダの使用方法の例を確認できます。

1

https://github.com/jklz/DHL-API-Tracking-PHP

エアウェイビルを使用して出荷を追跡するために、XML-PIを使用してDHLに接続するために使用されます。 1つのトラッキング番号を扱うことができます。また、250まで試してみると、少し時間をかけても問題はありません。自動的にトラッキング番号の配列をチャンクに分割し、DHLに要求を送信し、要求ごとに追跡可能な最大数を渡さないようにして、結果を配列として返します。

+0

こんにちは、ありがとうございました。私は既にそれを見つけましたが、バグを含んでいて正しく動作しておらず、ユーザー名とパスワードで認証する必要があります。あなたはこれらを入手する場所を知っていますか? –

0

これについては素晴らしいブログがあります。残念なことにドイツ語ですが、そこに表示されているコードはまだあなたにとって意味があるはずです。

出典:https://blog.simlau.net/dhl-tracking-api-php.html

抜粋:

function dhl_tracking($trackingnumber) 
{ 
    $data = '<?xml version="1.0" encoding="ISO-8859-1" ?>'; 
    $data .= '<data appname="nol-public" password="anfang" request="get-status-for-public-user" language-code="de">'; 
    $data .= ' <data piece-code="'.$trackingnumber.'"></data>'; 
    $data .= '</data>'; 

    // URL bauen und File hohlen 
    $xml = simplexml_load_file(sprintf(
     'http://nolp.dhl.de/nextt-online-public/direct/nexttjlibpublicservlet?xml=%s', $data 
    )); 

    // FALSE, wenn Syntax oder HTTP Error 
    if ($xml === false) return false; 

    // Wandelt das SimpleXML Objekt in ein Array um 
    foreach ($xml->data->data->attributes() as $key => $value) { 
     $return[$key] = (string) $value; 
    } 
    return $return; 
} 

// Aufruf der Funktion 
print_r(dhl_tracking($tracking_number)); 

この機能は、いくつかの追跡情報が含まれています配列をお返しします:

Array 
(
    [status] => Die Sendung wurde erfolgreich zugestellt. 
    [recipient-id-text] => Nachbar 
    [product-name] => DHL PAKET 
    [pan-recipient-name] => SIMON LAUGER 
) 

(実際には、WAYより多くのデータがあります

これはsomであなたを助けてくれることを願っていますe way。

+0

言語コードを "en"(またはDHLでサポートされているもの)に変更し、コードが英語でデータを返します。私はまだ提供された言語のリストを見つけていない。 –

+0

この作業にはどのような変更が必要ですか? – piguy

関連する問題