Jak przypisać ofertę do kampanii

Obsługa zgłoszeń ofert do kampanii, programów specjalnych i oznaczeń Allegro

information

Aby wziąć udział w programie kampanii, musisz spełniać warunki i zaakceptować regulamin. Korzystanie z zasobów API jest równoznaczne z akceptacją regulaminu.

Do kampanii możesz zgłaszać swoje oferty, dzięki temu wyświetlimy w nich specjalne oznaczenia. Przykładowo, jeśli dodasz ofertę do kampanii:

  • “Hit” to zyskasz oznaczenie HIT na liście ofert oraz na widoku oferty.

  • “Strefa Okazji” to zyskasz oznaczenie “Okazja” na liście ofert oraz przekreśloną cenę.

  • “Prowizja 0.5%” to cena oferty zostanie zmieniona na tę, którą podałeś w zgłoszeniu. Dodatkowo otrzymasz bonusy, które wynikają z regulaminu konkretnej kampanii, np. niższą prowizję od sprzedaży danego produktu.

Więcej na temat kampanii dowiesz się w artykule Strefa okazji i Prowizja nawet 0,5%.

Udostępniliśmy zasoby do obsługi zgłoszeń ofert do kampanii, programów specjalnych i oznaczeń Allegro:

information

Pamiętaj, że wszystkie żądania musisz wykonywać jako zautoryzowany sprzedawca, który chce dodać oznaczenia do swoich ofert.

Jak zgłosić ofertę do kampanii, programów specjalnych i oznaczeń Allegro

badge

1. Lista dostępnych kampanii

Za pomocą GET /sale/badge-campaigns pobierzesz listę dostępnych kampanii, które możesz przypisać do ofert.


Przykładowy request:

  curl -X GET 
  ‘https://api.allegro.pl/sale/badge-campaigns’ 
  -H ‘Authorization: Bearer {token}’ 
  -H ‘Content-Type: application/vnd.allegro.beta.v1+json‘


Przykładowy response:

  {
   “badgeCampaigns”: [
   {
     “id”: “BARGAIN”,               – identyfikator kampanii
     “name”: “Strefa okazji”,       – nazwa kampanii
     “type”: “DISCOUNT”,            – typ kampanii, obecnie są dostępne trzy typy
                                    STANDARD - dodamy do oferty oznaczenie na
                                    liście ofert - np Hit, Nowość
                                    DISCOUNT - zmienimy cenę w ofercie,
                                    a na liście ofert oprócz aktualnej ceny oferty
                                    zaprezentujemy przekreśloną cenę rynkową,
                                    którą podałeś w zgłoszeniu
                                    SOURCING - zmienimy cenę w ofercie,
                                    nie dodamy oznaczenia widocznego na platformie,
                                    ale otrzymasz bonusy wynikające z regulaminu
                                    konkretnej kampanii, np. niższe prowizje
                                    od sprzedaży produktu.
     “eligibility”: {               – czy kampania jest dostępna dla zautoryzowanego
                                    użytkownika
       “eligible”: true,
       “refusalReasons”: []         – dlaczego użytkownik nie kwalifikuje się do
                                    udziału w danej kampanii
     },
     “application”: {               – okres przyjmowania zgłoszeń ofert do kampanii
       “type”: “ALWAYS”,            – czas trwania, dostępne jest 5 wartości
                                    ALWAYS (zawsze), SINCE (od danego dnia),
                                    UNTIL (do danego dnia), WITHIN (przedział czasowy),
                                    NEVER (nigdy)
       “from”: null,
       “to”: null
     },
     “publication”: {               – okres trwania oznaczenia
       “type”: “ALWAYS”,            – czas trwania dostępne jest 5 wartości
                                    ALWAYS (zawsze), SINCE (od danego dnia),
                                    UNTIL (do danego dnia), WITHIN (przedział czasowy),
                                    NEVER (nigdy)
       “from”: null,
       “to”: null
     },
     “visibility”: {                – okres, w którym kampania jest widoczna w narzędziach
                                    do zarządzania kampaniami (nie jest równy widoczności
                                    oznaczenia kampanii na portalu). Zakres tych
                                    dat pozwala stwierdzić, jak długo informacje
                                    o kampanii będą dostępne na platformie
       “type”: “ALWAYS”,            – czas trwania dostępne jest 5 wartości
                                    ALWAYS (zawsze), SINCE (od danego dnia),
                                    UNTIL (do danego dnia), WITHIN (przedział czasowy),
                                    NEVER (nigdy)
       “from”: null,
       “to”: null
     },
     “regulationsLink”: “https://na.allegro.pl/regulamin-kampania-BARGAIN" – link do regulaminu kampanii
   },
   …
   ]
 }

