allegro-api icon indicating copy to clipboard operation
allegro-api copied to clipboard

[NEWS] Produktyzacja - Powiąż ofertę z produktem w kategoriach z częściami motoryzacyjnymi / Productization - Assign product to an offer in categories with vehicle parts

Open TomekKaczmarek opened this issue 6 years ago • 9 comments

Udostępniliśmy dziś opcje, dzięki którym możesz powiązać ofertę z produktem w kategorii Układ hamulcowy:

  1. W kategoriach z częściami motoryzacyjnymi w szczegółach produktu, które otrzymujesz w odpowiedzi dla GET /sale/products/{product.id} znajdziesz:
  • offerRequirements - gdzie znajdziesz informacje, jakie wymagania musi spełniać oferta, by można ją było powiązać z danym produktem np. Stan = Nowy.
  • compatibilityList - identyfikator sekcji Pasuje do - który musisz przekazać w ofercie. Dodatkowo zwracamy tam tekstową reprezentację treści tej sekcji.
  • tecdocSpecification - identyfikator specyfikacji technicznej TecDoc dla danej części - który musisz przekazać w ofercie. Dodatkowo zwracamy tam tekstową reprezentację treści tej sekcji.
  1. W modelu oferty, który przesyłasz za pomocą POST /sale/offers i PUT /sale/offers
  • w compatibilityList - przekaż identyfikator sekcji Pasuje do otrzymany dla produktu oraz "type": "PRODUCT_BASED".
  • dodaliśmy nowy obiekt - tecdocSpecification - w którym przekaż identyfikator specyfikacji technicznej TecDoc otrzymany dla produktu.
  1. W modelu oferty, który otrzymasz za pomocą GET /sale/offers otrzymasz tekstową reprezentację compatibilityList i tecdocSpecification. Nie zwracamy błędu, gdy poza identyfikatorami nowych obiektów, przekażesz również ich reprezentację tekstową w POST /sale/offers i PUT /sale/offers - treści tekstowe po prostu ignorujemy.

Więcej informacji o tym, jak powiązać ofertę z produktem znajdziesz w naszym poradniku.


We have released new features, which allow you to assign product to an offer in Braking system category:

  1. In categories with vehicle parts in product details received in response for GET /sale/products/{product.id} you will find:
  • offerRequirements - which provides you with conditions that offers must meet to be assigned with the product, i.e. Condition parameter must be set to New.
  • compatibilityList - Compatibility list id - which you must include in the offer assigned to the product. In addition, we return a text representation of the content of this section.
  • tecdocSpecification - TecDoc specification id - which you must include in the offer assigned to the product. In addition, we return a text representation of the content of this section.
  1. In offer details send with POST /sale/offers and PUT /sale/offers
  • In compatibilityList provide Compatibility list id received for selected product and "type": "PRODUCT_BASED".
  • New object is available - tecdocSpecification - where you should provide TecDoc specification id received for selected product
  1. In offer details received in response to GET /sale/offers you will receive a text representation of the content of Compatibility list and TecDoc specification. We will not return an error if the text representation is provided in requests for POST /sale/offers and PUT /sale/offers - the text representation is ignored.

You can find more details about assigning products to offers in our tutorial.

TomekKaczmarek avatar Sep 19 '19 13:09 TomekKaczmarek

Zastanawiam się jaki wpływ ma produktyzacja na start/stop:

  • wystawiamy aukcje i łączymy z produktem,
  • towar zostaje wyprzedany - zakańczamy aukcje, aktualizujecie bazę produktów i do tego konkretnego produktu dodajecie kolejny parametr,
  • towar pojawia się u nas ponownie, chcemy wznowić aukcje i klops - nie możemy bo parametry z aukcji nie zgadzają się z parametrami produktu.
  1. Czy oznacza to konieczność weryfikacji i ewentualne poprawi oferty przed każdym wznowieniem?
  2. Czy podczas zmiany ceny/stanu oferta również jest weryfikowana i może to spowodować problem jak powyżej czy wznawianiu?

dlis2010 avatar Sep 20 '19 15:09 dlis2010

@dlis2010 zasada jest dokładnie taka sama, jak w przypadku zmian w parametrach oferty (np. w trakcie, gdy oferta jest zakończona, jakiś parametr staje się obowiązkowy) - na podstawie otrzymanego błędu walidacji, uzupełniacie brakujące dane i uspójniacie ofertę z produktem, potem można ją ponownie opublikować.

Na ten moment zmiana ceny i liczby sztuk w ofercie również wymaga, by oferta poprawnie przeszła walidację.

TomekKaczmarek avatar Sep 23 '19 05:09 TomekKaczmarek

Moglibyście dodać szukanie produktu po artnr+dlnr.

zulus avatar Nov 20 '19 08:11 zulus

Udostępniamy możliwość szukania produktu po artnr (numer katalogowy części) dla zasobu GET /sale/compatible-products, na tę chwilę nie planujemy wprowadzić szukania po dlnr.

PrzemyslawLukanowski avatar Nov 20 '19 08:11 PrzemyslawLukanowski

w dokumentacji nie widzę takiego pola. Widzę group.id, tecdoc.ktypnr, tecdoc.ntypnr, phrase i type. Używamy tego zasobu do mapowania samochodów tecdoc.

Problem polega na tym że w przypadku tecdoc, nr katalogowy (artnr) nie jest jednoznaczny (unique). Dokumentacja jasno stanowi że primary key to artnr + dlnr.

Przykład: "00023200", dlnr:

  1. 139 - AJUSA - Uszczelka, kołnierz gaźnika
  2. 4593 - TEDGUM - Tuleja łożyskowania wahacza poprzecznego

