Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> API poczta polska, komunikacja z API PP
marcinosko
post 24.04.2017, 16:44:28
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 18.10.2014

Ostrzeżenie: (0%)
-----


Witam,
Tworzę aplikację na laraverze i chce ją zintegrować z API poczty polskiej, wszystkie metody niby działają, ale jak przyjdzie mi utworzyć paczkę metodą addShipment za kazdym razem dostaje komunikat "[33203] Produkt ('Przesylka nieobsługiwana ()') nie znajduje się na umowie zawartej z Poczta Polską S.A.".

Integrował się ktoś z pocztą i jest w stanie pomóc ? Jest w stanie ktoś pomóc, a może miał ktoś taki sam problem ?
Z góry dzięki.


  1. public function addpaczka(){
  2. mt_srand((double)microtime() * 10000);
  3. $charid = strtoupper(md5(uniqid(rand(), true)));
  4. $retval = substr($charid, 0, 32);
  5.  
  6.  
  7. $client = new \SoapClient(storage_path().'/app/en.wsdl', [
  8. 'login' => __user__,
  9. 'password' => __password__,
  10. 'location' => __wsdl__
  11. ]);
  12. $parameters = new \stdClass();
  13. $response = $client->__soapCall('getKarty',array($parameters));
  14. var_dump($response); echo'<br>';
  15. $response->karta = $this->convertToArray($response->karta);
  16. $this->karty = $response->karta;
  17.  
  18. $parameters = new \stdClass();
  19. $parameters->idKarta = reset($this->karty)->idKarta;
  20. $response = $client->__soapCall('setAktywnaKarta',array($parameters));
  21. var_dump($parameters);echo'<br>';
  22. $response = new \stdClass();
  23.  
  24. $blank=new \stdClass();
  25. $response = $client->__soapCall('clearEnvelope',array($blank));
  26. var_dump($response);echo'<br>';
  27.  
  28.  
  29. $paczka = new \stdClass();
  30. $paczka->epo = NULL;
  31. $paczka->zasadySpecjalne = NULL;
  32. $paczka->posteRestante = NULL;
  33. $paczka->iloscPotwierdzenOdbioru = NULL;
  34. $paczka->kategoria = 'PRIORYTETOWA';
  35. $paczka->gabaryt = 'GABARYT_B';
  36. $paczka->masa = NULL;
  37. $paczka->wartosc = 20000;
  38. $paczka->zwrotDoslanie = NULL;
  39. $paczka->egzemplarzBiblioteczny = NULL;
  40. $paczka->dlaOciemnialych = NULL;
  41. $paczka->adres = new \stdClass();
  42. $paczka->adres->nazwa = "Jan Kowalski";
  43. $paczka->adres->ulica = "Kowalska";
  44. $paczka->adres->numerDomu = "666";
  45. $paczka->adres->numerLokalu = "666";
  46. $paczka->adres->kodPocztowy = "66-666";
  47. $paczka->adres->miejscowosc = "Warszawa";
  48. $paczka->guid = $this->getGuid();
  49.  
  50. $this->przesylki[] = $paczka;
  51.  
  52. echo "<br>========<b>testAddShipment</b>====================<BR>";
  53. $parameters = new \stdClass();
  54. $parameters->przesylki = $this->przesylki;
  55. var_dump($parameters);
  56. echo '<br><br><br>';
  57. $response = $client->__soapCall('addShipment', array($parameters));
  58.  
  59. print_r($response);
  60. echo '<br><br>';
  61. $response->retval = $this->convertToArray($response->retval);
  62. foreach($response->retval as $przesylka){
  63. if(is_null($przesylka->error))
  64. $this->przesylkiDodane[] = $przesylka;
  65. else{
  66. echo "<B>Nie udało się dodać przesyłki </B>" . $przesylka->guid . " z powodu błędów.<BR>";
  67. $this->printErrors($przesylka->error);
  68. }
  69. }
  70.  
  71. }