2. Zgłoś ofertę do kampanii

Za pomocą POST /sale/badges zgłosisz ofertę do wybranej kampanii.

information

Zgłoszenia, które nie spełniają wymagań danej kampanii zostaną przez nas odrzucone.


Przykładowy request:

  curl -X POST 
  ‘https://api.allegro.pl/sale/badges’ 
  -H ‘Authorization: Bearer {token}’ 
  -H ‘Content-Type: application/vnd.allegro.beta.v1+json’ 
  -d ‘{
    “campaign”: {
        “id”: “BARGAIN”             – wymagane, identyfikator kampanii, jaką
                                    chcesz dodać do oferty - zgodnie z
                                    badgeCampaigns.id otrzymanym przez GET /sale/badge-campaigns
    },
    “offer”: {
        “id”: “6206378062”          – wymagane, identyfikator oferty, do jakiej
                                    chcesz dodać kampanię
    },
    “prices”: {                     – wymagane dla kampanii typu DISCOUNT
                                    i SOURCING, informacje o cenie, jaka
                                    ma być widoczna na ofercie i o cenie rynkowej
        “market”: {                 – wymagane dla kampanii typu DISCOUNT,
                                    cena rynkowa za oferowany przedmiot,
                                    wyświetlimy ją jako przekreśloną na liście ofert
            “amount”: “200.00”,
            “currency”: “PLN”
        },
        “bargain”: {                – wymagane dla kampanii typu DISCOUNT
                                    i SOURCING, cena promocyjna oferty
            “amount”: “180.00”,
            “currency”: “PLN”
        }
    },
    “purchaseConstraints”: {        – opcjonalne - ograniczenia zakupowe
                                    na czas udziału w kampanii
        “limit”: {
            “perUser”: {
                “maxItems”: 1       – ograniczenie liczby sztuk dostępnych
                                    dla pojedynczego użytkownika
          }
        }
    }

 }’


Przykładowy response:

  {
   “id”: “8a457b8f-627d-43cf-8806-f06f8d13c306”,  – identyfikator zgłoszenia oferty do
                                                  kampanii
   “createdAt”: “2019-06-26T10:22:35.225Z”,       – data utworzenia zgłoszenia
   “updatedAt”: “2019-06-26T10:22:35.225Z”,       – data ostatniej zmiany w zgłoszeniu
   “campaign”: {
     “id”: “BARGAIN”                              – identyfikator kampanii
   },
   “offer”: {
     “id”: “6206378062”                           –  identyfikator oferty, którą chcesz dodać
                                                  do kampanii
   },
   “prices”: {                                    – informacje o cenie, jaka ma być widoczna
                                                  na ofercie i o cenie rynkowej
     “bargain”: {                                 – cena promocyjna oferty
       “amount”: “180.00”,
       “currency”: “PLN”
     },
     “market”: {                                  – cena rynkowa za oferowany przedmiot,
                                                  wyświetlimy ją jako przekreśloną na liście ofert
       “amount”: “200.00”,
       “currency”: “PLN”
     }
   },
   “purchaseConstraints”: {                       – opcjonalne - ograniczenia zakupowe
                                                  na czas udziału w kampanii
     “limit”: {
       “perUser”: {
         “maxItems”: “1”                          – ograniczenie liczby sztuk dostępnych
                                                  dla pojedynczego użytkownika
       }
     }
   },
   “process”: {
     “status”: “REQUESTED”,                       – status zgłoszenia, dostępne są 3 wartości:
                                                  REQUESTED (wniosek czeka na przetworzenie),
                                                  PROCESSED (wniosek został przetworzony - od tego
                                                  momentu możesz sprawdzić status przypisana
                                                  oznaczenia do oferty zasobem GET sale/badges),
                                                  DECLINED (wniosek został odrzucony)
     “rejectionReasons”: []                       – powód odrzucenia zgłoszenia
   }}

