22 października 2018
Wielowariantowość w REST API nowy pole - parametr weryfikujący
Wprowadziliśmy nowe pole ‘variantsEqual’ (parametr weryfikujący). Jeśli chcesz połączyć oferty w ramach wielowariantowości, to wszystkie warianty oferty muszą mieć tą samą wartości w parametrach z włączoną opcją ‘variantsEqual’
Nowe pole wdrożyliśmy w metodzie GET z zasobu /sale/categories/{categoryId}/parameters.
Ten zasób pozwoli ci pobrać listę parametrów, które są dostępne w kategorii, którą wskazałeś. Informacje o tym, czy z danym parametrem możesz utworzyć ofertę wielowariantową znajdziesz w polu ‘variantsAllowed’, które jest w słowniku ‘options’. Dodatkowo w polu ‘variantsEqual’ sprawdzisz, czy dany parametr nie jest weryfikujący. Jeśli pole przyjmuje wartość ‘true’ to wszystkie warianty oferty muszą mieć tą samą wartości w tych parametrach.
Przykładowy request:
curl -X GET \
'https://api.allegro.pl/sale/categories/{categoryId}/parameters
-H 'Accept: application/vnd.allegro.beta.v1+json’ \
-H 'Authorization: Bearer {token}' \
Przykładowy response:
{
"parameters": [ -- lista dostępnych parametrów dla
wskazanej kategorii
{
"id": "11323", -- unikalny identyfikator parametru
"name": "Stan", -- nazwa parametru
"type": "dictionary",
"required": true,
"unit": null,
"options": {
"variantsAllowed": false, -- informacja, czy parametr można
wykorzystać w wielowariantowości.
dostępne są dwie wartości:
true (tak) i false (nie).
"variantsEqual": true -- informacja, czy parametr jest weryfikujący,
dostępne są dwie wartości:
true (tak) i false (nie). Jeśli otrzymamy
artość true (tak) to wszystkie warianty
oferty muszą mieć tą samą wartości w tym parametrze
},
"dictionary": [
{
"id": "11323_1",
"value": "Nowy" -- wartość parametru
},
{
"id": "11323_2",
"value": "Używany"
},
{
"id": "11323_246510",
"value": "Nowy bez metki"
},
{
"id": "11323_246514",
"value": "Nowy z defektem"
}
],
Jeżeli będziesz próbował tworzyć/modyfikować ofertę wielowariantową z ofertami, które posiadają różne wartości w parametrach, które przyjmują wartość "variantsEqual": true, to wyświetlimy ci błąd.:
{
"errors": [
{
"code": "VALIDATION_ERROR",
"message": "Wszystkie aktywne oferty muszą posiadać identyczne
wartości w ramach parametrów: 127995, 128010.",
"details": null,
"path": null,
"userMessage": "Wszystkie aktywne oferty muszą posiadać identyczne
wartości w ramach parametrów: 127995, 128010."
}
]
}
WAŻNE! Jeżeli wszystkie oferty nie mają ustawionej wartości parametru weryfikującego możesz połączyć takie oferty. Jeżeli część ofert ma ustawioną wartość takiego parametru, a część nie, to nie możesz połączyć takich ofert.