allegro / allegro-api

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

Brak możliwości utworzenia nowego produktu w Katalogu Produktów #9619

Open karoprogramistka opened 2 months ago

karoprogramistka commented 2 months ago

Występuje problem:

:beetle: Opis / Description

Cześć, próbujemy utworzyć nowy produkt w Katalogu Produktu, jednak cały czas dostajemy zwrotkę "Niepoprawna odpowiedź z Allegro. Kod: 422. Błąd: PARAMETER_MISMATCH The specified product exists. The specified parameter Rozmiar with the value 36,5(26388_512) does not match the product parameter 36(26388_256). Trace-id=[7edb33ccd1ab2531]." Dopiero po zmianie miniaturki na inne zdjęcie - produkt zostaje zaakceptowany.

Mamy kilka produktów w różnych rozmiarach, ale z taką samą miniaturką, więc chcemy utworzyć w KP każdy produkt osobno, niemniej dostajemy za każdym razem ten sam komunikat, który nam to uniemożliwia.

Lukasz-Zurek commented 2 months ago

Według podanej marki ("bez marki"):

               {
                  "id":"7108",
                  "valuesIds":[
                     "7108_1769718"
                  ]
               },

na podstawie zdjęć - przypisaliśmy produkt fe602250-855a-4cfe-bca3-aa3581d400c8.

W tej sytuacji, aby utworzyć odrębne produkty, potrzebne będą różne zdjęcia.

karoprogramistka commented 2 months ago

Czyli rozumiem, że mamy dokładnie identyczne wizualnie zdjęcie przesłać pod innym ID?

Lukasz-Zurek commented 2 months ago

@karoprogramistka Nie. Zidentyfikujemy odrębny produkt (lub utworzymy nowy) w sytuacji, gdy wyślesz różne zdjęcia, ponieważ w tej konkretnej kategorii identyfikujemy produkt w pierwszej kolejności po parametrze "marka" oraz po zdjęciach. Wysyłając identyczne zdjęcia, próbujemy podpiąć do oferty istniejący produkt, który może okazać się inny - patrz powyżej - np. zwrócimy PARAMETER_MISMATCH, w sytuacji, gdy któryś parametr nie pokrywa się z tym z produktu.

karoprogramistka commented 2 months ago

W jaki sposób mogę dodać produkt o takich samych zdjęciach i marce, ale w innym rozmiarze?

Lukasz-Zurek commented 2 months ago

W tej konkretnej kategorii nie ma takiej możliwości, ponieważ produkt identyfikujemy po zdjęciu i marce, w związku z czym musisz tutaj przekazać odrębne zdjęcie, by móc utworzyć produkt w innym rozmiarze, o tej samej marce.

karoprogramistka commented 2 months ago

Jak mogę nie mieć możliwości dodania BUTÓW, w kategorii PÓŁBUTY, z takim samym zdjęciem i o takiej samej marce w różnych rozmiarach 😆 Przecież to nie ma logicznego sensu... te buty wizualnie nie różnią się niczym i żaden sklep sprzedający obuwie nie fotografuje różnych rozmiarów butów.

Jak ktoś dodaje Iphone z różną pamięcią to też każecie mu wgrywać różne zdjęcia smartphone'a?

Lukasz-Zurek commented 2 months ago

Skonsultuję z odpowiednim zespołem kwestię dotyczącą dodania rozmiaru do parametrów identyfikujących. To byłoby chyba najlepsze rozwiązanie.

W różnych kategoriach funkcjonują różne parametry identyfikujące produkt, więc w przypadku iPhone'a może to wyglądać inaczej.

karoprogramistka commented 2 months ago

Dziękuje :)

Lukasz-Zurek commented 2 months ago

@karoprogramistka Wspomniane produkty tj. buty - na pewno powinny różnić się długością wkładki (skoro mają różne rozmiary). W powyższym przykładzie przekazywaliście taką samą wartość jak w znalezionym przez nasz system produkcie. Długość wkładki jest tutaj parametrem identyfikującym, dlatego jeżeli będziecie przekazywać inną długość wkładki - będziemy próbować utworzyć nowy produkt, chyba, że znajdziemy taki w naszej bazie.

Jeżeli natomiast znajdziemy produkt w naszej bazie, który posiada błędne dane, możecie zgłosić błąd w produkcie za pomocą POST /sale/products/{productId}/change-proposals.

karoprogramistka commented 2 months ago

A w przypadku odzieży, co jest parametrem identyfikującym?

Problem z api Allegro. Niepoprawna odpowiedź z Allegro. Kod: 422. Błąd: PARAMETER_MISMATCH The specified product exists. The specified parameter Rozmiar with the value S(54_3) does not match the product parameter 40/42(54_1786206). The provided parameter 'Rozmiar'(54) value (S(54_3)) does not match the existing parameter value (40/42(54_1786206)) productSet[0].product.parameters. Trace-id=[c1539316f96d014f].

Lukasz-Zurek commented 2 months ago

@karoprogramistka Marka i rozmiar.

karoprogramistka commented 2 months ago

to jak dodać produkt w tym przypadku co wskazałam powyżej, skoro mam rozmiar S?

Lukasz-Zurek commented 2 months ago

@karoprogramistka Sprawdziłem raz jeszcze ten request: PATCH /sale/product-offers/15780717188 - próbujesz edytować ofertę, która posiada podpięty produkt: 9cb5f620-4a95-4a02-8445-9ed44ed3fb7b, ale próbujesz dodać do niej inny rozmiar. To nie ma nic wspólnego z naszymi regułami identyfikacji. Taka edycja nie będzie technicznie możliwa, dlatego zwracamy błąd.

Możesz zmienić produkt w ofercie (jeżeli nie ma go w bazie - możesz go utworzyć), przekazując identyfikator produktu (lub GTIN), lub zgłosić błąd dot. rozmiaru w istniejącym produkcie za pomocą POST /sale/products/{productId}/change-proposals.

karolisia commented 3 weeks ago

@Lukasz-Zurek mógłbyś wskazać, dlaczego pojawia nam się poniższy błąd przy walidacji:

Błąd przy walidacji oferty. Data: 2024-10-10 11:16:25

Wiadomość allegro: Niepoprawna odpowiedź z Allegro. Kod: 422. Błąd: ProductValidationException Nie można stworzyć produktu bez podania poprawnych wartości wszystkich parametrów wymaganych: [Rozmiar obuwia] Unable to create product without proper values in all required parameters: [Rozmiar obuwia] in category: 260812 productSet[0].product. Trace-id=[bde9029c5986bad7]

Rozmiar obuwie który wysyłamy w parametrze OD Rozmiar obuwia: 38 DO Rozmiar obuwia: 39

Lukasz-Zurek commented 3 weeks ago

@karolisia Sprawdziłem logi i w requeście brakuje całkowicie parametru 231357 (Rozmiar obuwia), tzn. z tego co widać w logach - nie otrzymaliśmy tego parametru w żądaniu.