i var_dampy

  1.  
  2. object(stdClass)#293 (1) { ["karta"]=> object(stdClass)#301 (3) { ["idKarta"]=> int(111111) ["opis"]=> string(0) "" ["aktywna"]=> bool(true) } }
  3. object(stdClass)#303 (1) { ["idKarta"]=> int(111111) }
  4. object(stdClass)#304 (1) { ["retval"]=> bool(true) }
  5.  
  6. ========testAddShipment====================
  7. object(stdClass)#306 (1) {
  8. ["przesylki"]=> array(1) {
  9. [0]=> object(stdClass)#293 (13) {
  10. ["epo"]=> NULL ["zasadySpecjalne"]=> NULL
  11. ["posteRestante"]=> NULL
  12. ["iloscPotwierdzenOdbioru"]=> NULL
  13. ["kategoria"]=> string(12) "PRIORYTETOWA"
  14. ["gabaryt"]=> string(9) "GABARYT_B"
  15. ["masa"]=> NULL
  16. ["wartosc"]=> int(20000)
  17. ["zwrotDoslanie"]=> NULL
  18. ["egzemplarzBiblioteczny"]=> NULL
  19. ["dlaOciemnialych"]=> NULL
  20. ["adres"]=> object(stdClass)#305 (6) {
  21. ["nazwa"]=> string(12) "Jan Kowalski"
  22. ["ulica"]=> string(8) "Kowalska"
  23. ["numerDomu"]=> string(3) "666"
  24. ["numerLokalu"]=> string(3) "666"
  25. ["kodPocztowy"]=> string(6) "66-666"
  26. ["miejscowosc"]=> string(8) "Warszawa" }
  27. ["guid"]=> string(32) "0C74BD108BC894B10C7E9AF3671F73E9" } } }
  28.  
  29.  
  30. stdClass Object ( [retval] => stdClass Object (
  31. [error] => stdClass Object (
  32. [errorNumber] => 33203
  33. [errorDesc] => Produkt ('Przesylka nieobsługiwana ()') nie znajduje się na umowie zawartej z Poczta Polską S.A.
  34. [guid] => 0C74BD108BC894B10C7E9AF3671F73E9 )
  35. [guid] => 0C74BD108BC894B10C7E9AF3671F73E9 ) )
  36.  
  37. Nie udało się dodać przesyłki 0C74BD108BC894B10C7E9AF3671F73E9 z powodu błędów.
  38. [33203] Produkt ('Przesylka nieobsługiwana ()') nie znajduje się na umowie zawartej z Poczta Polską S.A. 0C74BD108BC894B10C7E9AF3671F73E9
  39. null
Go to the top of the page
+Quote Post
bostaf
post 26.04.2017, 08:24:50
Post #2





Grupa: Zarejestrowani
Postów: 374
Pomógł: 79
Dołączył: 6.04.2010
Skąd: Ostrów Wielkopolski

Ostrzeżenie: (0%)
-----


Cześć marcinosko,
Ja nie miałem z tym do czynienia, ale mam pytanie, z ciekawości.
Wywołujesz tam funkcję addShipment. Zajrzałem do dokumentacji i specyfikacji tego API i nie mogę tej funkcji tam znaleźć... Gdzie ta funkcja jest opisana? Szukałem tutaj.
Go to the top of the page
+Quote Post
markonix
post 26.04.2017, 09:18:28
Post #3





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

Ostrzeżenie: (0%)
-----


Integrowałem, jest ciężko ale się udało. Błąd też miałem ale nie pamiętam jak go rozwiązałem, pusty nawias sugeruje, że źle przesyłasz typ bo go nie widzi.
Czemu jedziesz na stdClassach skoro w dokumentacji nawet wspominają żeby opierać się o odpowiednie typy

Tu masz coś co Ci pomoże:
https://github.com/jupeter/ElektronicznyNadawca


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 27.04.2025 - 06:23