allegro / allegro-api

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

Problem z parametrem niejednoznacznym - API go nie puszcza. #9589

Open El-Karollo opened 3 months ago

El-Karollo commented 3 months ago

Występuje problem:

:beetle: Witam. Mam kod, który uzupełnia parametry niejednoznaczne i robił to cały czas ok. Teraz trafiłem na problem w kategorii 319996 - Skala. Mój skrypt uzupełnia parametr Skala w taki sposób:

                {
                    "id": "248647",
                    "valuesIds": [
                        "248647_936049"
                    ],
                    "values": [ "skala 1:24" ],
                    "rangeValue": null
                },

Odpowiedź jaką dostaję to: The dictionary parameter 'Skala' (id: 248647) is defined ambiguously. Provided value and the dictionary value 'inne skale' are different.

Wydaje mi się, że jest gdzieś błąd... Tak jak piszę - wcześniej już dodawałem parametry z takimi wartościami i nie było problemu.

W czym jest rzecz? Pozdrawiam, Karol

//Edit: no i chciałbym się jeszcze spytać co robić gdy produkty są całkowicie w innych kategoriach niż być powinny? To się dzieje nagmiennie. Są one połączone z katalogiem tak losowo, że to tragedia. API nie pozwala mi ich normalnie dodać. Co wtedy?

AureliuszBrussy commented 3 months ago

Czy możesz przesłać trace-id requestu? Znajdziesz go w nagłówku naszego response'a z tym komunikatem błędu.

Co do błędych kategorii - pozostaje zgłosić błąd w produkcie:

El-Karollo commented 3 months ago

Przed chwilą sprobowałem wystawić produkt jeszcze raz. Oto trace-id: 2c7849315b075d8

AureliuszBrussy commented 3 months ago

Zwróć uwagę, że dla tego parametru (248647) zwracamy "customValuesEnabled": false, czyli dla wartości niejednoznaczniej nie możesz podać wartości własnej.

El-Karollo commented 3 months ago

Woah! Totalnie tego nie ogarnąłem :disappointed: . Super, dziękuję uprzejmie za informacje. Już edytuje swój skrypcik :)

El-Karollo commented 3 months ago

Dalej trochę nie daję rady. Jak mam:

            [2] => Array
                (
                    [id] => 248647
                    [name] => Skala
                    [type] => dictionary
                    [required] => 1
                    [requiredForProduct] => 1
                    [requiredIf] => 
                    [displayedIf] => 
                    [unit] => 
                    [options] => Array
                        (
                            [variantsAllowed] => 
                            [variantsEqual] => 1
                            [ambiguousValueId] => 248647_936049
                            [dependsOnParameterId] => 
                            [describesProduct] => 1
                            [customValuesEnabled] => 
                        )
[...]
                            [8] => Array
                                (
                                    [id] => 248647_936049
                                    [value] => inne skale
                                    [dependsOnValueIds] => Array
                                        (
                                        )

                                )

To OK, nie mam mieć tam zdefiniowanej własnej wartości - ok. Czyli mam wybrać parametr "inne skale", tak? Probowałem tak:

{ "id": "248647", "valuesIds": [ "248647_936049" ], "values": [], "rangeValue": null }
OR
{ "id": "248647", "valuesIds": [ "248647_936049" ], "values": [ "inne skale" ], "rangeValue": null }

No i nadal to nie idzie. Jak ten parametr ma wyglądać?

AureliuszBrussy commented 3 months ago

Możesz podesłać trace-id tego nowszego wywołania?

El-Karollo commented 3 months ago

Hejka. Tutaj mamy trace-id: fb5de83922f72536 oraz e4eab676106735e2 . Są one analogicznie do pierwszego parametru podanego wyżej i drugiego niżej.

AureliuszBrussy commented 3 months ago

W tym przypadku trafiłeś na dodatkową walidację produktyzacyjną - ten parametr identyfikuje produkt, przez co użycie wartości niejednoznacznej dla tego parametru jest ograniczone, w zależności od stopnia uzupełnienia pozostałych parametrów identyfikujących.

El-Karollo commented 3 months ago

Ok. Gdzie jest coś więcej informacji na ten temat? Trochę nie rozumiem jak mam obejść ten problem. Większość aukcji mi wychodzi lecz tylko te, w tym dziale, mają problem. Jak powinny być uzupełnione te parametry aby API mi puściło tę aukcję? Wszystkie parametry required są uzupełnione dobrze. Skąd mam wiedzieć że taka walidacja będzie i jak z nią wygrać?

AureliuszBrussy commented 3 months ago

Najlepiej, jeżeli przez formularz kontatkowy sprzedający zasugeruje dodanie odpowiednich wartości tego parametru do słownika. Po uzupełnieniu słownika powinno udać się wystawić ofertę produktu.

El-Karollo commented 3 months ago

Czyli w innym wypadku nie da rady wybrać "innej skali"? Trzeba najpierw dodać parametry aby dodać taki produkt? Jakby, nie czuję potrzeby dodawania innych skal - chciałbym wybrać tą konkretną - czyli inną.

AureliuszBrussy commented 3 months ago

Wskazałem najszybsze możliwe rozwiązanie przy takim zestaw parametrów identyfikujących produkt.

El-Karollo commented 3 months ago

Dobra, skoro to jest najszybsze rozwiązanie... to jakie będzie najwolniejsze możliwe rozwiązanie? Jakby, to wygląda na totalny bug.

Zadam pytanie zatem: po co jest parametr "inne skale" skoro go nie można wybrać?

AureliuszBrussy commented 3 months ago

Jeszcze raz do konsultowałem. Tutaj w zasadzie jedynym rozwiązaniem będzie poprawienie definicji słownika tego parametru - co najmniej dodanie brakujących wartości i ew. pochylenie się nad kwestią dostępności wartości niejednoznaczej. Proszę, aby sprzedawca zgłosił to przez formularz kontaktowy.

stale[bot] commented 2 months ago

W tym wątku nie pojawiła się żadna nowa odpowiedź w ciągu 7 dni, dlatego automatycznie oznaczamy go jako przeterminowany. Jeśli w ciągu kolejnych 7 dni nie pojawi się żadna odpowiedź, wątek zostanie zamknięty. Dziękujemy za zaangażowanie w dyskusję i zachęcamy Cię do wypełnienia ankiety dotyczącej naszego wsparcia na forum.


There was no new reply in this thread within 7 days, therefore, we automatically marked it as expired. If no response is received within the next 7 days, this thread will be closed. Thank you for engaging in the discussion. We encourage you to complete our forum support survey.