allegro / allegro-api

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

Problem z wybraniem wartości inne z pola Materiał dominujący #10311

Open Krzysztof559 opened 1 week ago

Krzysztof559 commented 1 week ago

W kategorii 261787 jest pole { "id":"203885", "name":"Materiał dominujący", "type":"dictionary", "required":true, "requiredForProduct":true, "requiredIf":null, "displayedIf":null, "unit":null, "options":{ "variantsAllowed":false, "variantsEqual":true, "ambiguousValueId":"203885_218321", "dependsOnParameterId":null, "describesProduct":true, "customValuesEnabled":false }, nie można wpisać własnej wartości ale można oznaczyć jako inne czyli 203885_218321, ale jak tak robię to dostaje błąd: Kod: 422. Błąd: ProductValidationException Nieprawidłowe wartości parametrów: [parameter = Materiał dominujący [ Wartość niejednoznaczna - inny]]. Dlaczego tak się dzieje?

PrzemyslawLukanowski commented 1 week ago

Dzieje się tak dlatego, ponieważ dany parametr może identyfikować produkt - w takim przypadku wybranie wartości niejednoznacznej nie jest możliwe, musisz wskazać wartość z listy.

Krzysztof559 commented 1 week ago

Zawsze jak "requiredForProduct":true, to wartość "ambiguousValueId" będzie zwracać błąd, we wszystkich kategoriach i polach?

PrzemyslawLukanowski commented 1 week ago

Nie do końca, ,możesz sugerować się polem "describesProduct": true. Mogą jednak zdarzyć się wyjątki ze względu na różne zależności w regułach identyfikacyjnych w kategoriach.

Krzysztof559 commented 1 week ago

a jak to "customValuesEnabled": ma wartość false to to mogę założyć, że nie można podać wartości inne? Szukam czegoś do zrobienia algorytmu, który uchroni mnie przed takimi błędami.

PrzemyslawLukanowski commented 1 week ago

To oznacza, że nie możesz podać własnej propozycji dla wartości jednoznacznej, jednak jeśli parametr nie identyfikuje produktu, to wybór "inne" jest możliwy. Bezpiecznym założeniem będzie "describesProduct": true i "customValuesEnabled": false = brak możliwości wyboru "inne". Jednak tak jak wspomniałem, istnieją wewnętrzne zależności, gdzie w określonych sytuacjach wybór "inne" może być możliwy

Krzysztof559 commented 1 week ago

Dziękuję, to zrobię to bezpieczne założenie.