03 września 2024
Zasoby /sale/product-offers oraz /sale/product-offers/{offerId} - wprowadziliśmy nowy obiekt "warnings"
Dzisiaj wprowadziliśmy nową tablicę obiektów "warnings", którą zwracamy w odpowiedzi dla:
Jakie informacje zwracamy w nowym obiekcie?
W nowym obiekcie zwrócimy informacje o wszelkich problemach, które wystąpiły podczas procesowania żądania. Może zdarzyć się sytuacja, że żądanie zostanie zrealizowane częściowo i ze względu na niekrytyczny charakter części pól modelu oferty, zapiszemy (metody POST i PATCH) lub zwrócimy (metoda GET) dla nich wartość domyślną.
Które z pól modelu oferty uznajemy za niekrytyczne?
Zbiór pól niekrytycznych zdefiniujemy w przyszłości. Aktualnie tablica ta zawsze będzie pusta. Przygotuj się jednak do jej prawidłowej obsługi przez Twoje oprogramowanie.
Informacje o polach niekrytycznych umieścimy bezpośrednio w dokumentacji:
Będziemy informować o przyszłych zmianach dla poszczególnych pól.
Jaki skutek przyniesie zmiana?
Dla danych, które uznajemy za niekrytyczne (tylko określonych przypadków), zamiast błędu z grupy 5xx, zwrócimy prawidłową odpowiedź 200, 201 lub 202:
- Dla metody POST i PATCH - w obiekcie "warnings" przekażemy informację o tym, dla którego z pól zamiast żądanej wartości, zapisaliśmy wartość domyślną.
- Dla metody GET - obiekt "warnings" będzie zawierał informacje o zwróconych danych, które mogą być niezgodne z rzeczywistym stanem oferty. Powodem jest nieudana próba pobrania danych dla określonej w "warnings" ścieżki.
Przykładowa zawartość obiektu warnings:
{
"code": "RequestPartiallyComplete",
"message": "Some of the data provided in the request was not saved",
"details": null,
"path": "messageToSellerSettings",
"userMessage": "Some of the data provided in the request was not saved. It will default to OPTIONAL",
"metadata": {
"savedDefaultValue": "OPTIONAL"
}
}
]
Co zmienić w swoim oprogramowaniu?
Uznajemy, że błędy te powinny być przekazywane użytkownikowi końcowemu oprogramowania. Na przykład, mogą być one mapowane do odpowiednich pól wejściowych w oprogramowaniu (przy użyciu parametru "path") i prezentowane jako błędy lub ostrzeżenia. Dzięki temu użytkownik będzie mógł zdecydować, czy chce ponowić żądanie lub edytować ofertę później.
Więcej o wystawianiu oferty produktu oraz zarządzaniu ofertami znajdziesz w naszych poradnikach: