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.