allegro / allegro-api

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

Problem z parametrami aukcji/produktu #5837

Closed Himon-SYNCRAFT closed 2 years ago

Himon-SYNCRAFT commented 2 years ago

Występuje problem:

:beetle: Opis / Description Witam

W jaki sposób powieniem przesłać parametry aukcji w przypadku jeśli produkt już istnieje natomiast ma nieuzupełnione parametry obowiązkowe?

Mam aukcję z numerem ean, którą łączę z produktem o id: 280ee7f4-7b69-4a71-84dd-c88f95594402, który to nie ma uzupełnionego modelu, a Marke ustawioną jako Inna (EZVIZ). Z modelem w ogole nie wiem jak sobie poradzić, a w przypadku marki jeśli ustawie identyczną wartość jak na produkcie, dostaje zwrotnie info, że marka Ezviz już jest w słowniku, ale nawet gdybym chciał zgłosić błąd na produkcie to nie mogę jej wybrać :(

trace-id: fdc0f631169d521c

MartaNowaczyk commented 2 years ago

Witam, w takim wypadku najlepiej zgłosić błąd w produkcie. Jeśli nie możesz zmienić poszczególnych parametrów lub nie zgadzasz się z danymi produktu, których zmienić nie możesz - opisz to w informacjach dodatkowych. Przez API też jest możliwość zgłoszenia - więcej na naszej stronie. Marka EZVIZ jest już dostępna.

MartaNowaczyk commented 2 years ago

W jaki sposób powieniem przesłać parametry aukcji w przypadku jeśli produkt już istnieje natomiast ma nieuzupełnione parametry obowiązkowe?

Powinieneś uzupełnić brakujące parametry obowiązkowe, przekazując je w obiekcie product. Więcej tutaj

Himon-SYNCRAFT commented 2 years ago

Dziękuje za pomoc. To częściowo pomogło, ale mam jeszcze taki przypadek:

Probuje zaktualizować aukcję: https://api.allegro.pl/sale/product-offers/12332022530 (422) trace-id: b4290dcee9ddf766

W odpowiedzi dostaje: ConstraintViolationException.MissingRequiredParameters', 'message': 'Missing required parameters: 226633, 237206, 225693, 226605, 224017' Z tym, że wszystkie wymienione brakujące parametry są wypełnione w produkcie z którym paruje aukcje 5b5f2726-4b38-4f9c-9774-1bd2b7de7c8c. Dorzucam w żądaniu jeszcze wymagane parametry w kategorii, których w produkcie brakuje: 17488, 226665, 217645.

Przykładowy request (usunałem opis):

{
  "afterSalesServices": {
    "impliedWarranty": {
      "id": "570771df-0309-4dba-81f9-7e6588fafa1b"
    },
    "returnPolicy": {
      "id": "31b845ae-a6d6-40bb-a61a-fe9fd7791cf2"
    },
    "warranty": {
      "id": "f1e7f685-2b18-4249-a2e2-b3a0b771e86d"
    }
  },
  "category": {
    "id": 52558
  },
  "delivery": {
    "shippingRates": {
      "id": "1bb85e08-078c-4a08-a77a-d688f160facd"
    },
    "handlingTime": "PT24H"
  },
  "description": {},
  "ean": "5902270773101",
  "external": {
    "id": "31752"
  },
  "location": {
    "city": "Cała Polska",
    "countryCode": "PL",
    "postCode": "42-200",
    "province": "SLASKIE"
  },
  "name": "Tuner DVB-T2 LTC LX-DVB101 H.265 HEVC dekoder TV",
  "parameters": [
    {
      "id": 11323,
      "valuesIds": [
        "11323_1"
      ],
      "required_for_product": false
    }
  ],
  "stock": {
    "available": 100,
    "unit": "UNIT"
  },
  "sellingMode": {
    "format": "BUY_NOW"
  },
  "productSet": [
    {
      "product": {
        "id": "5b5f2726-4b38-4f9c-9774-1bd2b7de7c8c",
        "parameters": [
          {
            "id": 17448,
            "values": [
              "0.4"
            ],
            "required_for_product": true
          },
          {
            "id": 226665,
            "valuesIds": [
              "226665_1",
              "226665_2",
              "226665_4",
              "226665_8"
            ],
            "required_for_product": true
          },
          {
            "id": 217645,
            "values": [
              "Pilot",
              "baterie"
            ],
            "required_for_product": true
          }
        ]
      }
    }
  ],
  "payments": {
    "invoice": "VAT"
  },
  "images": [
    "https://allegro2.eltrox.pl/zdjecia/31752/tuner_dvbt2_ltc_lxdvb101_h265_hevc_7d1f27e54f35d.jpg",
    "https://allegro2.eltrox.pl/zdjecia/31752/tuner_dvbt2_ltc_lxdvb101_h265_hevc_9c0b2f42235e5.jpg",
    "https://allegro2.eltrox.pl/zdjecia/31752/tuner_dvbt2_ltc_lxdvb101_h265_hevc_6d501e8f5f0bc.png",
    "https://allegro2.eltrox.pl/zdjecia/31752/tuner_dvbt2_ltc_lxdvb101_h265_hevc_dbd174b443460.jpg",
    "https://allegro2.eltrox.pl/zdjecia/31752/tuner_dvbt2_ltc_lxdvb101_h265_hevc_d823941f21676.jpg"
  ]
}
PrzemyslawLukanowski commented 2 years ago

Wygląda na to, że struktura Twojego JSON-a nie jest do końca prawidłowa, zwróć uwagę, że np. niektóre sekcje występują dwa razy. Nie udało mi się powtórzyć Twojego błędu, poniższy request zwraca prawidłową odpowiedź:

{
"productSet": [{
    "product": {
        "id": "5b5f2726-4b38-4f9c-9774-1bd2b7de7c8c",
        "parameters": [{
                "id": 17448,
                "values": [
                    "0.4"
                ]
            },
            {
                "id": 226665,
                "valuesIds": [
                    "226665_1",
                    "226665_2",
                    "226665_4",
                    "226665_8"
                ]
            },
            {
                "id": 217645,
                "values": [
                    "Pilot",
                    "baterie"
                ]
            }
        ]
    }
}],
  "sellingMode": {
    "price": {
      "amount": "220.85",
      "currency": "PLN"
    }
  },
  "stock": {
    "available": 10
  },
  "publication": {
      "status": "INACTIVE"
  },
    "parameters": [
    {
      "id": 11323,
      "valuesIds": [
        "11323_1"
      ]
    }
  ]
}
Himon-SYNCRAFT commented 2 years ago

Tak, rzeczywiście przesłany tutaj json był błedny, ale to kwestia wklejenia 2 razy. Poprawiłem juz w poprzednim poście na taki jaki rzeczywiście wysyłam (bez opisu).

PrzemyslawLukanowski commented 2 years ago

Czy obecnie nadal otrzymujesz wspomniany błąd? Pytam, ponieważ nie udało mi się go powtórzyć. Jeżeli użyję niemalże identycznej struktury (usunąłem wartości, które identyfikują danego sprzedawcę i dodałem obiekt price w sellingMode), oferta z produktem wystawia się prawidłowo:

{
  "category": {
    "id": 52558
  },
  "ean": "5902270773101",
  "external": {
    "id": "31752"
  },
  "location": {
    "city": "Cała Polska",
    "countryCode": "PL",
    "postCode": "42-200",
    "province": "SLASKIE"
  },
  "name": "Tuner DVB-T2 LTC LX-DVB101 H.265 HEVC dekoder TV",
  "parameters": [
    {
      "id": 11323,
      "valuesIds": [
        "11323_1"
      ],
      "required_for_product": false
    }
  ],
  "stock": {
    "available": 100,
    "unit": "UNIT"
  },
  "sellingMode": {
    "format": "BUY_NOW",
     "price": {
      "amount": "220.85",
      "currency": "PLN"
    }
  },
  "productSet": [
    {
      "product": {
        "id": "5b5f2726-4b38-4f9c-9774-1bd2b7de7c8c",
        "parameters": [
          {
            "id": 17448,
            "values": [
              "0.4"
            ],
            "required_for_product": true
          },
          {
            "id": 226665,
            "valuesIds": [
              "226665_1",
              "226665_2",
              "226665_4",
              "226665_8"
            ],
            "required_for_product": true
          },
          {
            "id": 217645,
            "values": [
              "Pilot",
              "baterie"
            ],
            "required_for_product": true
          }
        ]
      }
    }
  ],
  "payments": {
    "invoice": "VAT"
  },
  "images": [
    "https://allegro2.eltrox.pl/zdjecia/31752/tuner_dvbt2_ltc_lxdvb101_h265_hevc_7d1f27e54f35d.jpg",
    "https://allegro2.eltrox.pl/zdjecia/31752/tuner_dvbt2_ltc_lxdvb101_h265_hevc_9c0b2f42235e5.jpg",
    "https://allegro2.eltrox.pl/zdjecia/31752/tuner_dvbt2_ltc_lxdvb101_h265_hevc_6d501e8f5f0bc.png",
    "https://allegro2.eltrox.pl/zdjecia/31752/tuner_dvbt2_ltc_lxdvb101_h265_hevc_dbd174b443460.jpg",
    "https://allegro2.eltrox.pl/zdjecia/31752/tuner_dvbt2_ltc_lxdvb101_h265_hevc_d823941f21676.jpg"
  ],
  "publication": {
      "status": "INACTIVE"
  }
}
PrzemyslawLukanowski commented 2 years ago

Udało mi się teraz powtórzyć problem. Zweryfikujemy przyczynę i wrócimy z informacją.

PrzemyslawLukanowski commented 2 years ago

W sekcji product.parameters musisz przekazać wszystkie parametry, nie tylko te brakujące. Zgodnie z informacją z naszego poradnika, dla metody PATCH, z której korzystasz:

Jeżeli chcesz zachować aktualny opis, zdjęcia i parametry produktowe, oprócz product.id powinieneś przekazać również takie pola jak: description, images i product.parameters.

Himon-SYNCRAFT commented 2 years ago

Ok. To by wyjaśniało temat. A żeby jeszcze uściślić mam pytanie. Podobna sytuacja jak tutaj, ale korzystam z metody POST, żeby dodać nową aukcję powiązaną z produtkem i produkt nie ma wszystkich uzupełnionych wymaganaych parametrów. Wtedy wysyłam w product.parameters tylko brakujące czy też wszystkie parametry?

PrzemyslawLukanowski commented 2 years ago

W przypadku metody POST możesz wysłać tylko brakujące parametry.

stale[bot] commented 2 years 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.