allegro / allegro-api

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

Message is not readable. Images[0] #6526

Closed redwingecommerce closed 1 year ago

redwingecommerce commented 1 year ago

Witam,

Próbuję przesiąść się z offers na product-offers. Przy poniższym req mam odpowiedź, że dane nie są czytelne, ze wskazaniem na zdjęcie. Proszę o pomoc - gdzie jest błąd? Środowisko: Sandbox.

RESPONSE: ( [code] => JsonMappingException [message] => Message is not readable. [details] => [path] => images[0] [userMessage] => Request contains invalid data. Contact the application author. )

REQUEST:

{ "id": "7698764700", "name": "[2004] Wózek widłowy Linde H18T 1,8t gaz przesuw", "category": { "id": "252945" }, "product": null, "parameters": [ { "id": "11323", "valuesIds": [ "11323_2" ], "values": [], "rangeValue": null }, { "id": "211406", "valuesIds": [ "211406_249626" ], "values": [], "rangeValue": null }, { "id": "1", "valuesIds": [], "values": [ "2004" ], "rangeValue": null }, { "id": "128813", "valuesIds": [], "values": [ "11000" ], "rangeValue": null }, { "id": "128829", "valuesIds": [], "values": [ "3.3" ], "rangeValue": null }, { "id": "128842", "valuesIds": [], "values": [ "1.8" ], "rangeValue": null }, { "id": "128841", "valuesIds": [ "128841_4" ], "values": [], "rangeValue": null } ], "customParameters": null, "description": { "sections": [ { "items": [ { "type": "TEXT", "content": "

Nasza firma działa od 1999 roku. Od małej firmy, wyodrębnionej z upadających Zakładów Bawełnianych, urośliśmy do rangi największego lokalnego (nieautoryzowanego) serwisu wózków Linde w regionie północno-wschodniej Polski.

Nasze wózki przygotowujemy pod klienta końcowego. Są one przeserwisowane, odmalowane i gotowe do pracy w momencie dostarczenia do klienta. Przygotowanie wózka z uwzględnieniem specyfikacji klienta zajmuje nam zazwyczaj ok. 3-4 tygodnie od wpłaty zaliczki.

Standard przygotowania wózka:

- wózek jest po przeglądzie ogólnotechnicznym (wymieniony olej silnikowy, filtry, rozrząd)

- silnik wózka jest sprawdzony pod kątem przecieków, remontujemy silniki, które tego wymagają

- elektryka i elektronika wózka jest sprawdzona i działająca

- rejestrujemy wózek na klienta w Urzędzie Dozoru Technicznego - wózek będzie zarejestrowany w urzędzie UDT, pod który podlega klient; termin UDT ustala inspektor (może to wpłynąć na termin wydania wózka)

- na wózek udzielamy 1-miesięcznej gwarancji z wyłączeniem rękojmi

Wyposażenie i opcje jego zmiany:

- opony pełne (superelastyczne), używane, czarne w cenie; nacięcie opon w cenie (inne warianty opon wg indywidualnej wyceny)

- maszt standardowy - podnoszenie ok. 3,3m; w cenie możliwość wymiany masztu na standardowy o innej wysokości (pod warunkiem jego dostępności); wymiana na maszt z wolnym skokiem (duplex, triplex) od 10 000 zł netto (cena uzależniona od wysokości podnoszenia i dostępności masztu)

- widły 1200mm - pozostałe wg indywidualnej wyceny

- półkabina (szyba przód, bez drzwi); dopłata do pełnej kabiny z ogrzewaniem 15000 zł netto; dopłata do samych drzwi 10000 zł netto; dopłata do kotar zamykanych na zamek 4000 zł netto

- sterowanie na na przełącznik jazdy

- wózek ma zamontowany przesuw boczny, inne osprzęty do wózka: takie jak: pozycjonery (przesuw z rozsuwem), pantografy, ściski, obrotnice, łyżki do śniegu i materiałów sypkich - na podstawie indywidualnej wyceny

Transport:

- koszt wysyłki wózka specjalistyczną lawetą transportową wynosi 5 zł netto/km liczone w obie strony przejazdu

- jesteśmy w stanie załadować wózek na dostosowany do tego transport, mamy również do dyspozycji rampę załadunkową

Zapraszamy!

" } ] } ] }, "compatibilityList": null, "tecdocSpecification": null, "images": [ { "url": "https://a.allegroimg.allegrosandbox.pl/original/119d87/3a51ac6d4e1987c6e25f11077a81" }, { "url": "https://a.allegroimg.allegrosandbox.pl/original/112ee9/c81e51244c87b1cc48f7ce6e7c6b" }, { "url": "https://a.allegroimg.allegrosandbox.pl/original/11c28e/905ccc8142198a2738ad76dce524" }, { "url": "https://a.allegroimg.allegrosandbox.pl/original/117cf4/057e15ab4c8ea5e88c8d764a4aa1" } ], "sellingMode": { "format": "ADVERTISEMENT", "price": { "amount": "46200", "currency": "PLN" }, "startingPrice": null, "minimalPrice": null, "netPrice": null }, "tax": null, "stock": null, "publication": { "duration": null, "status": "INACTIVE", "startingAt": null, "endingAt": null, "endedBy": null, "republish": false }, "delivery": { "shippingRates": null, "handlingTime": null, "additionalInfo": null, "shipmentDate": null }, "payments": { "invoice": "VAT" }, "discounts": null, "afterSalesServices": null, "additionalServices": null, "sizeTable": null, "fundraisingCampaign": null, "promotion": { "emphasized": false, "bold": false, "highlight": false, "departmentPage": false, "emphasizedHighlightBoldPackage": false }, "location": { "countryCode": "PL", "province": "PODLASKIE", "city": "Białystok", "postCode": "15-688" }, "external": null, "attachments": [], "contact": null, "validation": { "errors": [ { "code": "VALIDATION_ERROR", "message": "Package is unassigned to offer or category does not match to the package.", "details": "", "path": "sellingMode", "userMessage": "Package is unassigned to offer or category does not match to the package." } ], "warnings": [], "validatedAt": "2022-12-27T20:31:15.481Z" }, "b2b": { "buyableOnlyByBusiness": false }, "messageToSellerSettings": null, "createdAt": "2022-12-27T20:31:15.000Z", "updatedAt": "2022-12-27T20:31:15.490Z", "language": "pl-PL" }

redwingecommerce commented 1 year ago

Dodam jeszcze, że struktura danych w requeście pochodzi stricte, bez modyfikacji z response metody POST /sale/product-offers.

AureliuszBrussy commented 1 year ago

Pole images, tak jak podpowiada komunikat, uzupełniona jest błędnie. Poprawna struktura wygląda tak:

   "images": [
    "https://...zewnetrzny-adres-pierwszego-obrazka.jpeg",
    "https://...zewnetrzny-adres-drugiego-obrazka.jpeg"
  ]

Natomiast z Twoim payload'em dostrzegam więcej problemów - całkowicie pomijasz strukturę productSet, które uzupełnienie jest niezbędne dla tego zasobu.

Zapoznaj się proszę dokładnie z dokumentacją oraz naszym poradnikiem dotyczącym /sale/product-offers. Struktura nie jest dokładnie taka sama jak przy /sale/offers. Payload podzielony jest na część ofertową oraz produktową (productSet).

redwingecommerce commented 1 year ago

Dziękuję. Brak productSet - to dlatego, że testuję po kawałku. Na productSet utworzę oddzielne zgłoszenie, bo mam tam też problem.