Autor Zpráva
Musilda
Profil
Chci se zeptat, zde zde někdo již nenapojoval systém DPD. Když odešlu data, vrátí se mi odpověď s chybou a nevytvořeným číslem zásilky.

$client   = new SoapClient('https://www.mojedpd.cz/IT4EMWebServices/eshop/ShipmentServiceImpl?wsdl', array());
           
        $data = array(
                  'wsUserName' => $my_dpd_username,
                  'wsPassword' => $my_dpd_password,          
                  'wsLang' => 'CS',          
                  'applicationType' => 9,          
                  'priceOption' => 'WithoutPrice'                
                );
        $data['shipmentList'] = array();        
        
        $data['shipmentList']['shipmentReferenceNumber'] = $order_id;
        $data['shipmentList']['payerId']                 = $adres_id;
        $data['shipmentList']['senderAddressId']         = $sender_id;
        $data['shipmentList']['receiverName']            = 'Karel Vomáčka';
        $data['shipmentList']['receiverFirmName']        = 'Vomačka';
        $data['shipmentList']['receiverCountryCode']     = 'CZ';
        $data['shipmentList']['receiverZipCode']         = '19000';
        $data['shipmentList']['receiverCity']            = 'Praha 9';
        $data['shipmentList']['receiverStreet']          = 'Sokolovská 14';
        $data['shipmentList']['receiverHouseNo']         = '14';
        $data['shipmentList']['receiverPhoneNo']         = '123456789';
        $data['shipmentList']['mainServiceCode']         = '1';
        $data['shipmentList']['parcels']                 = array(               
                                                                         'parcelReferenceNumber' => 'WS'.$order_id,                
                                                                         'weight' => $weight
                                                                      );        
      
        $paymentStatus = $client->createShipment($data);

Všechny proměnné jsou naplněné, ordrer id je vždy unikátní číslo, dle pořadového čísla objednávky, například 157.
Obdržená odpověď:


object(stdClass)#7370 (1) { ["result"]=> object(stdClass)#7371 (2) { ["transactionId"]=> int(6174) ["resultList"]=> object(stdClass)#7372 (6) { ["shipmentReference"]=> object(stdClass)#7373 (2) { ["id"]=> NULL ["referenceNumber"]=> string(3) "158" } ["price"]=> NULL ["error"]=> object(stdClass)#7374 (3) { ["code"]=> int(123) ["text"]=> string(51) "Message definition not found for this message id:0 " ["solution"]=> NULL } ["shipmentDate"]=> NULL ["shipmentTime"]=> NULL ["message"]=> NULL } } } 

přičemž shipmentReference->id je NULL, z čehož usuzuji, že se zásilka nevytvoří.

Bohužel podpora na DPD -> Kluk co umí číst emaily -> někdo, kdo umí poslat požadavek na IT oddělení -> a tam jsou asi všichni v Karibiku.

Bud vděčný za jakoukoliv pomoc.
kzk_cz
Profil *
Napiš nějakému šéfovi, že čekáš na odpověď X dní, že Vám díky tomu špatně funguje systém a jestli to nejde řešit, tak přejdete jinam. :) Profit??
rickczsu
Profil
Musilda:
Podařilo se ti to nějak vyřešit? Stejný problém. { ["code"]=> string(5) "50031" ["text"]=> string(50) "Message definition not found for this message id:0" ["solution"]=> NULL } při pokusu o zjištění stavu zásilky. DPD podpora taktéž k ničemu. Díky
David Foltyn
Profil
rickczsu:

Chyba je v parametru 'wsLang' => 'CS',
Správně má být CZ
Chamurappi
Profil
Reaguji na Davida Foltyna:
Jako vážně? Ona tato služba nedodržuje standardizované ISO označení jazyků? Zdroj?
David Foltyn
Profil
Ano, jako vážně.
Viz dokumentace www.dpd.com/cz/business_customers/vas_pruvodce_prepravou/aplikace_a_nastroje/vlastni_software (Příručka programátora a webové služby (1,87 MB)) - strana 55
Chamurappi
Profil
Reaguji na Davida Foltyna:
Na straně 55 je seznam kódů zemí, nepíše se tam nic o tom, že by se tyto kódy měly používat v parametru wsLang. Jinde v dokumentaci jsou uvedený příklady s <wsLang>EN</wsLang> a kód EN v tabulce na straně 55 nikde není (což je logické, protože EN není kód země, ale kód jazyka). V dokumentaci nikde není výčet jazyků, proč si tedy myslíš, že nepoužívají standardizovaná označení?
TomášK
Profil
Na straně 3 píšou ... K jejich (=služeb) použití potřebujete uživatelské jméno a heslo, identifikaci plátce (payerId), identifikaci adresy svozu (addressId), nastavení jazyka (CZ) a parametr applicationType=9.

Z toho lze domyslet, že tam asi chtějí CZ, ale ... meh.
David Foltyn
Profil
Protože to mám zrovna před sebou otevřené a uplně stejnou chybu mě to zobrazovalo, stačí změnit na CZ a komunikace funguje. Je to zvláštní, nějaký čas jsem se s tím taky trápil ale je to tak.

Na straně 5 je také zmínka o nastavení
K jejich použití potřebujete uživatelské jméno a heslo, identifikaci plátce (payerId), identifikaci adresy svozu (addressId), nastavení jazyka (CZ) a parametr applicationType=9.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: