allegro / allegro-api

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

offer-fee-preview - (nie)prawidłowa kategoria w żądaniu POST #9465

Open kogol99 opened 1 month ago

kogol99 commented 1 month ago

Występuje problem:

:beetle: Opis / Description

Request: '/pricing/offer-fee-preview' {'offer': {'name': 'Przykładowa oferta', 'category': {'id': '323376'}, 'product': None, 'parameters': [{'id': '11323', 'valuesIds': ['11323_246514'], 'values': [], 'rangeValue': None}], 'customParameters': None, 'ean': None, 'description': {'sections': [{'items': [{'type': 'TEXT', 'content': '<p>Pzykładowy opis</p>'}]}]}, 'compatibilityList': None, 'tecdocSpecification': None, 'images': [{'url': 'https://a.allegroimg.allegrosandbox.pl/original/116421/ece7111d4b8fbbc4662ab92f84ce&#34'}], 'sellingMode': {'format': 'BUY_NOW', 'price': {'amount': '622.50', 'currency': 'PLN'}, 'startingPrice': None, 'minimalPrice': None, 'netPrice': None}, 'tax': None, 'stock': {'available': 1, 'unit': 'UNIT'}, 'publication': {'duration': None, 'status': 'ACTIVE', 'startingAt': None, 'endingAt': None, 'endedBy': None, 'republish': False}, 'delivery': {'shippingRates': {'id': '17221a3c-f4cf-4e47-953a-8e125013b014'}, 'handlingTime': 'PT336H', 'additionalInfo': '', 'shipmentDate': None}, 'payments': {'invoice': 'NO_INVOICE'}, 'discounts': None, 'afterSalesServices': {'impliedWarranty': {'id': 'f86078a6-9f42-4b76-9696-1e5c0646a60a'}, 'returnPolicy': {'id': '47101223-7236-4201-9779-316e6d10af2a'}, 'warranty': None}, 'additionalServices': None, 'sizeTable': None, 'fundraisingCampaign': None, 'promotion': {'emphasized': True, 'bold': False, 'highlight': False, 'departmentPage': False, 'emphasizedHighlightBoldPackage': False}, 'location': {'countryCode': 'PL', 'province': 'WIELKOPOLSKIE', 'city': 'Poznań', 'postCode': '66-166'}, 'external': None, 'attachments': [], 'contact': None, 'validation': {'errors': [], 'warnings': [], 'validatedAt': '2020-12-04T09:31:07.684Z'}, 'createdAt': '2020-10-01T05:44:23.000Z', 'updatedAt': '2020-12-04T09:31:08.925Z'}}

Response: '{"errors":[{"code":"ERROR","message":"Category not found","details":"Category 323376 was not found","path":null,"userMessage":"Category 323376 was not found"}]}'

Kategoria podana w request jest kategorią dostępną w serwisie allegro https://allegro.pl/kategoria/frytkownice-beztluszczowe-323376 i główną kategorią istniejących aukcji. Problem jest z wieloma kategoriami. Korzystając z usługi pod adresem https://developer.allegro.pl/contact również nie znajduję tego id kategorii. Dopiero znajduje niższą kategorię.

Bardzo proszę o naprawienie bugu lub napisanie informacji w jaki sposób obejść problem.

MaciejFrackowiak commented 1 month ago

Wskazana kategoria - 323376 jest kategorią nawigacyjną, czyli dostępną tylko i wyłącznie z poziomu listingu Allegro dostępnego dla potencjalnego kupującego. W drzewie kategorii, czyli w drzewie asortymentowym, gdzie sprzedający wystawia ofertę ta kategoria nie jest dostępna i dlatego nie możesz obliczyć dla niej kosztów. Wskaż rzeczywistą kategorię danego produktu, wówczas określisz koszty związane z jego sprzedażą.

kogol99 commented 1 month ago

W jaki sposób mogę zdobyć rzeczywistą kategorię? Id 323376 pobieram bezpośrednio z oferty wystawionej na Państwa portalu. W obiekcie "offer" nie ma innej kategorii niż ta. Drzewo kategorii również nie zwraca rzeczywistej kateogrii, ponieważ po wykonaniu żądania /sale/categories/{categoryId} mam komunikat o niepoprawnym id.

MaciejFrackowiak commented 1 month ago

Gdy skorzystasz z GET /sale/product-offers/{offerId} ujrzysz właściwą kategorię oferty. Na pewno nie jest to kategoria 323376, ponieważ dla niej zwracamy komunikat z błędem mówiącym, iż nie znajduje się ona w drzewie kategorii.

kogol99 commented 1 month ago

Przykładowo gdy skorzystam z '/offers/listing' dla frazy '3045387248253' wszystkie wyświetlone offer mają kategorię 323376. Przykład do aukcja o id 15371081268. {'id': '15371081268', 'name': 'Frytkownica air fryer Tefal EY801D15 1400 W', 'seller': {'id': '112007747', 'login': 'SymagExpress', 'company': True, 'superSeller': True}, 'promotion': {'emphasized': False, 'bold': False, 'highlight': False}, 'delivery': {'availableForFree': False, 'lowestPrice': {'amount': '14.99', 'currency': 'PLN'}}, 'images': [{'url': 'https://a.allegroimg.com/original/110bfb/bc1d7f764cb8bc675821d84e4ac7/Frytkownica-air-fryer-Tefal-EY801D15-1400-W'}, {'url': 'https://a.allegroimg.com/original/116891/ca7d68034b97a330f596a5433f71/Frytkownica-air-fryer-Tefal-EY801D15-1400-W-Marka-Tefal'}, {'url': 'https://a.allegroimg.com/original/11c7ac/4517cde24f5d86faaedf82d9b278/Frytkownica-air-fryer-Tefal-EY801D15-1400-W-Model-EY801D15'}, {'url': 'https://a.allegroimg.com/original/11e78e/5cd3d55946de87db89fba93a0cf8/Frytkownica-air-fryer-Tefal-EY801D15-1400-W-Funkcje-programy-automatyczne-regulacja-temperatury'}, {'url': 'https://a.allegroimg.com/original/11d738/7a3f1169454e84ee92a6bf46a121/Frytkownica-air-fryer-Tefal-EY801D15-1400-W-Komunikacja-sygnal-dzwiekowy-wyswietlacz'}, {'url': 'https://a.allegroimg.com/original/11157d/152b92244e65b7ca666db4ee351b/Frytkownica-air-fryer-Tefal-EY801D15-1400-W-Bezpieczenstwo-nozki-antyposlizgowe-zabezpieczenie-przed-przegrzaniem'}, {'url': 'https://a.allegroimg.com/original/11f657/187d21664b7eac70ca4b78a5c770/Frytkownica-air-fryer-Tefal-EY801D15-1400-W-Wysokosc-produktu-36-2-cm'}, {'url': 'https://a.allegroimg.com/original/11a7e5/201b1e844e31b62d2f983bcf651a/Frytkownica-air-fryer-Tefal-EY801D15-1400-W-Waga-produktu-z-opakowaniem-jednostkowym-8-87-kg'}, {'url': 'https://a.allegroimg.com/original/114d9c/c6345d40471db5cdd6c1a5ed03ef/Frytkownica-air-fryer-Tefal-EY801D15-1400-W-Waga-produktu-5-9-kg'}, {'url': 'https://a.allegroimg.com/original/1133d4/27af9e404d278ffbb551cc240e28/Frytkownica-air-fryer-Tefal-EY801D15-1400-W-Szerokosc-produktu-30-3-cm'}, {'url': 'https://a.allegroimg.com/original/112bd5/af96965b4e72857aea7dbd1917b2/Frytkownica-air-fryer-Tefal-EY801D15-1400-W-Pojemnosc-koszyka-1-5-kg'}, {'url': 'https://a.allegroimg.com/original/116c9e/373a489849888c1baf6898821cbe/Frytkownica-air-fryer-Tefal-EY801D15-1400-W-Glebokosc-produktu-43-2-cm'}, {'url': 'https://a.allegroimg.com/original/115edb/5cd2b7df4a12a90685b87700033a/Frytkownica-air-fryer-Tefal-EY801D15-1400-W-Kod-producenta-EY801D15'}, {'url': 'https://a.allegroimg.com/original/112a9e/905f79d046dc9194f4406129a9b6/Frytkownica-air-fryer-Tefal-EY801D15-1400-W-Typ-beztluszczowa'}, {'url': 'https://a.allegroimg.com/original/11f561/be8ebf8d4e5a9be7a97bf5f8dc43/Frytkownica-air-fryer-Tefal-EY801D15-1400-W-Pojemnosc-misy-6-5-l'}, {'url': 'https://a.allegroimg.com/original/1118cd/81b118fc4e80beccf56b59045fc6/Frytkownica-air-fryer-Tefal-EY801D15-1400-W-Moc-1830-W'}], 'sellingMode': {'format': 'BUY_NOW', 'price': {'amount': '622.49', 'currency': 'PLN'}, 'popularity': 6, 'popularityRange': '[6-10]'}, 'stock': {'unit': 'UNIT', 'available': 3}, 'category': {'id': '323376'}}

MaciejFrackowiak commented 1 month ago

Właśnie w tym szkopuł - zasób /offers/listing wyświetla listing Allegro od strony kupującego, a nie sprzedającego, dlatego widzisz drzewo nawigacyjne, a nie asortymentowe. Skorzystaj z GET /sale/product-offers/{offerId} by pobrać kategorię przypisaną do oferty.

kogol99 commented 1 month ago

Nadal nie jest to rozwiązanie mojej sprawy, ponieważ '/sale/product-offers/' działa tylko dla własnych ofert. Próbuję policzyć koszty dla oferty, którą planuję dopiero wystawić, a nie dla istniejącej aukcji. Po wykonaniu żądania do 'product-offers' mam odpowiedź: [{'code': 'OfferAccessDeniedException', 'details': None, 'message': 'Forbidden', 'metadata': {}, 'path': '', 'userMessage': 'Brak dostępu. Nie masz uprawnień do operacji na wskazanej ofercie'}]

MaciejFrackowiak commented 1 month ago

Planujesz ją wystawić, ale nie wystawisz jej w kategorii 323376, ponieważ jest to kategoria nawigacyjna, a nie asortymentowa zgodna z GET /sale/categories, którą de facto musisz określić podczas wystawiania oferty.

kogol99 commented 1 month ago

Szacuje koszty prowizji dla wystawionej już oferty na Allegro przez innego użytkownika. Nie jest to możliwe bezpośrednio więc pobieram dane do żądania offer-fee-preview. Skąd mam wziąć tą prawidłową kategorię?

MaciejFrackowiak commented 1 month ago

Wyszukując z drzewa kategorii właściwą kategorię, w której daną ofertę chciałbyś wystawić.

kogol99 commented 1 month ago

Pan tak na poważnie? API jest po to, aby móc sobie ułatwić pracę, zautomatyzować procesy. Mam ręcznie wyszukiwać kategorie dla 10 tysięcy produktów, które chciałby sprawdzić prowizję oraz opłaty? Proszę dodać żądanie, które po podaniu kategorii wirtualnej, zwróci tą prawidłową, z drzewka lub umożliwić wpisywanie kategorii wirtualnych w kalkulatorze. Błąd, który zgłaszam jest od niedawna. Zawsze kalkulator prowizji działał poprawnie niezależnie od podanej kategorii, a zawsze podawałem tą z oferty innych użytkowników po offers/listing.

MaciejFrackowiak commented 1 month ago

Zupełnie tak. To sprzedający jest odpowiedzialny za to w jakiej kategorii wystawi ofertę, a serwis może ją wyświetlać w kategoriach uzupełniających, aby były łatwiej dostępne dla kupujących. Jeśli nie wiesz w jakiej kategorii wystawić ofertę, możesz skorzystać z zasobu odpowiedzialnego za sugestię kategorii.

kogol99 commented 1 month ago

Czy po EAN jestem w stanie sprawdzić sugerowaną kategorię, czy tylko po nazwie produktu?

MaciejFrackowiak commented 1 month ago

Tylko nazwa.

stale[bot] commented 1 month 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.