allegro / allegro-api

Issue tracker and wiki for Allegro REST API
https://developer.allegro.pl/
217 stars 39 forks source link

Jak ustawić dane nadawcy na etykiecie dla kuriera, błąd: "Inne dane na etykiecie" not supporter for carrier #5715

Closed tztztztz closed 2 years ago

tztztztz commented 2 years ago

Dzień dobry,

kiedy podejmowana jest próba utworzenia paczki dla metody dostawy Allegro ONE Box lub Punkt, i jednocześnie podaję dane nadawcy dla etykiety w parcel->label->sender, występuje błąd

"Inne dane na etykiecie" not supporter for carrier

i paczki nie udaje się stworzyć.

Jeżeli ustawimy parcel->label na NULL, paczkę udaje się stworzyć.

Jednak skutek jest taki, że po pobraniu etykiety PDF takiej paczki, dane odbiorcy pojawiają się oprócz swojego miejsca, także w miejscu danych nadawcy.

Dane odbiorcy/klienta ustawiam w parcel->receiver, oraz później w parcel->pickup->email, parcel->pickup->name, parcel->pickup->company, parcel->pickup->phone

W jaki sposób przez API ustawić dane nadawcy na etykiecie dla kuriera?

PrzemyslawLukanowski commented 2 years ago

Czy możesz przesłać nam za pomocą formularza kontaktowego przykładowy request, response oraz etykietę, gdzie w danych nadawcy pojawiły się dane odbiorcy? W zgłoszeniu dopisz proszę, że dane dotyczą wątku #5715 na GitHubie. Jeśli w polu label.sender przekazujesz null, powinno to rozwiązać problem, dlatego musimy przyjrzeć się bliżej temu przypadkowi.

tztztztz commented 2 years ago

Edit: wszystko dzieje się na testowym allegro, ale na produkcyjnym zachowanie jest takie same. Dane osobowe są tutaj cześciowo zanonimizowane, częściowo z publicznie dostępnych.

Ja chciałbym po pierwsze wiedzieć GDZIE się podaje te dane nadawcy które później mają się pojawić na etykiecie - bo tego nie wiadomo.

Czy to ma być w parcel.label.sender podczas tworzenia paczki? Tak mi się wydaje, ale nigdzie w dokumentacji tego nie piszecie, nic nie wiadomo, wszystkiego się trzeba domyślać.

Jednak kiedy przy tworzeniu paczki podaję w danych obiektu tworzenia paczki dane w parcel.label.sender, to przy weryfikacji stworzenia paczki, wyskakuje błąd który opisuję wyżej.

Poniżej JSON który jest wysyłany jako request, następnie kiedy robię sprawdzenie, czy udało się stworzyć paczkę przez GET /parcel-management/parcel-create-commands/{UUID} w odpowiedzi dostaję błąd opisany wyżej:

REQUEST i RESPONSE JSON z tworzenia paczki:

....

A teraz komenda sprawdzenia jak (nie)udało się stworzyć paczki:

[24-May-2022 13:31:55 Europe/Warsaw] GET /parcel-management/parcel-create-commands/8d3d62d5-9c54-483f-a1e0-4d682df363eb

[24-May-2022 13:31:55 Europe/Warsaw] RESPONSE {"id":"8d3d62d5-9c54-483f-a1e0-4d682df363eb","parcelId":null,"status":"ERROR","errors":[{"code":"ERROR","message":"\"Inne dane na etykiecie\" not supporter for carrier","details":null,"path":"/sender","userMessage":"Opcja 'Inne dane na etykiecie' nie są dostępne dla wybranego przewoźnika"}]}

W załączniku etykieta innej paczki, którą udało się stworzyć, bo komenda tworzenia paczki miała parcel.label ustawione na null:

etykieta-test.pdf

I tutaj w PDF widać, że dane odbiorcy pojawiają się dwa razy - tam gdzie trzeba oraz jako dane nadawcy, których to danych nie jestem w stanie przekazać do paczki. Przy czym to jest etykieta dla paczki o identycznych danych, tylko parcel.label jest null - jak widać, ul. Hrubieszowska w JSON występuje tylko raz w parcel.pickup.address.street, ale na etykiecie jest to dublowane.

PrzemyslawLukanowski commented 2 years ago

Ja chciałbym po pierwsze wiedzieć GDZIE się podaje te dane nadawcy które później mają się pojawić na etykiecie - bo tego nie wiadomo.

Dane te podajesz w polu label.sender, jednak nie każdy przewoźnik umożliwia, aby takie informacje przekazać. W takim przypadku to pole możesz pozostawić puste, a adres na etykiecie zostanie zaczerpnięty z pola pickup. Taka sytuacja ma miejsce właśnie w Twoim zgłoszeniu, adres na etykiecie to nie zdublowany adres odbiorcy, ale adres zaczerpnięty z pola pickup. Pickup to zgodnie z naszą dokumentacją dane nadawcy.

tztztztz commented 2 years ago

Przecież pickup to dane punktu odbioru, jak to mogą być dane nadawcy? Przecież to nie ma żadnego sensu.

W jaki sposób kurier dostarczy paczkę i gdzie, jeżeli nie podam danych punktu odbioru, tylko zamiast tego dane nadawcy?

Proszę zauważyć, że dane z pickup pojawiają się we wszystkich trzech miejscach, więc jeżeli zmienię je na dane nadawcy to na etykiecie nie mamy adresu odbioru.

PrzemyslawLukanowski commented 2 years ago

Pickup to miejsce nadania, dane odbiorcy to pole receiver.

tztztztz commented 2 years ago

Na pewno?

Przypominam, że w danych pickup jest np. "pointId" - "Pickup point id. You can get it from order or directly from courier service." - czyli miejsce punktu odbioru takiego jak paczkomat albo jakiś kiosk.

Nie ma żadnego innego miejsca gdzie mogę określić ten punkt odbioru paczki przez klienta, więc co - do pickup mam wstawić dane NADAWCY i w tych danych umieścić / tej strukturze umieścić id punktu odbioru który sobie wybrał klient?

tztztztz commented 2 years ago

I przypominam jeszcze raz: te dane będą powtórzone 3 razy na etykiecie: dane NADAWCY.

Proszę mi napisać, skąd kurier będzie wiedział gdzie ma dostarczyć paczkę, skoro na etykiecie będą tylko dane nadawcy w 3 miejscach?

tztztztz commented 2 years ago

Dowodem na to jest przykładowa etykieta którą wstawiłem wyżej: 3 razy jest na etykiecie ul Hrubieszowska, a w danych JSON ta ulica występuje tylko w danych pickup, z tego wniosek że dane z pickup są kopiowane 3 razy na etykiecie.