zulus avatar Nov 20 '19 09:11 zulus

Witam panowie,

jak postępy z wdrażaniem kolejnych kategorii z motoryzacji z możliwością spięcia z produktami?

Jest gdzieś lista jakie kategorie z motoryzacji aktualnie zezwalają na produktyzacje?

dlis2010 avatar Nov 20 '19 14:11 dlis2010

@zulus Sprostuję, artnr możesz wykorzystać jako wartość parametru phrase dla zasobu GET /sale/products, np. GET /sale/products?phrase=109-1677 zwróci poniższe wyniki:

    "products": [
        {
            "id": "8bf616bb-5bb7-4502-b352-95512115b35d",
            "name": "Zestaw akcesoriów, klocki hamulcowe KAWE 109-1677",
            "category": {
                "id": "260579"
            },
            "parameters": [
                {
                    "id": "127408",
                    "name": "Producent części",
                    "valuesLabels": [
                        "Kawe"
                    ],
                    "valuesIds": [
                        "127408_321521"
                    ],
                    "unit": null,
                    "options": {
                        "identifiesProduct": true
                    }
                },
                {
                    "id": "215858",
                    "name": "Numer katalogowy części",
                    "valuesLabels": [
                        "109-1677"
                    ],
                    "values": [
                        "109-1677"
                    ],
                    "unit": null,
                    "options": {
                        "identifiesProduct": true
                    }
                }
            ],
            "images": []
        },
        {
            "id": "7a3ec41d-2b0f-4841-b47e-cf74191cd1ae",
            "name": "Zestaw akcesoriów, klocki hamulcowe QUICK BRAKE 109-1677",
            "category": {
                "id": "260579"
            },
            "parameters": [
                {
                    "id": "127408",
                    "name": "Producent części",
                    "valuesLabels": [
                        "Quick Brake"
                    ],
                    "valuesIds": [
                        "127408_386661"
                    ],
                    "unit": null,
                    "options": {
                        "identifiesProduct": true
                    }
                },
                {
                    "id": "215858",
                    "name": "Numer katalogowy części",
                    "valuesLabels": [
                        "109-1677"
                    ],
                    "values": [
                        "109-1677"
                    ],
                    "unit": null,
                    "options": {
                        "identifiesProduct": true
                    }
                }
            ],
            "images": []
        },
        {
            "id": "00006c6f-c13d-4542-a55b-bb298ec450d5",
            "name": "Zestaw akcesoriów, klocki hamulcowe METZGER 109-1677",
            "category": {
                "id": "260579"
            },
            "parameters": [
                {
                    "id": "127408",
                    "name": "Producent części",
                    "valuesLabels": [
                        "Metzger"
                    ],
                    "valuesIds": [
                        "127408_321645"
                    ],
                    "unit": null,
                    "options": {
                        "identifiesProduct": true
                    }
                },
                {
                    "id": "215858",
                    "name": "Numer katalogowy części",
                    "valuesLabels": [
                        "109-1677"
                    ],
                    "values": [
                        "109-1677"
                    ],
                    "unit": null,
                    "options": {
                        "identifiesProduct": true
                    }
                }
            ],
            "images": []
        }
    ]

Jeżeli chcesz zawęzić te wyniki do konkretnego producenta, dla wartości parametru phrase dodaj jego nazwę, np. GET /sale/products?phrase=109-1677 KAWE.

@dlis2010 Poniżej znajdziesz listę kategorii z motoryzacji, gdzie możesz powiązać ofertę z produktem:

  • układy hamulcowe
  • filtry
  • układy zawieszenia
  • układ chłodzenia silnika
  • układ napędowy
  • układ wydechowy
  • układ klimatyzacji i wentylacji
  • układ paliwowy
  • układ elektryczny, zapłon

PrzemyslawLukanowski avatar Nov 21 '19 10:11 PrzemyslawLukanowski

@PrzemyslawLukanowski jak obecnie wygląda proces wystawiania oferty dla danego produktu TecDoc?

Powiedzmy mamy sobie produkt z jakimś producentem "X" o numerze "123" który istnieje sobie w tecdoc, mamy jego id w tecdoc czy da się wystawić z nim oferte podając same id tecdoc,opis i własne zdjęcia?

Czy musimy najpierw użyć GET /sale/products czy da się to zrobić 1 zapytaniem POST /sale/product-offers

Kolejna kwestia to oferty powiązane z tecdoc nie są automatycznie aktualizowane - zakańczają się i allegro sypie błędem żeby połączyć z nową wersją produktu - da się to zrobić tylko poprzez PATCH każdej oferty osobno. Nie da się tego zrobić automatycznie ani przez żaden BATCH request - https://github.com/allegro/allegro-api/issues/10537

Jak radzić sobie z tym problemem automatycznie nie jest nigdzie opisane.

bugproof avatar Oct 06 '25 13:10 bugproof

@bugproof Musicie najpierw wyszukać, czy taki produkt znajduje się w naszej bazie. Tak jak wspomniałeś, skorzystajcie z GET /sale/products i kombinacji parametrów phrase i mode. Jeśli w mode wskażecie MPN, to wyszukamy produkty, biorąc pod uwagę tylko przypisane do nich numery katalogowe producenta, np. w parametrze “Numer katalogowy części”.

Nie udostępniamy możliwości batchowej edycji danych produktowych w ofercie. Musisz skorzystać z metody PATCH dla pojedyńczej oferty - wskazując product.id automatycznie uzupełnimy pozostałe dane produktu w ofercie. Opisujemy to w tej części poradnika:

Image Image

PrzemyslawLukanowski avatar Oct 07 '25 05:10 PrzemyslawLukanowski