Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: API poczta polska
Forum PHP.pl > Forum > PHP
marcinosko
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
bostaf
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.
markonix
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.