3. Pobierz dane zgłoszenie

Za pomocą GET /sale/badge-applications/{applicationId} pobierzesz konkretne zgłoszenie oferty do kampanii i sprawdzisz jego status.


Przykładowy request:

  curl -X GET 
  ‘https://api.allegro.pl/sale/badge-applications/8a457b8f-627d-43cf-8806-f06f8d13c306’ 
  -H ‘Authorization: Bearer {token}’ 
  -H ‘Content-Type: application/vnd.allegro.beta.v1+json’


Przykładowy response:

  
  {
   “id”: “8a457b8f-627d-43cf-8806-f06f8d13c306”,  – identyfikator zgłoszenia oferty do
                                                  kampanii
   “createdAt”: “2019-06-26T10:22:35.225Z”,       – data utworzenia zgłoszenia
   “updatedAt”: “2019-06-26T10:22:35.225Z”,       – data ostatniej zmiany w zgłoszeniu
   “campaign”: {
     “id”: “BARGAIN”                              – identyfikator kampanii
   },
   “offer”: {
     “id”: “6206378062”                           –  identyfikator oferty, którą chcesz dodać
                                                  do kampanii
   },
   “prices”: {                                    – informacje o cenie, jaka ma być widoczna
                                                  na ofercie i o cenie rynkowej
     “bargain”: {                                 – cena promocyjna oferty
       “amount”: “180.00”,
       “currency”: “PLN”
     },
     “market”: {                                  – cena rynkowa za oferowany przedmiot,
                                                  wyświetlimy ją jako przekreśloną na liście ofert
       “amount”: “200.00”,
       “currency”: “USD”
     }
   “process”: {
     “status”: “DECLINED”,                        – status zgłoszenia, dostępne są 3 wartości:
                                                  REQUESTED (wniosek czeka na przetworzenie),
                                                  PROCESSED (wniosek został przetworzony - od tego
                                                  momentu możesz sprawdzić status przypisana
                                                  oznaczenia do oferty zasobem GET sale/badges),
                                                  DECLINED (wniosek został odrzucony)
     “rejectionReasons”: [                        – informacja na temat powodów odrzucenia     
                                                  zgłoszenia
       {
         “code”: “BB5”,                           – powód odrzucenia zgłoszenia
         “messages”: [
           {
             “text”: “Currency is not equal to ‘PLN’”
             “link”: null
           }
         ] 
       }
     ]
   }
  }

4. Pobierz swoje zgłoszenia

Za pomocą GET /sale/badge-applications pobierzesz wszystkie zgłoszenia ofert do kampanii.

information

Przy wywołaniu musisz podać jeden z parametrów:

  • campaign.id - identyfikator kampanii,
  • offer.id - identyfikator oferty.

Aby dostosować listę wyszukiwania do swoich potrzeb, możesz skorzystać z parametrów:

  • limit by określić liczbę zgłoszeń na liście (przyjmuje wartości od 1 do 1000, domyślnie 50),

  • offset by wskazać miejsce, od którego chcesz pobrać kolejną porcję danych (przyjmuje wartości od 0 do nieskończoności, domyślnie 0).


Przykładowy request:

  curl -X GET 
  ‘https://api.allegro.pl/sale/badge-applications?campaign.id=BARGAIN’ 
  -H ‘Authorization: Bearer {token}’ 
  -H ‘Content-Type: application/vnd.allegro.beta.v1+json’


Przykładowy response:

 {
  “badgeApplications”: [                         – lista zgłoszeń ofert do danego typu kampanii 
  {
   “id”: “8a457b8f-627d-43cf-8806-f06f8d13c306”,
   “createdAt”: “2019-06-26T10:22:35.225Z”,
   “updatedAt”: “2019-06-26T10:22:35.225Z”,
   “campaign”: {
       “id”: “BARGAIN”
         },
   “offer”: {
       “id”: “6206378062”
         },
   “prices”: {
       “bargain”: {
         “amount”: “180.00”,
         “currency”: “PLN”
       },
       “market”: {
         “amount”: “200.00”,
         “currency”: “PLN”
       }
     },
   “process”: {
       “status”: “DECLINED”,
       “rejectionReasons”: [
          {
           “code”: “BA1”,
           “messages”: [
             {
              “text”: “Badge already exists”
             },
             {
              “text”: “check terms & conditions”,
              “link”: “http://allegro.pl/xyz"
             }
           ]
          }
        ]
      }
    }
  ]
}

5. Kampanie przypisane do ofert

Za pomocą GET /sale/badges sprawdzisz przypisane oznaczenia do swoich ofert.

Aby dostosować listę wyszukiwania do swoich potrzeb, możesz skorzystać z parametrów:

  • limit by określić liczbę zgłoszeń na liście (przyjmuje wartości od 1 do 1000, domyślnie 50),

  • offset by wskazać miejsce, od którego chcesz pobrać kolejną porcję danych (przyjmuje wartości od 0 do nieskończoności, domyślnie 0).

information

Tym zasobem możesz sprawdzić przypisane oznaczenia do danej oferty, wystarczy, że wywołasz GET /sale/badges?offer.id={offerId}.


Przykładowy request:

  curl -X GET 
  ‘https://api.allegro.pl/sale/badges’ 
  -H ‘Authorization: Bearer {token}’ 
  -H ‘Content-Type: application/vnd.allegro.beta.v1+json’


Przykładowy response:

 
 {
   “badges”: [
     {
       “offer”: {
         “id”: “6206378062”
       },
       “campaign”: {
         “id”: “BARGAIN”,
         “name”: “Strefa okazji”
       },
       “publication”: {
         “type”: “ALWAYS”
       },
       “prices”: {                      – informacja cenowa dotycząca oferowanego przedmiotu,
                                        zwracana tylko dla kampanii wymagających podania
                                        ceny rynkowej na etapie zgłoszenia
         “market”: {
           “amount”: “19.99”,
           “currency”: “PLN”
         }
       },
       “process”: {
         “status”: “ACTIVE”,            – status oznaczenia, dostępne wartości:
                                        IN_VERIFICATION (wniosek jest w trakcie weryfikacji),
                                        WAITING_FOR_PUBLICATION (oznaczenie jest w trakcie
                                        publikacji w serwisie), ACTIVE (oznaczenie jest aktywne
                                        i widoczne w serwisie), FINISHED (minął czas trwania
                                        oferty w kampanii lub administrator zakończył udział
                                        oferty w kampanii), DECLINED (oznaczenie zostało
                                        odrzucone i nie pojawi się w serwisie
         “rejectionReasons”: []
       }
     }
   ]
 }

6. Jak testować kampanie

W środowisku testowym skonfigurowaliśmy kampanię ’SANDBOX_TEST_CAMPAIGN’, aby można było samodzielnie sprawdzić proces.

  • Zgłoszenie z obniżką większą bądź równą 40% oraz mniejszą bądź równą 60% w stosunku do ceny przekreślonej, zostanie automatycznie zaakceptowane.

  • Zgłoszenie z obniżką mniejszą niż 40% lub większą niż 60% w stosunku do ceny przekreślonej, zostanie automatycznie odrzucone.

information

Oznaczenia ofert, które zgłosisz do pozostałych kampanii w środowisku testowym pozostaną w stanie IN_VERIFICATION (wniosek jest w trakcie weryfikacji).

7. Błędy i powody odrzucenia

Poniżej zamieściliśmy listę powodów dlaczego dane zgłoszenie może zostać przez nas odrzucone.

Kod błędu Polski Angielski
BB1 Konto nie spełnia kryteriów jakościowych. Account does not meet the quality criteria.
BB2 Konto nie jest Kontem Firma. Account is not a Company account type.
BB3 Brak pola campaign.id. Empty campaign.id field.
BB4 Brak pola offer.id. Empty offer.id field.
BB5 Waluta nie jest równa [PLN]. Currency is not equal to [PLN].
BB6 Jedna z wartości liczbowych nie jest liczbą. One of the numeric values is not a valid number.
BB7 Jedna z wartości liczbowych jest liczbą mniejszą od 1. One of the numeric values is less than 1.
BB8 Zgłoszenie nie istnieje. Application not found.
BB9 Nieprawidłowa wartość parametru [limit]. Invalid [limit] parameter value.
BB10 Nieprawidłowa wartość parametru [offset]. Invalid [offset] parameter value.
BB11 Identyfikator oferty ma nieprawidłową wartość. Offer id is not valid.
BB12 Zgłoszenie już istnieje. Application already exists.
BB13 Zbyt dużo żądań dla tego konta. Too many requests from this account.
BA1 Oznaczenie już istnieje. Badge already exists.
BA2 Cena zniżkowa lub sugerowana cena rynkowa nie są zdefiniowane. Bargain price or suggested market price are not defined.
BA3 Cena zniżkowa i cena rynkowa nie powinny być zdefiniowane. Bargain price and suggested market price should not be defined.
BA4 Oferta nie istnieje. Offer not found.
BA5 Aktualna cena oferty jest wyższa od sugerowanej ceny rynkowej. Current offer price is higher than suggested market price.
BA6 Oferta została zakończona. Offer has ended.
BA7 Konto nie istnieje. Account not found.
BA8 W trakcie przetwarzania konto przestało być Kontem Firma. Account is no longer a Company account type.
BA9 Konto nie jest właścicielem oferty. This account is not the owner of the offer.
BA10 Kampania nie istnieje. Campaign not found.
BA11 Kampania została zakończona. Campaign has ended.
BA12 Cena zniżkowa jest wyższa od aktualnej ceny oferty. Bargain price is higher than current offer price.
BA13 Cena zniżkowa jest równa sugerowanej cenie rynkowej. Bargain price is the same as suggested market price.
BA14 Cena zniżkowa jest taka sama lub wyższa od sugerowanej ceny rynkowej. Bargain price is the same or higher than suggested market price.
BA15 Oznaczenie zostało już zaakceptowane. Badge has already been accepted.
BA16 Zniżka musi wynosić co najmniej 1% w stosunku do sugerowanej ceny rynkowej. Discount must be greater or equal to 1% to the suggested market price.
BA17 Oferta ma za mało sztuk. Offer has not enough items.
BA18 Oferta jest mało atrakcyjna. Offer is not attractive enough.
BA19 Opis lub tytuł nie spełnia wymagań. Offer’s title or description does not meet requirements.
BA20 Miniaturka nie spełnia wymagań. Offer’s thumbnail does not meet requirements.
BA21 Produkt w tej lub niższej cenie jest na innym Twoim koncie. Product with equal or lower price exists in your another account.
BA22 Konto nie spełnia kryteriów - minimum 98% pozytywnych ocen z 3 ostatnich miesięcy. Account does not meet the criteria - minimum 98% positive rates from last 3 months.
BA24 Oferta posiada już inne oznaczenie obniżające cenę. A discount badge for this offer already exists.
BA25 Wymagany kontakt z zespołem Strefy okazji pod adresem [strefaokazji@allegro.pl]. Contact required with Strefa okazji team at [strefaokazji@allegro.pl].
BA26 Oferta nie spełnia kryteriów danego oznaczenia. Offer does not meet requirements for this badge.
BA27 Brak odpowiedniej metody dostawy. No suitable delivery method.
BA28 Oferta nie spełnia kryteriów udziału w programie. Offer does not meet requirements for this program.
BA29 Proponowana cena zniżkowa oferty jest niepoprawna. Właściwa cena maksymalna znajduje się liście produktów dla tej kampanii. The proposed bargain price is incorrect. The maximum price is on the list of products for this campaign.
BA30 Oferta posiada niepoprawny kod EAN. Właściwy kod EAN znajdziesz na liście produktów dla tej kampanii. The offer has an incorrect EAN code. You can find the correct EAN code on the list of products for this campaign.
BA31 Oferta nie ma uzupełnionego kodu EAN. Właściwy kod EAN znajdziesz na liście produktów dla tej kampanii. The offer does not have EAN code. You can find the correct EAN code on the list of products for this campaign.
BA32 Oferta jest wystawiona w złej kategorii. Offer was published in wrong category.
BA33 Proponowana cena zniżkowa oferty jest niepoprawna. Właściwa cena maksymalna znajduje się liście produktów dla tej kampanii. The proposed bargain price is incorrect. The maximum price is on the list of products for this campaign.
BA34 Zgłoszenie nie zawiera informacji na temat ceny zniżkowej. The application does not contain information about bargain price.
BA35 Oferta tego produktu nie posiada wystarczającej liczby sztuk, która jest określona na liście produktów dla tej kampanii. The offer of this product does not have required quantity of items which is specified on the list of product for this campaign.
BA36 Sugerowana cena rynkowa nie może być zdefiniowana dla kampanii tego typu. Suggested market price must not be defined in this campaign type.
BA37 Nie możemy obliczyć średniej ceny sprzedaży dla tej oferty. Brak wystarczającej liczby zakupów w ofercie. Average selling price cannot be calculated for this offer. There is insufficient number of purchases.
BA38 W tej kampani wymagamy odpowiedniej obniżki w stosunku do średniej ceny sprzedaży oferty. Podana cena zniżkowa w kampanii jest za wysoka. Given bargain price is too high. Campaign requires corresponding price reduction from offer’s average selling price.
BA39 W tej kampani wymagamy odpowiedniej obniżki w stosunku do ceny oferty. Podana cena zniżkowa w kampanii jest za wysoka. Given bargain price is too high. Campaign requires corresponding price reduction from offer’s base price.
BA40 Wprowadzona sugerowana cena rynkowa jest zawyżona. Podana cena nie może być wyższa niż średnia cena sprzedaży oferty. Given market price is too high. Campaign requires corresponding price reduction from offer’s average selling price.
BA41 Wprowadzona sugerowana cena rynkowa jest zawyżona. Podana cena nie może być wyższa niż cena sprzedaży oferty. Given market price is too high. Campaign requires corresponding price reduction from offer’s base price.
BA42 Oferta nie ma oznaczenia [Smart!]. W kampanii mogą brać udział tylko oferty z tym oznaczeniem. Offer does not meet requirements of [Smart!] program. Only offers meeting [Smart!] criteria can participate in this campaign.
BA43 Wartość parametru [Stan] w ofercie jest inna niż [Nowy]. Offer’s parameter [Condition] is different than [New].
BA44 Konto nie spełnia wymaganych kryteriów jakościowych. Account does not meet the required quality criteria.
BA45 Limit zgłoszeń dla tej oferty został przekroczony. Ponowne zgłoszenie do tej kampanii będzie możliwe za 24 godziny. The limit of applications for this offer has been exceeded. You can re-apply to this campaign after 24 hours.
BA46 Oferta jest wystawiona w kategorii, która nie spełnia kryteriów kampanii. The offer is listed in a category that does not meet the criteria of the campaign.
BA47 Oferta nie spełnia kryteriów kampanii. Została wystawiona więcej niż 6 miesięcy temu. The offer does not meet the criteria of the campaign. It was listed more than 6 months ago.
BA48 Oferta nie spełnia kryteriów kampanii. Oferta nie jest opublikowana. The offer does not meet the criteria of the campaign. It has not been published.
BA49 W tej kampanii wymagamy odpowiedniej obniżki w stosunku do sugerowanej ceny rynkowej oferty. Proponowana obniżka ceny jest za niska. Given bargain discount is too low. Campaign requires corresponding price reduction from offer’s suggested market price.
BA50 W tej kampanii wymagamy odpowiedniej obniżki w stosunku do sugerowanej ceny rynkowej oferty. Proponowana obniżka ceny jest zbyt wysoka. Given bargain discount is too high. Campaign requires corresponding price reduction from offer’s suggested market price.
BA51 Oferta jest zarchiwizowana. Offer is archived.
BA52 Oferta jest nieaktywna. Offer is inactive.
BA53 Liczba sprzedanych sztuk przedmiotów na ofercie przez ostatnie 30 dni jest niewystarczająca. The number of offer items sold over the last 30 days is insufficient.
BA54 Twój produkt znajduje się na liście produktów objętych akcją promocyjną innej aktywnej kampanii. Your product is included in the promotional campaign list of another active campaign.
BA57 Oferta przestała być atrakcyjna cenowo względem cen rynkowych i cen w serwisie Allegro.pl. The offer price is not attractive enough compared to the market and Allegro Prices.
BB0 Wystąpił błąd podczas przetwarzania zgłoszenia. Prosimy spróbować ponownie później. Error occurred during application processing. Please try again later.

8. Lista zasobów

Pełną dokumentację zasobów w postaci pliku swagger.yaml znajdziesz tu.

Lista zasobów podstawowych opisanych w poradniku:

Lista zasobów wspierających opisanych w poradniku: