Closed holospl closed 4 years ago
zakładając, że komunikat masz poprawny, zauważyliśmy, że kod pocztowy (i miejscowość?) na koncie sprzedawcy allegro musi pasować do kodu pocztowego w profilach nadawcy w e-nadawcy (??? ale dlaczego to nie wiadomo)... może to jest problemem- spróbuj zmienić kod i miasto w e-nadawcy aby pasowało do danych z konta Allegro
Cenna uwaga, dzięki. Niestety w allegro jak i w ustawieniach e-nadawcy miejscowość i kod są takie same. Poza tym pewnie wpłynęło by to na inne przesyłki allegro. Allegro Pocztex Kurier 48 + wariant z pobraniem + Allegro Przesyłka polecona działają bez problemu...
ten kod u nas działa może chodzi jeszcze o dodanie placowkaPocztowaType? jest tam placowka.id gdzie wpisujemy id punktu...
placowkaPocztowaType placowka = new urzadWydaniaEPrzesylkiType();
placowka.id = Convert.ToInt32(this.NewParcelData.Target_point);
// chyba coś takiego? bo już nie ma urzadWydaniaEPrzesylki... (2019-03-23)
placowka.punktWydaniaEPrzesylki = true;
placowka.punktWydaniaEPrzesylkiSpecified = true;
placowka.nazwa = this.NewParcelData.Receiver_company_name;
placowka.kodPocztowy = this.NewParcelData.Receiver_post_code;
placowka.miejscowosc = this.NewParcelData.Receiver_city;
placowka.ulica = this.NewParcelData.Receiver_street;
placowka.numerDomu = this.NewParcelData.Receiver_building_number;
subs.Add(placowka);
Dziękuje za pomoc, prawdopodobnie coś jest na rzeczy z placowkaPocztowaType., Ta dokumentacja od EN to żart, urzadWydaniaPrzesylki jest opisany jako element typu placowkaPocztowaType, ale urzadWydaniaEPrzesylki już nie. Niestety przerobiłem wysyłane informacje zgodnie z sugestią dalej mi to nie pomogło, aktualnie wygląda to w następujący sposób. Eh.
przesylkaBiznesowaType Object
(
[pobranie] =>
[subPrzesylka] =>
[masa] =>
[gabaryt] => XXL
[wartosc] =>
[ostroznie] =>
[adres] => adresType Object
(
[nazwa] => Sklep Żabka
[nazwa2] =>
[ulica] => Ignacego Mościckiego 86
[numerDomu] =>
[numerLokalu] =>
[miejscowosc] => Tarnów
[kodPocztowy] => 33100
[kraj] => Polska
[telefon] => 506733xxx
[email] => az02yyihit+37d9b8e61@allegromail.pl
)
[relatedToAllegro] => relatedToAllegroType Object
(
[id] => 3e368633-f6f2-11e9-9ba5-4511490aca55
[sellerId] => 321298xxx
[channel] => REST_API
[deliveryMethod] => 10062
)
[urzadWydaniaEPrzesylki] => placowkaPocztowaType Object
(
[lokalizacjaGeograficzna] =>
[id] => 783495
[prefixNazwy] =>
[nazwa] =>
[wojewodztwo] =>
[powiat] =>
[miejsce] =>
[kodPocztowy] => 33100
[miejscowosc] => Tarnów
[ulica] =>
[numerDomu] =>
[numerLokalu] =>
[nazwaWydruk] =>
[punktWydaniaEPrzesylki] => 1
[powiadomienieSMS] =>
[punktWydaniaPrzesylkiBiznesowejPlus] => 1
[punktWydaniaPrzesylkiBiznesowej] => 1
)
[guid] => BCDCDD0CB73FA689CF003F719EB5325A
)
witam, nie zauważyłem wcześniej, że delivery method trzeba użyć stałe dla rest api a nie web api (czyli nie 10062 tylko jakiś guid - jest w dokumentacji)... (która jest jaka jest :) mogłaby być lepsza, ale to chyba dotyczy każdej dokumentacji :)
Żebyśmy się dobrze zrozumieli, to jest REST API, a dla dla REST_API podaje się ID numeryczne. Dla odbioru w punkcie jest to 10062, dla pocztex kurier 26, dla poleconego 28 itd itd. Wspomniane wcześniej metody działają, problem jest tylko z doprocyzowaniem dla punktu odbioru samego punktu, zresztą tak twierdzi komunikat błędu.
dla REST_API z tego używasz w polu [deliveryMethod] zamiast 10061 trzeba podać guid czyli dla pobrania "88f677d9-c125-45e0-bdf0-f965826542a9" a bez pobrania "849a8308-240d-4045-ab30-f8207815bce4";
case "KURIER POCZTEX OWP":
case "POCZTA POLSKA OWP":
case "KURIER POCZTEX48 OWP":
case "KURIER POCZTEX24 OWP":
if (isCOD == true)
// Allegro Poczta Polska Odbiór w Punkcie pobranie
res = allegroApiType == relatedToAllegroChannelType.WEB_API ? "20062" : "88f677d9-c125-45e0-bdf0-f965826542a9";
else
// Allegro Poczta Polska Odbiór w Punkcie
res = allegroApiType == relatedToAllegroChannelType.WEB_API ? "10062" : "849a8308-240d-4045-ab30-f8207815bce4";
break;
Kurczę, to jest ciekawe, dlatego że po pierwsze jeżeli podawałbym złe ID to przecież Allegro Pocztex Kurier 48, Allegro Pocztex Kurier 48 i Allegro Przesyłka Polecona nie powinny działać, a działają bez najmniejszego problemu.
Ponadto w dokumentacji od Elektronicznego Nadawcy jest zapis "Atrybut zawierający id sposobu dostawy zgodny ze sposobami obsługiwanymi przez Pocztę Polską, zawartymi w tabeli Sposoby dostawy Allegro."
ID, nie GUID, ale skoro u Ciebie działa, to nie pozostaje mi nic innego jak podmienić ID na GUID i zobaczyć czy jakkolwiek wpływa to na działanie istniejących już metod i tej nieszczęsnej dostawy z odbiorem w pukcie :) Sprawdzę dzisiaj i dam znać.
Udało mi się ustalić co jest problemem.
Komplet wysyłanych danych powinien wyglądać tak:
przesylkaBiznesowaType Object
(
[pobranie] =>
[urzadWydaniaEPrzesylki] => stdClass Object
(
[id] => 808464
)
[subPrzesylka] =>
[masa] =>
[gabaryt] => XXL
[wartosc] =>
[ostroznie] =>
[adres] => adresType Object
(
[nazwa] => XXXXX
[nazwa2] =>
[ulica] => Cieszyńska 71
[numerDomu] =>
[numerLokalu] =>
[miejscowosc] => Bielsko-Biała
[kodPocztowy] => 43300
[kraj] => Polska
[telefon] => 51024xxx
[email] => 9o6pibghx6+10ba1e2c9@allegromail.pl
)
[relatedToAllegro] => relatedToAllegroType Object
(
[id] => 3e52d5d1-fa29-11e9-be44-df6b5ed471af
[sellerId] => 321298224
[channel] => REST_API
[deliveryMethod] => 10062
)
[guid] => 7D766375EDFAAEA9AF4171A880A6202D
)
Różnicą w porównaniu z ostatnim kodem jest brak deklaracji urzadWydaniaEPrzesylki jako placowkaPocztowaType.
Eh. No nic, zostawiam to tutaj dla potomnych, problem rozwiązany. Dziękuje Zbigniew-L za próbę pomocy! :) PS. API działa wobec tego prawdopodobnie prawidłowo zarówno z ID, jak i GUID.
W tym wątku nie pojawiła się żadna nowa odpowiedź w ciągu 30 dni. Dlatego automatycznie oznaczamy go jako przeterminowany. Jeśli w ciągu 7 dni nie pojawi się żadna odpowiedź, zamkniemy ten wątek. Dziękujemy za zaangażowanie w dyskusję.
Czołem,
mam zrobioną integrację z pocztą, wszystkie metody działają oprócz allegro odbiór w punkcie. Cały czas otrzymuje błąd. Napisałem do opiekuna handlowego z PP, ale raczej nie kwapią się do szybkiej odpowiedzi, czy ktoś mógłby coś podpowiedzieć? Wiem, że to nie jest pytanie związane bezpośrednio z API Allegro, mimo wszystko metoda jest związana z serwisem wobec czego zaryzykuję i zapytam. :)
Błąd który zwraca mi ich API:
addShipmentResponse Object ( [retval] => addShipmentResponseItemType Object ( [error] => errorType Object ( [errorNumber] => 81065 [errorDesc] => Sposób dostawy Allegro wskazuje na odbiór w punkcie, ale przesyłka nie ma ustawionego punktu odbioru. [guid] => F9E15A54971D7330CB9770D3C31482B0 ) [numerNadania] => [guid] => F9E15A54971D7330CB9770D3C31482B0 ) )
Wysyłane przeze mnie do nich informacje:
Gdzie leży problem?..