Serwisy zagraniczne Allegro
W ramach międzynarodowej ekspansji, sprzedający mogą wyświetlać swoje oferty także w zagranicznych domenach serwisu Allegro. Dzięki zmianom, które wprowadziliśmy, sprzedawcy dotrą do szerszego grona potencjalnych klientów niż dotychczas. Co istotne, ofertę wystawiają tylko raz, a sprzedaż mogą prowadzić na wielu rynkach - nie muszą wystawiać dodatkowych ofert.
W poniższym artykule znajdziesz zbiór informacji o tym, jak obsłużyć sprzedaż i procesy posprzedażowe w ramach rynków zagranicznych.
Serwis bazowy użytkownika oraz lista dostępnych serwisów
Serwis bazowy to serwis, który automatycznie przypisujemy do konta na podstawie domeny, na której zarejestrował się sprzedający. Jeśli sprzedający założył konto np. na allegro.pl, serwisem bazowym będzie allegro-pl, analogicznie, serwisem bazowym dla rejestrujących się na allegro.cz, będzie allegro-cz, itp.
Aktywne oferty sprzedającego będą zawsze widoczne w serwisie bazowym. Walidację oferty podczas jej aktywacji przeprowadzimy domyślnie również w ramach serwisu bazowego.
Identyfikator serwisu bazowego zwracamy w polu "baseMarketplace.id" w odpowiedzi dla GET /me:
Przykładowy response:
{
"id": "46968690",
"login": "Client:46968690",
...
"baseMarketplace": {
"id": "allegro-pl"
},
...
}
Serwisy dodatkowe to pozostałe serwisy Allegro, na których sprzedawca może wyświetlić swoje oferty i tym samym sprzedawać produkty na zagranicznych rynkach. Przykładowo - jeśli serwisem bazowym sprzedającego jest allegro-pl, to serwisami dodatkowymi są allegro-cz oraz pozostałe.
Sprzedający wystawia ofertę tylko raz, w ramach serwisu bazowego, ale może decydować o tym, na których serwisach dodatkowych może być wyświetlana.
Za pomocą GET /marketplaces sprawdzisz ID serwisów, w których użytkownik może wyświetlić swoje oferty. Znajdziesz tu również inne dane, które dotyczą konkretnego serwisu, np. języki, w jakich oferta może być utworzona, a także wyświetlona kupującemu, dostępne waluty oraz kraje dostawy.
Przykładowy response:
{
"marketplaces": [ - lista dostępnych serwisów
{
"id": "allegro-pl", - ID dostępnego serwisu
"languages": {
“offerCreation” : [ - języki, w jakich oferta może być utworzona
{
"code": "pl-PL"
},
{
"code": "en-US"
}
],
"offerDisplay": [ - języki, w jakich oferta może być wyświetlona kupującemu
{
"code”: “uk-UA"
},
{
"code": "en-US"
},
{
"code": "cs-CZ"
}
]
}
"currencies": { - dostępne waluty
"base": {
"code": "PLN" - waluta bazowa dla danego serwisu
},
"additional": [ - pozostałe waluty dostępne tylko dla kupującego
{
"code": "EUR"
},
{
"code": "USD"
}
]
},
"shippingCountries": [ - dostępne kraje dostawy dla danego serwisu
{
"code": "PL"
},
{
"code": "CZ"
},
{
"code": "DE"
}
]
},
{
"id": "allegro-cz",
"languages": {
“offerCreation” : [
{
"code": "cs-CZ"
},
{
"code": "en-US"
}
],
“offerDisplay”: [
{
"code": "pl-PL"
},
{
“code”: "en-US"
},
{
“code”: "cs-CZ"
}
]
}
"currencies": {
"base": {
"code": "CZK"
},
"additional": [
{
"code": "EUR"
},
{
"code": "USD"
},
{
"code": "PLN"
}
]
},
"shippingCountries": [
{
"code": "CZ"
},
{
"code": "PL"
},
{
"code": "SK"
}
]
}
]
}
Warunki, jakie musi spełnić oferta, abyśmy wyświetlili ją w serwisach dodatkowych
Serwis dodatkowy sprzedający wybierze tylko dla ofert, które:
- są wystawione przez zweryfikowane konto firmowe,
- są oferowane tylko jako Kup Teraz,
- nie są ofertą charytatywną,
- nie są ofertą B2B.
Oferty muszą przejść dodatkowy proces kwalifikacji, zanim wyświetlimy je w serwisie dodatkowym. Uruchomimy go:
- podczas aktywacji oferty,
- podczas edycji oferty,
- dla aktywnej już oferty, dla której dodasz chęć widoczności oferty w serwisie dodatkowym.
Sprawdzimy, czy oferta:
- ma co najmniej jedną metodę dostawy prawidłową dla serwisu dodatkowego,
- ma cenę w walucie serwisu dodatkowego,
- ma tłumaczenie na język powiązany z serwisem dodatkowym (ofertę przetłumaczymy automatycznie, jeśli będzie spełniać pozostałe warunki do wyświetlenia w serwisie dodatkowym),
- znajduje się w kategorii asortymentowej, dla której istnieje odpowiednia kategoria w serwisie dodatkowym.
Reguły cenowe
Reguły cenowe to funkcjonalności, które pozwalają Ci zarządzać ceną oferty bez edytowania jej ręcznie. Możesz samodzielnie ustawić sposób, w jaki ceny będą się zmieniać.
Za pomocą wybranego typu reguł możesz automatycznie zmieniać swoje ceny na rynku rejestracji i na rynkach zagranicznych. Reguły ustawisz osobno dla każdego rynku, na którym dana oferta jest widoczna. Oznacza to, że z jedną ofertą możesz połączyć kilka reguł.
Ważne! Gdy w ofercie korzystasz z reguł cenowych, ale zdecydujesz się ustawić w niej własną cenę – automatycznie wyłączymy daną regułe w tej ofercie.
Nie zmieniamy automatycznie cen w ofertach, które aktualnie biorą udział w kampaniach lub programach wpływających na cenę bazową oferty. Dzięki temu tymczasowe obniżki nie wpłyną na Twoją politykę cenową. Gdy Twoja oferta zakończy udział w kampanii, ponownie zaczniemy stosować w niej wybraną regułę cenową.
Jakie typy reguł cenowych możesz połączyć z ofertami
Możesz skorzystać z gotowych typów reguł:
"EXCHANGE_RATE" (Przelicznik cen) - aby zmieniać ceny tylko na rynkach zagranicznych.
"FOLLOW_BY_ALLEGRO_MIN_PRICE" (Najniższa cena na Allegro) - aby zmieniać ceny na swoim rynku rejestracji oraz na rynkach zagranicznych
Na podstawie powyższych typów możesz też tworzyć własne reguły cenowe.
Jak obliczamy ceny dla reguły “EXCHANGE_RATE”
Ceny obliczamy na podstawie informacji o kursach publikowanych przez Europejski Bank Centralny.
Podane przez Ciebie ceny w walucie serwisu bazowego przeliczamy na walutę serwisu dodatkowego według wzoru:
cena w walucie serwisu bazowego x kurs walut = cena w walucie serwisu dodatkowego
Europejski Bank Centralny publikuje informacje o kursie walut raz dziennie. Dlatego gdy skorzystasz z przelicznika cen, zaktualizuje on ceny na podstawie informacji o kursie z poprzedniego dnia roboczego, np. Europejski Bank Centralny publikuje dane o 16:21 w piątek. Na Allegro nowy kurs obowiązuje od godziny 00:00:01 w poniedziałek, aż do wtorku 00:00:01 (obowiązuje strefa czasowa CET/CEST).
Dodatkowe informacje:
- ceny w ofertach, które są widoczne w serwisach dodatkowych, przeliczymy automatycznie zawsze, gdy zmienisz cenę w serwisie bazowym,
- przelicznik wylicza cenę w serwisach dodatkowych na podstawie ceny w serwisie bazowym. Nie uwzględnia cen, które zostały obniżone w związku z udziałem w kampaniach i programach,
- gdy wznawiasz ofertę z włączonym przelicznikiem cen, zaktualizujemy w niej cenę w walucie serwisu dodatkowego zgodnie z aktualnym kursem.
Przykład
- Wystawiasz ofertę z ceną 15 zł i udostępniasz ją na allegro.sk.
- Dla rynku allegro.sk ustawiasz regułę cenową, która:
- dodaje 10% do ceny w złotówkach
- korzysta z Przelicznika cen, aby przeliczyć tę kwotę na euro po aktualnym kursie.
- Aby ustalić cenę na słowacki rynek, najpierw dodamy 10% do ceny w złotówkach – będzie to 16,50 zł.
- Kurs walut, który jest aktualny dla Przelicznika cen w tym dniu, to 1 PLN = 0,231 EUR. Dlatego po przeliczeniu cena Twojej oferty na allegro.sk będzie równa 3,81 EUR.
- Kilka dni później w tej samej ofercie obniżasz cenę w złotówkach do 14 zł.
- Zastosujemy wtedy Twoją regułę, aby zaktualizować cenę w euro. Po dodaniu 10% do nowej ceny w złotówkach otrzymamy 15,40 zł – tę kwotę przeliczymy po aktualnym kursie (1 PLN = 0,246 EUR). Nowa cena na allegro.sk wyniesie zatem 3,79 EUR.
Jak działają reguły cenowe typu “FOLLOW_BY_ALLEGRO_MIN_PRICE”
Reguła cenowa “FOLLOW_BY_ALLEGRO_MIN_PRICE” automatycznie zmienia cenę w Twojej ofercie na podstawie:
- Twojej ceny produktu w tej ofercie
- aktualnie najniższej ceny danego produktu na Allegro, którą sprawdzamy co godzinę
- zakresu cen, w ramach którego chcesz zmieniać swoją cenę - jest to warunek, który musi zostać spełniony. Jeśli nie podasz zakresu, uwzględnimy regułę w ofercie, jednak nie będziemy przeliczać cen. Dla rynków zagranicznych możesz podać zakres w walucie tego rynku lub w walucie Twojego rynku rejestracji
Jak ustalamy najniższą cenę dla danego produktu
Najniższą cenę produktu na Allegro ustalamy cyklicznie – raz na godzinę.
Najniższą cenę określamy na podstawie ofert z danym produktem, które spełniają poniższe warunki:
- są aktywnymi ofertami kup teraz
- są połączone z Katalogiem produktów Allegro
- mają parametr “Stan” o wartości “nowy” – jeśli w danej kategorii wymagamy tego parametru
- nie są zestawem
- nie są przeznaczone tylko dla klientów biznesowych (B2B)
- kupujący może w nich skorzystać z darmowej dostawy: w ramach Allegro Smart! lub oferowanej przez sprzedającego
- czas wysyłki w tych ofertach nie przekracza średniego czasu wysyłki dla danej kategorii
- są wystawione przez aktywnego sprzedającego, który:
- ma co najmniej Neutralny poziom jakości sprzedaży
- wystawia fakturę VAT.
Nie wyznaczamy najniższej ceny dla produktów, których rozbieżności w cenie są zbyt duże. Przykładowo, jeśli różnica między najwyższą i najniższą ceną danego produktu to ponad 50% – nie wyznaczymy dla niego najniższej ceny na Allegro.
Sprawdzamy, czy zmiana najniższej ceny nie przekracza 30% mediany z ostatnich 14 dni. W ten sposób upewniamy się, że nie porównujesz swojej ceny z ograniczonymi liczbowo wyprzedażami.
Gdy dla danego produktu pojawi się nowa najniższa cena na Allegro, zaktualizujemy cenę w Twojej ofercie. Zrobimy to tylko w ramach zakresu cen, który podasz dla tej oferty.
Przykład 1
- Dla oferty z ceną 20 zł ustawiasz regułę cenową typu “FOLLOW_BY_ALLEGRO_MIN_PRICE”. Podajesz zakres cen dla tej oferty: od 15 do 25 zł.
- Aktualna najniższa cena danego produktu na Allegro to 16 zł.
- Najniższa cena na Allegro mieści się w Twoim zakresie cen – dlatego zaktualizujemy cenę oferty na 16 zł.
Przykład 2
- Dla oferty z ceną 20 zł ustawiasz regułę cenową typu “FOLLOW_BY_ALLEGRO_MIN_PRICE”. Podajesz zakres cen dla tej oferty: od 18 do 25 zł.
- Aktualna najniższa cena danego produktu na Allegro to 16 zł.
- Najniższa cena na Allegro nie mieści się w Twoim zakresie cen – dlatego ustawimy w ofercie najniższą możliwą cenę z tego zakresu: 18 zł.
Jeśli nie podasz zakresu cen, nie będziemy stosować reguł i aktualizować ceny w ofercie. W ten sposób chronimy Cię przed automatyczną obniżką poniżej kwoty, która jest dla Ciebie opłacalna.
Kiedy aktualizujemy ceny w ofertach z regułą “FOLLOW_BY_ALLEGRO_MIN_PRICE”
Pierwszy raz zaktualizujemy cenę Twojej oferty na wybranym rynku, gdy połączysz ją z regułą cenową “FOLLOW_BY_ALLEGRO_MIN_PRICE” i ustawisz zakres cen.
Od tego czasu będziemy aktualizować cenę oferty za każdym razem, gdy:
- zmieni się aktualna najniższa cena danego produktu na Allegro
- zmienisz coś w tej ofercie – na przykład status oferty, jej widoczność na rynkach zagranicznych lub produkt w Katalogu Allegro, z którym jest połączona
- zmienisz zakres cen dla tej oferty
- edytujesz regułę cenową połączoną z ofertą
- kurs walut zmieni się w taki sposób, że wpływa na cenę w walucie wybranego rynku – jeśli zdefiniujesz zakres cen w walucie rynku rejestracji.
Cenę zmienimy zawsze tylko w zakresie, który masz ustawiony dla danej oferty. Jeśli nie zdefiniujesz zakresu cen, reguła cenowa nie będzie działać w tej ofercie.
Jak utworzyć własne reguły cenowe
Domyślnie na koncie użytkownik posiada dwie reguły utworzone przez Allegro, typu:
- “EXCHANGE_RATE” - o nazwie “Przelicznik cen”. Tworzymy ją automatycznie w oparciu o ofertę z cennikiem dostawy dla rynku zagranicznego. Regułę automatycznie przypisujemy do ofert, które kwalifikują się do widoczności w serwisach zagranicznych.
- "FOLLOW_BY_ALLEGRO_MIN_PRICE" - o nazwie "Najniższa cena na Allegro". Reguła nie jest automatycznie przypisana do żadnej oferty.
Powyższe reguły oznaczone są jako “default”: true, nie zawierają dodatkowych konfiguracji cen, które zdefiniować może wyłącznie sprzedający. Reguł domyślnych nie możesz edytować lub usunąć.
Aby utworzyć nową reguły, skorzystaj z POST /sale/price-automation/rules. Możesz posiadać maksymalnie 20 reguł cenowych (2 utworzone przez Allegro oraz 18 własnych).
Każda reguła cenowa, którą stworzysz, będzie jednocześnie:
- przeliczać cenę na walutę rynku zagranicznego (dla typu “EXCHANGE_RATE”) lub dopasowywać cenę do najniższej ceny danego produktu na Allegro (dla typu "FOLLOW_BY_ALLEGRO_MIN_PRICE") – w zależności od wybranej reguły
- dodawać lub odejmować określony procent ceny (maksymalnie 50%), który zdefiniujesz w polu “configuration.changeByPercentage”. Dla reguł cenowych typu:
- “EXCHANGE_RATE” – dodamy lub odejmiemy określony procent do ceny w walucie rynku rejestracji, czyli przed przewalutowaniem ceny
- "FOLLOW_BY_ALLEGRO_MIN_PRICE" - dodamy lub odejmiemy określony procent do nowej najniższej ceny produktu, który jest przypisany w ofercie. Dodatkowo sprawdzimy, czy otrzymana kwota mieści się w Twoim zakresie cen (który będziesz definiować na poziomie przypisywania reguły cenowej do oferty).
Przykładowy request dla reguły typu “EXCHANGE_RATE”:
curl -X POST \
'https://api.allegro.pl/sale/price-automation/rules' \
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Content-Type: application/vnd.allegro.public.v1+json' \
-H 'Authorization: Bearer {token}' \
-d ‘{
"name": "Exchange Rate add 10%", // nazwa reguły cenowej
"type": "EXCHANGE_RATE", // typ reguły (EXCHANGE_RATE lub FOLLOW_BY_ALLEGRO_MIN_PRICE)
"configuration": { // opcjonalnie, konfiguracja reguły
"changeByPercentage": { // ustawienia procentowe, jakie będą zastosowane do reguły
"operation": "ADD", // typ operacji: ADD (dodaj) albo SUBTRACT (odejmij)
"value": "10" // wartość operacji. W tym przypadku reguła będzie dodawać 10% do ceny w serwisie bazowym
}
}
}’
Przykładowe response:
{
"id": "66950bc04a57a95dfad0890d", // ID reguły cenowej
"type": "EXCHANGE_RATE", // typ reguły
"name": "Exchange Rate add 10%", // nazwa reguły
"default": false, // czy reguła została utworzona przez Allegro (true) czy przez sprzedawcę (false)
"configuration": { // konfiguracja reguły
"changeByPercentage": { // ustawienia procentowe, jakie będą zastosowane do reguły
"operation": "ADD", // typ operacji
"value": "10" // wartość operacji. W tym przypadku reguła będzie odejmować 10% do ceny w serwisie bazowym
}
},
"updatedAt": "2024-07-15T11:45:04.567Z" // data modyfikacji reguły
}
Przykładowy request dla reguły typu "FOLLOW_BY_ALLEGRO_MIN_PRICE":
curl -X POST \
'https://api.allegro.pl/sale/price-automation/rules' \
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Content-Type: application/vnd.allegro.public.v1+json' \
-H 'Authorization: Bearer {token}' \
-d ‘{
"name": "Follow price subtract 15%", // nazwa reguły cenowej
"type": "FOLLOW_BY_ALLEGRO_MIN_PRICE", // typ reguły (EXCHANGE_RATE lub FOLLOW_BY_ALLEGRO_MIN_PRICE)
"configuration": { // opcjonalnie, konfiguracja reguły
"changeByPercentage": { // ustawienia procentowe, jakie będą zastosowane do reguły
"operation": "SUBTRACT", // typ operacji: ADD (dodaj) albo SUBTRACT (odejmij)
"value": "15" // wartość operacji. W tym przypadku reguła będzie odejmować 15% od nowej najniższej ceny produktu w ofercie
}
}
}’
Przykładowe response:
{
"id": "66950bc04a57a95dfad0891d", // ID reguły cenowej
"type": "FOLLOW_BY_ALLEGRO_MIN_PRICE", // typ reguły
"name": "Follow price subtract 15%", // nazwa reguły
"default": false, // czy reguła została utworzona przez Allegro (true) czy przez sprzedawcę (false)
"configuration": { // konfiguracja reguły
"changeByPercentage": { // ustawienia procentowe, jakie będą zastosowane do reguły
"operation": "SUBTRACT", // typ operacji
"value": "15". // wartość operacji. W tym przypadku reguła będzie odejmować 15% od nowej najniższej ceny produktu w ofercie
}
},
"updatedAt": "2024-07-15T11:45:04.567Z" // data modyfikacji reguły
}
Jak pobrać dostępne reguły cenowe
Wykonasz to za pomocą GET /sale/price-automation/rules. Zasób jest dodatkowo limitowany do 5 requestów na sekundę.
Przykładowy request:
curl -X GET \
'https://api.allegro.pl/sale/price-automation/rules' \
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Content-Type: application/vnd.allegro.public.v1+json' \
-H 'Authorization: Bearer {token}' \
Przykładowy response:
{
"rules": [ // lista reguł cenowych zdefiniowanych na koncie
{
"id": "644773f274c48fb91dbaf1de", // ID reguły cenowej
"type": "EXCHANGE_RATE", // typ reguły
"name": "Przelicznik cen", // nazwa reguły
"default": true, // czy reguła została utworzona przez Allegro
"updatedAt": "2023-04-25T06:32:18Z" // data ostatniej modyfikacji
},
{
"id": "664dcce914d5bb52af70bd27",
"type": "FOLLOW_BY_ALLEGRO_MIN_PRICE",
"name": "Najniższa cena na Allegro",
"default": true,
"updatedAt": "2024-05-22T10:46:01.115Z"
},
{
"id": "66950bc04a57a95dfad0890d",
"type": "EXCHANGE_RATE",
"name": "Exchange Rate add 10%",
"default": false,
"configuration": { // konfiguracja reguły
"changeByPercentage": {
"operation": "ADD",
"value": "10"
}
},
"updatedAt": "2024-07-15T11:45:04.567Z"
},
{
"id": "669511cf4a57a95dfad08956",
"type": "FOLLOW_BY_ALLEGRO_MIN_PRICE",
"name": "Follow price subtract 15%",
"default": false,
"configuration": {
"changeByPercentage": {
"operation": "SUBTRACT",
"value": "15"
}
},
"updatedAt": "2024-07-15T12:10:55.949Z"
}
]
}
Jak edytować regułę cenową
Aby edytować regułę cenową, skorzystaj z PUT /sale/price-automation/{ruleId}. Zmienić możesz wyłącznie nazwę lub konfigurację reguły cenowej. Nie możesz modyfikować reguł domyślnych, utworzonych przez Allegro, oznaczonych jako “default”: true.
Przykładowy request:
curl -X PUT \
'https://api.allegro.pl/sale/price-automation/rules/644773f274c48fb91dbaf1de' \
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Content-Type: application/vnd.allegro.public.v1+json' \
-H 'Authorization: Bearer {token}' \
-d ‘{
"name": "Follow price subtract 20%", // nazwa reguły cenowej
"configuration": { // opcjonalnie, konfiguracja reguły
"changeByPercentage": { // ustawienia procentowe, jakie będą zastosowane do reguły
"operation": "SUBTRACT", // typ operacji: ADD (dodaj) albo SUBTRACT (odejmij)
"value": "20" // wartość operacji. W tym przypadku reguła będzie odejmować 20% od nowej najniższej ceny danego produktu
}
}
}’
Przykładowy response:
{
"id": "66950bc04a57a95dfad0890d", // ID reguły cenowej
"type": "FOLLOW_BY_ALLEGRO_MIN_PRICE", // typ reguły
"name": "Follow price subtract 20%", // nazwa reguły
"default": false, // czy reguła została utworzona przez Allegro
"configuration": { // konfiguracja reguły
"changeByPercentage": {
"operation": "SUBTRACT", // typ operacji: ADD (dodaj) albo SUBTRACT (odejmij)
"value": "20" // wartość operacji. W tym przypadku reguła będzie odejmować 20% od nowej najniższej ceny danego produktu
}
},
"updatedAt": "2024-07-15T12:37:05.325Z" // data modyfikacji
}
Jak usunąć regułę cenową
Wykonasz to za pomocą DELETE /sale/price-automation/{ruleId}. Regułę usuniesz wyłącznie wtedy, gdy nie jest przypisana do żadnej oferty.
Przykładowy request:
curl -X DELETE \
'https://api.allegro.pl/sale/price-automation/rules/644773f274c48fb91dbaf1de' \
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Content-Type: application/vnd.allegro.public.v1+json' \
-H 'Authorization: Bearer {token}' \
Przykładowy response:
204 No Content
Jak przypisać i usunąć reguły przelicznika cen w ofertach
Użyj w tym celu POST /sale/offer-price-automation-commands. Zasób jest dodatkowo limitowany do 250 tys. zmian w pojedynczej ofercie na godzinę lub 9 tys. na minutę.
Przykładowy request:
'https://api.allegro.pl/sale/offer-price-automation-commands' \
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Content-Type: application/vnd.allegro.public.v1+json' \
-H 'Authorization: Bearer {token}' \
-d '{
"id": "123a08d7-ab9b-460d-b9cb-d6ed64b3a018", // niewymagane, ID komendy. Jeśli nie przekażesz wartości w tym polu, ID w odpowiedzi wygenerujemy automatycznie
"modification": { // informacje o modyfikacji reguł przeliczania cen. Przekaż jedno z pól: set (przypisanie reguły) albo “remove” (usunięcie)
"set": [
{
"marketplace": {
"id": "allegro-cz" // ID serwisu, do którego chcesz przypisać regułę cenową podaną w polu rule.id
},
"rule": {
"id": "641c73feaef0a8281a3d11f8" // ID reguły cenowej. Dostępne wartości pobierzesz za pomocą GET /sale/price-automation/rules
},
"configuration": { // dodatkowa konfiguracja zakresu cen. Wymagane, abyśmy przeliczali ceny dla reguły typu FOLLOW_BY_ALLEGRO_MIN_PRICE, brak możliwości uzupełnienia dla reguły EXCHANGE_RATE
"priceRange": { // zakres cen
"type": "MARKETPLACE_CURRENCY", // typ zakresu wg waluty. Dla każdego serwisu możesz wskazać MARKETPLACE_CURRENCY (zakres cenowy musisz określić w walucie serwisu, do którego przypisujesz regułę), dla serwisów dodatkowych możesz wskazać zarówno MARKETPLACE_CURRENCY albo BASE_MARKETPLACE_CURRENCY (wtedy zakres cenowy musisz określić w walucie serwisu bazowego)
"minPrice": { // minimalna cena
"amount": "123.45", // kwota
"currency": "PLN" // waluta
},
"maxPrice": { // maksymalna cena
"amount": "125.45", // kwota
"currency": "PLN" // waluta
}
}
}
}
],
"remove": [
{
"marketplace": {
"id": "allegro-xx" // ID serwisu, w którym chcesz usunąć biężącą regułę cenową
}
}
]
},
"offerCriteria": [
{
"offers": [ // wymagane, tablica obiektów z numerami identyfikacyjnymi ofert - maksymalnie 1000 ofert
{
"id": "123456789"
}
],
"type": "CONTAINS_OFFERS" // wymagane, obecnie dostępna jest jedna wartość: CONTAINS_OFFERS (oferty, w których zmienimy ustawienia reguł cenowych)
}
]
}'
Przykładowy response:
{
"id": "0e09c6fe-dabd-42b7-8bbe-4daa1526df80", // ID komendy
"createdAt": "2019-08-24T14:15:22Z", // data utworzenia zadania
"completedAt": null, // data realizacji zadania (dla tej metody zawsze zwrócimy null)
"taskCount": {
"total": 0,
"success": 0,
"failed": 0
}
}
Aby sprawdzić status wykonania zadania, skorzystaj z GET /sale/offer-price-automation-commands/{commandId}. W odpowiedzi otrzymasz zestawienie, w ilu ofertach operacja wykonała się poprawnie, a z iloma wystąpił problem.
Przykładowy request:
curl -X GET \
'https://api.allegro.pl/sale/offer-price-automation-commands/123a08d7-ab9b-460d-b9cb-d6ed64b3a018' \
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Content-Type: application/vnd.allegro.public.v1+json' \
-H 'Authorization: Bearer {token}' \
Przykładowy response:
{
"id": "123a08d7-ab9b-460d-b9cb-d6ed64b3a018",
"createdAt": "2019-08-24T14:15:22Z",
"completedAt": "2019-08-24T14:15:22Z",
"taskCount": {
"total": 2,
"success": 2,
"failed": 0
}
}
Jeśli chcesz pobrać szczegółowy raport, użyj w tym celu GET /sale/offer-price-automation-commands/{commandId}/tasks.
Przykładowy request:
curl -X GET \
'https://api.allegro.pl/sale/offer-price-automation-commands/123a08d7-ab9b-460d-b9cb-d6ed64b3a018/tasks' \
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Content-Type: application/vnd.allegro.public.v1+json' \
-H 'Authorization: Bearer {token}' \
Przykładowy response:
{
"tasks": [
{
"offer": {
"id": "1234567"
},
"message": null,
"status": "SUCCESS",
"field": "repricing",
"errors": []
}
]
}
Oba wyżej wymienione zasoby są dodatkowo limitowane do 270 tys. ofert w zleconych komendach na minutę.
Jak sprawdzić aktualnie przypisane reguły przelicznika cen w ofercie
Użyj w tym celu GET /sale/price-automation/offers/{offerId}/rules. Zasób jest dodatkowo limitowany do 5 requestów na sekundę.
Przykładowy request:
curl -X GET \
'https://api.allegro.pl/sale/price-automation/offers/123456789/rules' \
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Content-Type: application/vnd.allegro.public.v1+json' \
-H 'Authorization: Bearer {token}' \
Przykładowy response:
{
"rules": [
{
"marketplace": {
"id": "allegro-pl" // ID serwisu, którego dotyczy dana reguła
},
"rule": {
"id": "641c73feaef0a8281a3d11f8", // ID reguły przelicznika cen
"type": "EXCHANGE_RATE" // typ reguły przelicznika cen
},
"updatedAt": "2023-03-23T15:45:02Z" // data, kiedy dana reguła była ostatnio modyfikowana
}
],
"updatedAt": "2023-03-23T15:45:02Z" // data, kiedy ostatnio nastąpiła zmiana w przypisaniu reguł w ofercie
}
Wyświetlanie ofert w serwisach dodatkowych
O tym, czy dana oferta będzie zgłoszona do widoczności w innym serwisie B2C decydować będzie metoda dostawy przypisana do danego kraju dostawy. Czyli np. jeśli w danej ofercie na allegro.pl, sprzedający udostępnia lub udostępni metodę dostawy do Czech, taka oferta będzie podlegała kwalifikacji do widoczności również w serwisie allegro.cz. Jeśli sprzedający zechce zrezygnować z widoczności oferty na rynku dodatkowym przez API, zrobi to poprzez usunięcie z oferty dedykowanych metod dostawy do tego kraju (dodanie/edycja cennika). Automatycznie oznaczymy chęć widoczności oraz ustawimy cenę w walucie dla danego serwisu (jeśli sprzedający nie poda takiej ceny).
W zasobach:
- /sale/product-offers,
- /sale/product-offers/{offerId},
w sekcji additionalMarketplaces.{marketplaceId}:
sprzedający zadeklaruje cenę oferty dla wybranego serwisu dodatkowego w polu sellingMode.price. Cenę w tym polu sprzedający musi podać w walucie prawidłowej dla danego serwisu, co jest określone w konfiguracji dostępnej w zasobie GET /marketplaces. Jeśli nie chcesz definiować ceny manualnie, skorzystaj z naszego przelicznika cen.
zwracamy informację o statusie widoczności oferty w danym serwisie dodatkowym w polu publication.state. Pole jest tylko do odczytu i przyjmuje jedną z poniższych wartości:
- "APPROVED" - oferta jest widoczna w danym serwisie dodatkowym, jeżeli jest aktywna,
- "REFUSED" - oferta lub sprzedający nie spełniają warunków wymaganych do wyświetlenia oferty w danym serwisie dodatkowym,
- "IN_PROGRESS" - trwa proces kwalifikacji oferty do widoczności w danym serwisie dodatkowym,
- "NOT_REQUESTED" - sprzedający nie zaznaczył intencji widoczności w danym serwisie dodatkowym (w polu publication.marketplaces.additional),
- “PENDING” - sprzedający zaznaczył intencję widoczności w danym serwisie dodatkowym, jednak proces kwalifikacji oferty nie rozpoczął się np. ze względu na status oferty (tylko oferty aktywne podlegają procesowi kwalifikacji widoczności).
Informację o zmianie statusu widoczności w serwisie dodatkowym otrzymasz w ramach dziennika ofertowego, w odpowiedzi GET /sale/offer-events zwrócimy zdarzenie "OFFER_VISIBILITY_CHANGED". Dodatkowo, dla statusu “REFUSED” podamy konkretny powód odrzucenia.
Przykładowa struktura:
{
…
"additionalMarketplaces": {
"allegro-cz": { - serwis dodatkowy allegro-cz (czeska domena serwisu)
"publication": {
"state": "APPROVED" - status widoczności w serwisie dodatkowym, w tym
przypadku wartość wskazuje na to, że oferta jest wyświetlana
w serwisie dodatkowym
},
"sellingMode": {
"price": { - cena oferty w serwisie dodatkowym
"amount": "629",
"currency": "CZK"
}
}
},
"allegro-xy": { - teoretyczny przykład innego serwisu
dodatkowego
"publication": {
"state": "NOT_REQUESTED"
}
}
}
…
}
Aby sprawdzić, które oferty wyświetlamy w danym serwisie, skorzystaj z GET /sale/offers i parametru publication.marketplace={marketplaceId}. Czyli, aby zobaczyć które oferty widoczne są na stronie allegro.cz, zbuduj następujący request - GET /sale/offers?publication.marketplace=allegro-cz.
Grupowe zarządzanie ofertami
W serwisach dodatkowych sprzedający może grupowo zmienić cenę przez PUT /sale/offer-price-change-commands/{commandId}
Przykładowy request:
curl -X PUT \
'https://api.allegro.pl/sale/offer-price-change-commands/{commandId}' \
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Content-Type: application/vnd.allegro.public.v1+json' \
-H 'Authorization: Bearer {token}' \
-d '{
"modification": {
"type": "FIXED_PRICE",
"marketplaceId": "allegro-cz", - ID serwisu allegro na którym chcesz zmienić cenę
"price": {
"amount": 70,
"currency": "CZK"
}
},
"offerCriteria": [
{
"type": "CONTAINS_OFFERS",
"offers": [
{
"id": "13529278070"
}
]
}
]
}'
Więcej informacji o grupowym zarządzaniu ofertami znajdziesz w naszym poradniku.
Zarządzanie zamówieniami
Jak rozpoznać, w jakim serwisie zostało złożone zamówienie
Sprawdzisz to w obiekcie "marketplace", gdzie w polu "id" zwracamy identyfikator serwisu, w którym kupujący zakupił przedmiot.
Obiekt zwracamy w:
Za pomocą parametru wyszukiwania "marketplace.id" w zasobie /order/checkout-forms możesz filtrować zamówienia dla wskazanego serwisu.
Informację o preferencjach językowych kupującego zwracamy w polu “buyer.preferences.language”.
Więcej informacji o zarządzaniu zamówieniami znajdziesz w naszym poradniku.
Jak rozpoznać, z jakiego serwisu pochodzi zwrot od klienta
Sprawdzisz to w polu “marketplaceId” w odpowiedzi:
- GET /order/customer-returns,
- GET /order/customer-returns/{customerReturnId},
- POST /order/customer-returns/{customerReturnId}/rejection,
w którym zwracamy informację, jakiego serwisu dotyczy dany zwrot.
Więcej informacji o zwrotach klienckich znajdziesz w naszym poradniku.
Zarządzanie opcjami promowania
Jak zarządzać promowaniem pojedynczej oferty
Za pomocą GET /sale/offers/{offerId}/promo-options edytujesz opcje promowania pojedynczej oferty. W sekcji:
- “modifications” - ustawisz promowanie dla oferty w serwisie bazowym,
- “additionalMarketplaces” - przekażesz informacje o opcjach promowania dla serwisów dodatkowych.
Przykładowy request
curl -X POST \
'https://api.allegro.pl/sale/offers/9531382307/promo-options-modification \
-H 'Authorization: Bearer {token}' \
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Content-Type: application/vnd.allegro.public.v1+json'
{
"modifications": [], - tu zmienisz opcje promowania
w serwisie bazowym
"additionalMarketplaces": [ - tu zmienisz opcje promowania
w serwisach dodatkowych
{
"marketplaceId": "allegro-pl",
"modifications": [
{
"modificationType": "CHANGE",
"packageType": "BASE",
"packageId": "emphasized10d"
}
]
}
]
}
Gdy skorzystasz z GET /sale/offers/{offerId}/promo-options, w odpowiedzi uzyskasz informacje o opcjach promowania oferty dla serwisu:
- bazowego - w polu “marketplaceId”,
- dodatkowego - w sekcji “additionalMarketplaces”, w polu “marketplaceId”.
Przykładowy response
{
"offerId": "9531382307",
"marketplaceId": "allegro-cz", - serwis bazowy oferty
"basePackage": null,
"extraPackages": [],
"pendingChanges": null,
"additionalMarketplaces": [ - serwisy dodatkowe oferty
{
"marketplaceId": "allegro-pl",
"basePackage": {
"id": "emphasized10d",
"validFrom": "2020-01-01T00:00:00Z",
"validTo": "2020-01-01T00:00:00Z",
"nextCycleDate": "2020-01-01T00:00:00Z"
},
"extraPackages": [],
"pendingChanges": null
}
]
}
Jak grupowo zarządzać promowaniem ofert
Za pomocą PUT /sale/offers/promo-options-commands/{commandId} edytujesz opcje promowania wielu ofert. W sekcji:
- “modification”- dla wybranych ofert ustawisz opcje promowania w serwisie bazowym,
- “additionalMarketplaces” - dla wybranych ofert przekażesz informacje o opcjach promowania w serwisach dodatkowych.
Przykładowy request
curl -X PUT \
'https://api.allegro.pl/sale/offers/promo-options-commands/{commandId} \
-H 'Authorization: Bearer {token}' \
-H 'Accept: application/vnd.allegro.public.v1+json' \
-H 'Content-Type: application/vnd.allegro.public.v1+json'
{
"offerCriteria": [
{
"offers": [
{
"id": "9531382307"
},
{
"id": "9531382308"
}
],
"type": "CONTAINS_OFFERS"
}
],
"modification": {}, - ta sekcja dotyczy serwisu bazowego
"additionalMarketplaces": [ - ta sekcja dotyczy serwisów dodatkowych
{
"marketplaceId": "allegro-pl",
"modification": {
"basePackage": {
"id": "emphasized10d"
},
"extraPackages": [],
"modificationTime": "NOW"
}
}
]
}
Jak sprawdzić aktualne opcje promowania przypisanych do ofert w serwisach dodatkowych
Za pomocą GET /sale/offers/promo-options pobierzesz aktualne opcje promowania przypisane do ofert sprzedającego.
Przykładowy response
{
"promoOptions": [
{
"offerId": "9531382307",
"marketplaceId": "allegro-cz",
"basePackage": null,
"extraPackages": [],
"pendingChanges": null,
"additionalMarketplaces": [
{
"marketplaceId": "allegro-pl",
"basePackage": {
"id": "promoPackage",
"validFrom": "2020-01-01T00:00:00Z",
"validTo": "2020-01-01T00:00:00Z",
"nextCycleDate": "2020-01-01T00:00:00Z"
},
"extraPackages": [],
"pendingChanges": null
}
]
}
],
"count": 1,
"totalCount": 1
}
Więcej informacji o zarządzaniu opcjami promowania znajdziesz w naszym poradniku.
Sprawdzanie opłat
Historia operacji billingowych
W zasobie /billing/billing-entries, za pomocą parametru "marketplaceId”, sprawdzisz historię operacji billingowych dla wybranego serwisu, np. allegro-cz.
Jeżeli nie użyjesz parametru "marketplaceId", to domyślnie zwrócimy serwis bazowy, np. allegro-pl.
Więcej informacji o historii operacji billingowych znajdziesz w naszym poradniku.
Historia operacji płatniczych
W zasobie /payments/payment-operations, dzięki któremu pobierzesz historię operacji na saldzie zalogowanego sprzedającego, udostępniamy:
pole marketplaceId - identyfikator serwisu, na którym została przeprowadzona operacja płatnościowa. Jeśli operacja odbywa się w ramach konta Allegro, a nie konkretnego serwisu np. dla wypłaty środków z konta, to w takiej sytuacji zwrócimy wartość null, zwrócimy ją także dla części operacji sprzed 10 lutego 2023;
parametry, dzięki którym przefiltrujesz wyniki:
- marketplaceId - identyfikator serwisu, na którym została przeprowadzona operacja płatnościowa,
- currency - waluta, w której została przeprowadzona operacja,Więcej informacji o historii operacji płatniczych znajdziesz w naszym poradniku.
Kalkulator opłat
Za pomocą kalkulatora opłat sprzedający mogą sprawdzić, jakie opłaty pobieramy dla konkretnej oferty w serwisie bazowym.
Aby sprawdzić koszty wystawienia oferty w konkretnym serwisie bazowym, przekaż:
- pole “marketplaceId” wraz z identyfikatorem danego serwisu, np. “allegro-cz”,
- cenę w walucie odpowiadającej wybranemu rynkowi, np. "currency": "CZK".
Jeżeli w żądaniu nie przekażesz pola “marketplaceId”, domyślnie ustawimy wartość serwisu bazowego, np. “allegro-pl”.
Więcej informacji o kalkulatorze opłat znajdziesz w naszym poradniku.
Zagraniczne serwisy B2B
Aktualnie jedynym serwisem dodatkowym B2B jest business.allegro.cz. Jest to dodatkowy rynek przeznaczony dla przedsiębiorców.
Kto może udostępnić oferty w serwisie business.allegro.cz
Aktualnie oferty wyświetlą w nim wyłącznie sprzedający z serwisem bazowym allegro-cz. Sam marketplace B2B nie jest serwisem bazowym, co oznacza, że sprzedający nie wystawią na nim bezpośrednio swoich ofert.
Jakie warunki musi spełnić oferta, aby została wyświetlona w serwisie business.allegro.cz
Aby oferta została wyświetlona w Allegro Business, sprzedawca musi wystawiać fakturę do tej oferty . Tym samym, jeżeli sprzedający zechce zrezygnować z udostępniania oferty na rynku dodatkowym typu B2B, zrobi to poprzez usunięcie opcji wystawienia faktury z oferty.
4 czerwca 2024 uruchomiliśmy proces widoczności dla serwisu "allegro-business-cz". Od tego dnia serwis dodatkowy jest widoczny w ofertach, które mają zaznaczonę opcję wystawiania faktury.
Jak wygląda zarządzanie ceną w serwisie business.allegro.cz
Cena w serwisie dodatkowym B2B będzie taka sama jak w serwisie bazowym B2C - automatycznie ją skopiujemy. Jeśli sprzedający zmieni cenę na rynku bazowym, to automatycznie edytujemy ją na rynku dodatkowym B2B. Zablokujemy możliwość definiowania innej ceny niż w serwisie bazowym. Jeśli jednak sprzedający poda cenę w polu "additionalMarketplaces.{marketplaceId}.sellingMode.price" musi być ona taka sama jak w polu "sellingMode.price.amount", w innym wypadku zwrócimy błąd 422. W przyszłości planujemy dodać możliwość ustawiania własnych cen.
Oferty z oznaczoną stawką VAT będziemy wyświetlać na business.allegro.cz z dwiema cenami:
- brutto, którą sprzedawca podał na ofercie,
- netto, która wyliczymy na podstawie ceny brutto oraz podanej stawki VAT.
Sprzedawca może również skonfigurować progi ilości zakupów i powiązanych z nimi rabatów procentowych za pomocą rabatów hurtowych.
Jak przetestować działanie nowego serwisu
Udostępniamy Sandboxa pod adresem https://business.allegro.cz.allegrosandbox.pl/.
Jakie są plany na przyszłość
W przyszłości dodamy kolejne rynki typu B2B oraz udostępnimy możliwość prezentowania ofert na zagranicznych rynkach B2B.
Więcej o serwisie business.allegro.cz przeczytasz na stronie dla sprzedających.
Informacje dodatkowe
Ustawienia dostawy
Gdy edytujesz ustawienia dostawy za pomocą PUT /sale/delivery-settings, możesz przekazać dodatkową strukturę, aby określić serwis, którego mają dotyczyć ustawienia:
{
"marketplace": {
"id": "allegro-cz"
}
Taką samą informację zwrócimy, gdy pobierzesz ustawienia dostawy.
Pole jest opcjonalne, jeśli go nie podasz, domyślnie przypiszemy do niego serwis bazowy. Jeśli podasz błędny identyfikator serwisu, zwrócimy błąd 422.
W ramach GET /sale/delivery-settings możesz wyfiltrować ustawienia dostawy dla wskazanego serwisu - skorzystaj w tym celu z parametru marketplace={marketplaceId}, np. GET /sale/delivery-settings?marketplace=allegro-cz.
Więcej o ustawieniach dostawy znajdziesz w naszym poradniku.
Metody dostawy
W odpowiedzi GET /sale/delivery-methods znajdziesz oznaczenie, które wskazuje, w jakich serwisach będzie widoczna dana metoda dostawy:
"marketplaces": [
"allegro-pl"
],
Dostępny jest również filtr wyszukiwania po identyfikatorze serwisu - "marketplace", który pozwoli pobrać tylko te metody, które są dostępne w danym serwisie. Obecnie wszystkie metody dostawy, oprócz "Przesyłka elektroniczna (e-mail)", mają przypisany jeden identyfikator serwisu.
Więcej informacji o metodach i cennikach dostawy znajdziesz w naszym poradniku.
Kwalifikacja ofert i sprzedawcy w programie Allegro Smart!
W ramach zasobów, dzięki którym sprawdzisz kwalifikację ofert i sprzedawcy w programie Allegro Smart!:
- GET /sale/offers/{offerId}/smart,
- GET /sale/smart, możesz skorzystać z parametru filtrowania “marketplaceId”.
Dzięki niemu otrzymasz kwalifikację dla wybranego serwisu. Jeżeli nie użyjesz parametru, to domyślnie zwrócimy informacje dla serwisu bazowego.
Więcej informacji o kwalifikacji ofert i sprzedawcy w programie Allegro Smart! znajdziesz w naszym poradniku.
Zgłoszenie do kampanii, programów specjalnych i oznaczeń Allegro
Za pomocą GET /sale/badge-campaigns uzyskasz informacje na temat dostępnych kampanii, natomiast w polu „marketplace.id” zwrócimy identyfikator serwisu dedykowany dla kampanii, np. allegro-cz.
Aby zgłosić ofertę do wybranej kampanii skorzystaj z POST /sale/badges.
Więcej informacji na temat zgłaszania ofert do kampanii znajdziesz w naszym poradniku.
Ograniczenia w zasobach
Część zasobów i funkcjonalności udostępniamy wyłącznie w ramach serwisu allegro-pl:
FAQ
Nie, dokładną informację, w jakiej walucie musisz określić cenę w danym serwisie, zwracamy w odpowiedzi GET /marketplaces, w polu “marketplaces[].currencies.base”.
Jeśli oferta nie zakwalifikuje się do wyświetlenia w serwisie dodatkowym zwrócimy jeden lub więcej z poniższych wpisów:
- VQR001_CURRENCY_NOT_AVAILABLE - brak ceny w walucie serwisu dodatkowego,
- VQR002_LANGUAGE_NOT_AVAILABLE - brak tłumaczenia opisu oferty,
- VQR003_DELIVERY_TO_OPERATIONAL_COUNTRY_NOT_AVAILABLE - brak metody dostawy związanej z serwisem dodatkowym,
- VQR006_TRANSLATION_PENDING - tłumaczenie w trakcie,
- VQR007_CATEGORY_NOT_VISIBLE_IN_NAVIGATION_TREE - oferta wystawiona w niedostępnej kategorii w serwisie dodatkowym,
- VQR008_OFFER_HAS_NO_PRODUCT - brak połączenia z Katalogiem Produktów,
- VQR009_PRICE_IN_ADDITIONAL_MARKETPLACE_MISMATCH - zbyt duża różnica w cenie między serwisem bazowym a serwisem dodatkowym.
Jednym z warunków, aby oferta była widoczna w serwisie dodatkowym, jest to, aby była połączona z produktem - wtedy, po spełnieniu pozostałych wymagań, będzie widoczna w serwisie dodatkowym.