allegro / allegro-api

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

[REST API] ssale/product-proposals/ Błąd Allegro: 400 The uploaded data includes unsupported properties. Contact your software vendor #10309

Open skoruppa opened 20 hours ago

skoruppa commented 20 hours ago

Występuje problem:

:beetle: Opis / Description

Od niedawna requesty na dodawanie nowych ofert, które do tej pory działały, przestały działać. Co ciekawe nie jest dokładnie napisane co jest nie tak w "metadata"

Przykład: trace-id: 4efdbaa3f19b817a response:

{
    "errors": [
        {
            "code": "HttpMessageNotReadableException",
            "message": "An error has occurred",
            "details": null,
            "path": null,
            "userMessage": "Żądanie zawiera błędne dane. Skontaktuj się z autorem aplikacji.",
            "metadata": {}
        }
    ]
}
PrzemyslawLukanowski commented 13 hours ago

Dane w metadata zwracamy tylko w określonych przypadkach na zasobie /sale/product-offers. W Twoim przypadku, payload jest nagle ucięty i to powoduje błąd:

{
    "name": "Mild-Mannered Librarian",
    "category": {
        "id": "6096"
    },
    "images": [
        {
            "url": "xxx"
        }
    ],
    "language": "pl-PL",
    "parameters": [
        {
            "id": "249839",
            "valuesIds": [
                "249839_1768364"
            ]
        },
        {
            "id": "234937",
            "values": [
                "Mild-Mannered Librarian"
            ]
        },
        {
            "id": "247811",
skoruppa commented 12 hours ago

@PrzemyslawLukanowski o, to bardzo ciekawe. Ponieważ ten request, aby mieć pewność czy wszystko jest dobrze, zrobiłem przez Postmana.

Przy requeście w mojej aplikacji metadata jest uzupełniona w odpowiedzi 'unknownProperties': 'category.path, category.similar, productSet.product.image, isDraft, aiCoCreatedContent, hasProtectedBrand' tylko że w moim payloadzie w ogóle czegoś takiego nie mam

{
    "name": "Mild-Mannered Librarian",
    "category": {
        "id": "6096"
    },
    "images": [
        {
            "url": "https://a.allegroimg.com/original/118692/ff31b41848668ac67c28161877f8"
        }
    ],
    "language": "pl-PL",
    "parameters": [
        {
            "id": "249839",
            "valuesIds": [
                "249839_1768364"
            ]
        },
        {
            "id": "234937",
            "values": [
                "Mild-Mannered Librarian"
            ]
        },
        {
            "id": "247811",
            "values": [
                "Magic: The Gathering Foundations"
            ]
        },
        {
            "id": "247229",
            "valuesIds": [
                "247229_656397"
            ]
        },
        {
            "id": "249486",
            "valuesIds": [
                "249486_1224362"
            ]
        },
        {
            "id": "250254",
            "valuesIds": [
                "250254_1838468"
            ]
        },
        {
            "id": "5175",
            "valuesIds": [
                "5175_30"
            ]
        }
    ]
}

czy to są nowe wymagane pola? Jak coś to nowe traceId to c853af6617ec783b

PrzemyslawLukanowski commented 11 hours ago

Coś się nie zgadza z tymi trace-id ;) Twój pierwszy przykład dotyczył POST /sale/product-proposals, drugi - według naszych logów po wskazanym trace-id - faktycznie jest już związany z wystawianiem ofert za pomocą POST /sale/product-offers i tego zasobu dotyka zmiana o nadmiarowych polach. Twój powyższy payload dotyczy jednak czego innego - POST /sale/product-proposals.

Na podstawie trace-id zgadza się komunikat błędu, jednak payload jest inny, oto on:

{
    "name": "MtG: Icewind Elemental (FDN) *foil*",
    "category": {
        "id": "6066",
        "path": [
            {
                "id": "954b95b6-43cf-4104-8354-dea4d9b10ddf",
                "name": "Allegro"
            },
            {
                "id": "38d588fd-7e9c-4c42-a4ae-6831775eca45",
                "name": "Kultura i rozrywka"
            },
            {
                "id": "9",
                "name": "Gry"
            },
            {
                "id": "6049",
                "name": "Karciane"
            },
            {
                "id": "312125",
                "name": "Kolekcjonerskie"
            },
            {
                "id": "6066",
                "name": "Magic: The Gathering"
            }
        ],
        "similar": []
    },
    "parameters": [
        {
            "id": "5174",
            "valuesIds": [
                "5174_32"
            ]
        },
        {
            "id": "11323",
            "valuesIds": [
                "11323_1"
            ]
        },
        {
            "id": "11326",
            "valuesIds": [
                "11326_1"
            ]
        }
    ],
    "images": "xxx",
    "publication": {
        "duration": "P5D"
    },
    "isDraft": false,
    "aiCoCreatedContent": {
        "paths": []
    },
    "hasProtectedBrand": false,
    "productSet": [
        {
            "product": {
                "id": "c01e7736-49ac-44b4-8720-6a9019d365fa",
                "image": []
            }
        }
    ],
    "description": "xxx",
    "language": "pl-PL",
    "sellingMode": {
        "format": "BUY_NOW",
        "price": {
            "amount": "1.00",
            "currency": "PLN"
        }
    },
    "payments": {
        "invoice": "VAT"
    },
    "afterSalesServices": {
        "impliedWarranty": {
            "id": "3da60edb-5d7f-4647-a7fa-7c8d538f381c"
        },
        "returnPolicy": {
            "id": "c00a204f-8964-4d12-89ca-5cce84eea108"
        }
    },
    "stock": {
        "available": 12,
        "unit": "UNIT"
    },
    "taxSettings": {
        "subject": "GOODS",
        "rates": [
            {
                "countryCode": "PL",
                "rate": "23.00"
            }
        ]
    },
    "location": {
xxx
    },
    "delivery": {
        "handlingTime": "PT96H",
        "shippingRates": {
            "id": "9862d6c5-dbb3-4c70-acc4-e54bb26cd114"
        }
    }
}

i nadmiarowe pola z komunikatu błędu rzeczywiście tutaj występują, musisz je usunąć, ponieważ nie są opisane w naszej dokumentacji.

Tutaj znajdziesz news związany z tą zmianą.