2013-02-15 24 views
6

मैं वर्तमान में एक परियोजना है, जहां मैं एक पैकेट (डीएचएल के साथ भेजा) की स्थिति प्राप्त करने के लिए पर काम कर रहा हूँ। मैंने डीएचएल एपीआई के बारे में पढ़ा है, जो एक एक्सएमएल लौटाता है, लेकिन किसी भी तरह से वहां कोई अच्छा उदाहरण नहीं है। मुझे कुछ कोड स्निपेट मिले हैं, लेकिन मेरे पास कोई संकेत नहीं है कि एपीआई कुंजी के लिए पंजीकरण करना है।डीएचएल ट्रैकिंग एपीआई और PHP

मेरे लिए किसी को भी कुछ लिंक या उदाहरण है?

सादर, लुकास

+0

आप इस के साथ कहीं भी मिल के रूप में मैं एक ऐसी ही समस्या आ रही है क्या: http://stackoverflow.com/questions/16860991/dhl-trackshipmentrequest-wdsl-php-soap –

+0

नहीं है, वास्तव में नहीं। मैंने प्रोजेक्ट को रोक दिया क्योंकि यह गहन काम करना था क्योंकि वहां कोई अच्छी/असली एपीआई नहीं है। –

उत्तर

3

वहाँ भी इस पीएचपी ग्राहक कि डीएचएल XML API उपभोग करने के लिए इस्तेमाल किया जा सकता है। यह डीएचएल द्वारा उजागर की गई सभी अलग-अलग सेवाओं को संभाल सकता है।

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

इस ग्राहक भरोसा नहीं करता है या किसी भी ढांचे पर निर्भर करते हैं और यह अपने खुद के कोड के साथ एकीकृत करने काफी आसान होना चाहिए। उदाहरण के लिए आप नमूने फ़ोल्डर की जांच कर सकते हैं कि इसका उपयोग कैसे करें।

1

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

यह एयर रास्ता बिल का उपयोग कर शिपमेंट को ट्रैक करने के लिए XML पीआई का उपयोग कर डीएचएल में कनेक्ट करने के लिए प्रयोग किया जाता है। यह एक ट्रैकिंग नंबर को संभाल सकता है या जितना आप इसे खिलाते हैं (250 के साथ परीक्षण किया गया है और अन्य को चलाने के लिए थोड़ा समय लेना कोई समस्या नहीं थी)। स्वचालित रूप से लेता है और टुकड़ों में ट्रैकिंग नंबर की सरणी टूट जाता है और उसके बाद यह सुनिश्चित अधिकतम संख्या है कि अनुरोध के अनुसार तो ट्रैक किया जा सकता एक सरणी के रूप में परिणाम देता है नहीं पारित करने के लिए कर रही है डीएचएल के लिए अनुरोध भेजता है।

+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 
) 

(वास्तव में, वहाँ रास्ता अधिक डेटा है । वहाँ में)

मुझे आशा है कि इस som में मदद मिलेगी ई रास्ता

+0

भाषा कोड को "एन" में बदलें (या जो कुछ भी आपको उपयुक्त बनाता है, बशर्ते डीएचएल इसका समर्थन करता हो) और आपका कोड अंग्रेजी में डेटा लौटाता है। मुझे अभी तक उपलब्ध भाषाओं की एक सूची नहीं मिली है। –

+0

इस काम को करने के लिए मुझे क्या बदलाव करने की ज़रूरत है? – piguy