allegro / allegro-api

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

Brak przyczyny nieopublikowania aukcji #9740

Open Pitupitupit opened 2 months ago

Pitupitupit commented 2 months ago

Dzień dobry,

Nie potrafię znaleźć w odpowiedziach z API dlaczego aukcja nie może zostać opublikowana. Komunikat z błędem dostaję dopiero przy aktualizacji ceny aukcji: "Please remove links to external sales websites outside Allegro from the offer description. You can only provide links to websites that include additional information about the product". Jest on dla mnie jasny. Rozumiem, że z tego powodu, aukcja nie może zostać opublikowana.

Ale jak mam uzyskać taką informację po publikacji aukcji za pomocą żądania POST /sale/product-offers? Sekcja validation w odpowiedzi jest pusta. Nawet gdy dostanę 202 w odpowiedzi i sprawdzam potem status procesowania, to nigdzie informacji o tym błędzie nie mam.

Pozdrawiam

AureliuszBrussy commented 2 months ago

Niektóre procesy walidacji działają asynchronicznie, natomiast, aby mógł się przyjrzeć temu przypadkowi - czy mógłbyś wskazać konkrenty przykład? Na pewno sprawdzasz status procesowania do samego końca, tzn. aż do momentu statusu 303 See Other? Możesz podać przykładową ofertę, lub najlepiej trace-id operacji, gdzie dostajesz zwrotkę o tym, że oferta jest aktywna, a później przy edycji ceny otrzymujesz ten błąd walidacji (najlepiej także trace-id)? Trace-id znajdziesz w nagłówku naszego response'a.

Pitupitupit commented 2 months ago

@AureliuszBrussy,

gdzie dostajesz zwrotkę o tym, że oferta jest aktywna, a później przy edycji ceny otrzymujesz ten błąd walidacji

źle się zrozumieliśmy - nie dostaję informacji, że oferta jest aktywna. W odpowiedzi GET /sale/products-offers dostaję informację, że jest nieaktywna, ale nie ma tam informacji dlaczego nie udało się jej aktywować (pusta sekcja validation) - przykładowy trace-id 3d231d42f8b63779. Później przy aktualizacji ceny dostaję błąd (komunikat w opisie), że nie można jej zaktualizować (i podejrzewam, że dlatego nie udało się aukcji aktywować).

AureliuszBrussy commented 2 months ago

Wskazaną ofertę utworzyłeś ze statusem INACTIVE. Tak jak wspomiałem, walidacja jest realizowana asynchronicznie. Zwróć uwagę, że wraz z odpowiedzią ze statusem 202 zwracamy w nagłówku Location url do zasobu (w formie GET /sale/product-offers/{offerId}/operations/{commandId}), gdzie sprawdzisz status operacji. Widzę, że prawidłowo zapisaliśmy tą operację i po jej odpytaniu zwróciliśmy błąd walidacji, o którym piszesz.

Pitupitupit commented 2 months ago

Dzięki za pomoc!

Widzę, że wtedy na /sale/product-offers/{offerId}/operations/{operationId} zwracana jest 422 z komunikatem błędu. Niestety nie ma o tym informacji w dokumentacji (brak tam w ogóle informacji o 422) https://developer.allegro.pl/documentation#operation/getProductOfferProcessingStatus

Nielogiczne dla mnie jest to, że po nie przejściu walidacji, sekcja validation w odpowiedzi na GET /sale/products-offers jest pusta. Skoro nie przeszło walidacji, to czemu tam nie ma komunikatu błędu?

AureliuszBrussy commented 2 months ago

@Pitupitupit dzięki za zwrócenie uwagi, poruszę tą kwestię z odpowiednim zespołem.