Jak jednym requestem wystawić ofertę powiązaną z produktem

Za pomocą POST /sale/product-offers przy użyciu jednego żądania wystawisz:

  • aktywną ofertę powiązaną z produktem, który istnieje w naszej bazie. W strukturze żądania przekaż numer EAN (lub identyfikator produktu) oraz cenę i liczbę sztuk. Za pomocą GET /sale/products?ean={ean} możesz sprawdzić dane produktu.

    Kliknij, żeby zobaczyć przykładowy request:
      curl -X POST
    ‘https://api.allegro.pl/sale/product-offers’
    -H 'Authorization: Bearer {token}'
    -H 'Accept: application/vnd.allegro.beta.v2+json'
    -H 'Content-Type: application/vnd.allegro.beta.v2+json'
    -d ‘{
    "product": {
    "id": "5902719471797"           – kod EAN lub ID produktu
    },
    "sellingMode": {
    "price": {
      "amount": "220.85",           – cena
      "currency": "PLN"
    }
    },
    "stock": {
    "available": 10                 – liczba sztuk
    }
    }’

    Jeżeli w odpowiedzi otrzymasz informację, aby uzupełnić brakujące parametry obowiązkowe, przekaż je w obiekcie product. ID parametru wraz z wartością sprawdzisz za pomocą GET /sale/categories/{categoryID}/parameters.
    Kliknij, żeby zobaczyć przykładowy request:
      curl -X POST
    ‘https://api.allegro.pl/sale/product-offers’
    -H 'Authorization: Bearer {token}'
    -H 'Accept: application/vnd.allegro.beta.v2+json'
    -H 'Content-Type: application/vnd.allegro.beta.v2+json'
    -d ‘{
    "product": {
    "id": "d26b023c-d52c-44f9-b61a-321eb202792b",
    "parameters": [
      {
        "id": "202293",
        "valuesIds": [
          "202293_211441"
        ]
      }
    ]
    },
    "sellingMode": {
    "price": {
      "amount": "220.85",
      "currency": "PLN"
    }
    },
    "stock": {
    "available": 1
    }
    }
    ’

  • aktywną ofertę powiązaną z produktem, którego nie ma w naszej bazie. W strukturze żądania w obiekcie product przekaż komplet danych, które opisują sprzedawany produkt. Request uzupełnij o dane na temat ceny i liczby sztuk. W dalszej części poradnika szczegółowo opisujemy ten proces.

    Kliknij, żeby zobaczyć przykładowy request:
       curl -X POST
    ‘https://api.allegro.pl/sale/product-offers’
    -H 'Authorization: Bearer {token}'
    -H 'Accept: application/vnd.allegro.beta.v2+json'
    -H 'Content-Type: application/vnd.allegro.beta.v2+json'
    -d ‘{
    "product": {                            – informacje o produkcie
            "name": "Produkt testowy",
            "category":{
                    "id":"89060"
            },
        "parameters":[
            {
                    "name": "EAN",
                    "values": [
                                "0744861045021"
                    ]
                },
                {
                    "id": "237218",
                    "values": [
                            "Testowy tytuł"
                    ]
                }
        ],
        "images":[
    "https://…adres-pierwszego-obrazka.jpeg" ] }, "sellingMode": { "price": { "amount": "220.85", – cena "currency": "PLN" } }, "stock": { "available": 10 – liczba sztuk } }’

Jeśli na podstawie przekazanych danych rozpoznamy, że produkt istnieje w naszej bazie, to weźmiemy jego dane i uwzględnimy je w wystawionej ofercie. Będą to:

  • kategoria i parametry,
  • zdjęcia,
  • opis produktu (jeśli nie przekażesz własnego),
  • numery EAN,
  • sekcja pasuje do,
  • specyfikacja techniczna TecDoc.

W serwisie pojawi się aktywna oferta sprzedaży wskazanego produktu, nie musisz wywoływać osobnej komendy publikacji. Pozostałych informacji wymaganych do wystawienia oferty nie musisz nam przesyłać - uzupełnimy je wtedy wartościami domyślnymi. Wartości domyślne oraz ich ewentualne źródła przedstawia poniższa tabela. Dalsza część poradnika przedstawia, jak konstruować żądanie, gdy chcemy przesłać inne dane niż wartości domyślne.

Pole Wartość
Status publikacji Oferta zostanie natychmiast aktywowana
Format sprzedaży Kup teraz
Typ jednostek Sztuki
Wysyłka z Dane z ustawień konta Allegro (Twój adres)
Opcje faktury Faktura VAT
Czas wysyłki 24 godziny
Czas trwania Do wyczerpania przedmiotów
Cennik dostawy Jeżeli posiadasz jeden cennik dostawy, to przypiszemy go do oferty. W przypadku większej liczby, użyjemy cennika o nazwie default. Jeżeli nie posiadasz cennika o takiej nazwie, zwrócimy błąd 422.
Warunki reklamacji i Warunki zwrotów Jeżeli posiadasz konto firma i po jednej opcji dla tych pól, to przypiszemy ją do oferty. W przypadku większej liczby, użyjemy wariantu o nazwie default. Jeżeli nie posiadasz wariantu o takiej nazwie, zwrócimy błąd 422. Dla kont zwykłych nie podstawimy żadnej wartości.


W przyszłości, gdy skorzystasz z tego zasobu, w twoich ofertach zaprezentujemy najbardziej aktualne dane z naszego katalogu produktów. Gdy zaktualizujemy dane produktu w katalogu, nie będzie konieczne kopiowanie czy akceptowanie zmian w ofercie, jeśli nie przekażesz własnych wartości, innych niż te w produkcie. Pozwoli to nam także automatycznie uzupełnić parametry, których aktualnie wymagamy przy edycji oferty.

Jak wygląda integracja z asynchronicznym API

Ze względu na czas wykonania niektórych operacji (np. zmiana statusu publikacji oferty), który może być dłuższy niż czas odpowiedzi na żądanie i nie możemy go wtedy przetworzyć w sposób synchroniczny, dla zasobów /sale/product-offers wprowadziliśmy wzorzec asynchronicznego API. Przedstawia go poniższy diagram:

async_api

W odpowiedzi na prawidłowe żądanie na zasobie /sale/product-offers/ otrzymasz jeden z trzech statusów:

  • 200 OK - zmiany wdrożymy od razu. Występuje tylko w przypadku metody PATCH.

  • 201 Created - ofertę utworzymy od razu. Występuje tylko w przypadku metody POST.

  • 202 Accepted - ze względu na dłuższy czas wykonania operacji zadanie przeprowadzimy asynchronicznie. Występuje w przypadku metody POST i PATCH.


Wraz ze statusem 202 Accepted zwrócimy w odpowiedzi nagłówek Location, w którym znajdziesz odnośnik do nowego zasobu. Zwrócony w location zasób odpytaj, aby otrzymać informację o statusie przetwarzania żądania. W odpowiedzi zwrócimy jeden z dwóch statusów:

  • 202 Accepted - operacja nie została jeszcze zakończona. Powtórz poprzednie żądanie.

  • 303 See Other - operacja została zakończona. W nagłówku Location przekażemy odnośnik do zasobu w postaci: /sale/product-offers/{offerId}. Skorzystaj z metody GET i przesłanego odnośnika w polu Location. W odpowiedzi zwrócimy aktualne dane oferty.

Publikacja oferty w asynchronicznym API

async_api_publication

W przypadku, gdy zwrócimy status 201 Created - w odpowiedzi przekażemy dane oferty. Utworzymy ją w sposób synchroniczny.


Przykładowy request:

  curl -X POST
  ‘https://api.allegro.pl/sale/product-offers’
  -H 'Authorization: Bearer {token}'
  -H 'Accept: application/vnd.allegro.beta.v2+json'
  -H 'Content-Type: application/vnd.allegro.beta.v2+json'
  -d ‘{
    "product": {
      "id": "5902719471797"          
    },
    "sellingMode": {
      "price": {
        "amount": "220.85",    
        "currency": "PLN"
      }
    },
    "stock": {
      "available": 10               
    },
     "publication": {
      "status": "INACTIVE"
    }
  }’


Kliknij, żeby zobaczyć przykładowy response:
{

HTTP/1.1 201 Created { "id": "9531382307’", "name": "Przykładowa nazwa", "product": { "id": null, "publication": { "status": "NOT_LISTED" } }, "afterSalesServices": { "impliedWarranty": { "id": "f86078a6-9f42-4b76-9696-1e5c0646a60a" }, "returnPolicy": { "id": "47101223-7236-4201-9779-316e6d10af2a" }, "warranty": null }, "payments": { "invoice": "NO_INVOICE" }, "sellingMode": { "format": "BUY_NOW", "price": { "amount": 50, "currency": "PLN" }, "startingPrice": null, "minimalPrice": null }, "stock": { "available": 1, "unit": "UNIT" }, "location": { "countryCode": "PL", "province": "WIELKOPOLSKIE", "city": "Poznań", "postCode": "66-166" }, "delivery": { "shippingRates": { "id": "17221a3c-f4cf-4e47-953a-8e125013b014" }, "handlingTime": "PT336H", "additionalInfo": "" }, "publication": { "duration": null, "status": "INACTIVE", "endedBy": null, "endingAt": null, "startingAt": null, "republish": false }, "description": { "sections": [ { "items": [ { "type": "TEXT", "content": "<p>test</p>" } ] } ] }, "validation": { "errors": [], "warnings": [], "validatedAt": "2020-11-06T15:39:53.898Z" }, "createdAt": "2020-10-01T05:44:23Z", "updatedAt": "2020-11-06T15:39:55.574Z", "images": [ "https://a.allegroimg..pl/original/116421/ece7111d4b8fbbc4662ab92f84ce&#34; ], "external": null, "category": { "id": "79419" }, "tax": { "percentage": null }, "sizeTable": null }

Jeśli na prawidłowe żądanie metodą POST /sale/product-offers zwrócimy status 202 Accepted, w odpowiedzi otrzymasz także dane oferty z aktualnym jej stanem - nieuwzględniającym zmian, które są procesowane.


Przykładowy request:

  curl -X POST
  ‘https://api.allegro.pl/sale/product-offers’
  -H 'Authorization: Bearer {token}'
  -H 'Accept: application/vnd.allegro.beta.v2+json'
  -H 'Content-Type: application/vnd.allegro.beta.v2+json'
  -d ‘{
  "product": {
    "id": "5902719471797"
  },
  "sellingMode": {
    "price": {
      "amount": "220.85",
      "currency": "PLN"
    }
  },
  "stock": {
    "available": 10
  }
 }’


Kliknij, żeby zobaczyć przykładowy response:
{

HTTP/1.1 202 Accepted location: https://api.allegro.pl/sale/product-offers/9531382307/operations/eadb2e97-9850-4c51-bd27-68888b6d7d5d retry-after: 5 { "id": "9531382307’", "name": "Przykładowy produkt", "product": { "id": 5902719471797, "publication": { "status": "NOT_LISTED" } }, "afterSalesServices": { "impliedWarranty": { "id": "f86078a6-9f42-4b76-9696-1e5c0646a60a" }, "returnPolicy": { "id": "47101223-7236-4201-9779-316e6d10af2a" }, "warranty": null }, "payments": { "invoice": "NO_INVOICE" }, "sellingMode": { "format": "BUY_NOW", "price": { "amount": 50, "currency": "PLN" }, "startingPrice": null, "minimalPrice": null }, "stock": { "available": 1, "unit": "UNIT" }, "location": { "countryCode": "PL", "province": "WIELKOPOLSKIE", "city": "Poznań", "postCode": "66-166" }, "delivery": { "shippingRates": { "id": "17221a3c-f4cf-4e47-953a-8e125013b014" }, "handlingTime": "PT336H", "additionalInfo": "" }, "publication": { "duration": null, "status": "INACTIVE", "endedBy": null, "endingAt": null, "startingAt": null, "republish": false }, "description": { "sections": [ { "items": [ { "type": "TEXT", "content": "<p>test</p>" } ] } ] }, "validation": { "errors": [], "warnings": [], "validatedAt": "2020-11-06T15:39:53.898Z" }, "createdAt": "2020-10-01T05:44:23Z", "updatedAt": "2020-11-06T15:39:55.574Z", "images": [ "https://a.allegroimgpl/original/116421/ece7111d4b8fbbc4662ab92f84ce&#34; ], "external": null, "category": { "id": "79419" }, "tax": { "percentage": null }, "sizeTable": null }


Aby sprawdzić status publikacji, skorzystaj z adresu otrzymanego w nagłówku Location - jest to odnośnik do zasobu, który powinieneś odpytywać, aby sprawdzić status wykonania żądania. Z kolei w nagłówku retry-after przekazujemy informację, po jakim czasie (w sekundach) możesz ponownie odpytać zasób.

Skorzystaj z metody GET oraz otrzymanego adresu w Location. Do czasu zakończenia operacji w odpowiedzi na to żądanie wyślemy odpowiedź status 202 Accepted.


Przykładowy request:

  curl -X GET
  ‘https://api.allegro.pl/sale/product-offers/9531382307/operations/eadb2e97-9850-4c51-bd27-68888b6d7d5d’
  -H 'Authorization: Bearer {token}'
  -H 'Accept: application/vnd.allegro.beta.v2+json'
  -H 'Content-Type: application/vnd.allegro.beta.v2+json'


Przykładowy response

{

 HTTP/1.1 202 Accepted
 location: https://api.allegro.pl/sale/product-offers/9531382307/operations/eadb2e97-9850-4c51-bd27-68888b6d7d5d
 retry-after: 5
  {
  "offer": {
    "id": "9531382307"
  },
  "operation": {
    "id": "ef5dd966-d370-44f7-bb30-3631e3511536",
    "status": "IN_PROGRESS",
    "startedAt": "2019-05-29T12:00:00Z"
  }
 }


Gdy zakończymy przetwarzać operację, w odpowiedzi na żądanie GET /sale/product-offers/{offerId}/operations/{operationId} wyślemy status HTTP 303 See Other, a w nagłówku location przekażemy odnośnik kierujący do zasobu z danymi oferty.


Przykładowy request:

  curl -X GET
  ‘https://api.allegro.pl/sale/product-offers/9531382307/operations/eadb2e97-9850-4c51-bd27-68888b6d7d5d’
  -H 'Authorization: Bearer {token}'
  -H 'Accept: application/vnd.allegro.beta.v2+json'
  -H 'Content-Type: application/vnd.allegro.beta.v2+json'


Przykładowy response:

  HTTP/1.1: 303 See other
  location: https://api.allegro.pl/sale/product-offers/9531382307


Możesz teraz skorzystać z metody GET oraz otrzymanego odnośnika w nagłówku Location, aby uzyskać aktualne dane oferty. Utworzysz dzięki temu żądanie w następującej formie: GET /sale/product-offers/{offerId}.


Przykładowy request:

  curl -X GET
  ‘https://api.allegro.pl/sale/product-offers/9531382307
  -H 'Authorization: Bearer {token}'
  -H 'Accept: application/vnd.allegro.beta.v2+json'
  -H 'Content-Type: application/vnd.allegro.beta.v2+json'


Kliknij, żeby zobaczyć przykładowy response:
 {
    "id": "9531382307’",
    "name": "Przykładowy produkt",
    "product": {
        "id": 5902719471797,
        "publication": {
            "status": "NOT_LISTED"
        }
    },
    "afterSalesServices": {
        "impliedWarranty": {
            "id": "f86078a6-9f42-4b76-9696-1e5c0646a60a"
        },
        "returnPolicy": {
            "id": "47101223-7236-4201-9779-316e6d10af2a"
        },
        "warranty": null
    },
    "payments": {
        "invoice": "NO_INVOICE"
    },
    "sellingMode": {
        "format": "BUY_NOW",
        "price": {
            "amount": 50,
            "currency": "PLN"
        },
        "startingPrice": null,
        "minimalPrice": null
    },
    "stock": {
        "available": 1,
        "unit": "UNIT"
    },
    "location": {
        "countryCode": "PL",
        "province": "WIELKOPOLSKIE",
        "city": "Poznań",
        "postCode": "66-166"
    },
    "delivery": {
        "shippingRates": {
            "id": "17221a3c-f4cf-4e47-953a-8e125013b014"
        },
        "handlingTime": "PT336H",
        "additionalInfo": ""
    },
    "publication": {
        "duration": null,
        "status": "ACTIVE",
        "endedBy": null,
        "endingAt": null,
        "startingAt": null,
        "republish": false
    },
    "description": {
        "sections": [
            {
                "items": [
                    {
                        "type": "TEXT",
                        "content": "<p>test</p>"
                    }
                ]
            }
        ]
    },
    "validation": {
        "errors": [],
        "warnings": [],
        "validatedAt": "2020-11-06T15:39:53.898Z"
    },
    "createdAt": "2020-10-01T05:44:23Z",
    "updatedAt": "2020-11-06T15:39:55.574Z",
    "images": [
      "https://a.allegroimg/original/116421/ece7111d4b8fbbc4662ab92f84ce&#34;
    ],
    "external": null,
    "category": {
        "id": "79419"
    },
    "tax": {
        "percentage": null
    },
    "sizeTable": null
 }

Jak przekazać własne wartości w żądaniu?

Struktura żądania dzieli się na dwie części:

  • produktową - w której przekazujesz:

    • numer EAN lub id produktu, jeżeli chcesz powiązać ofertę z produktem, który znajduje się w naszej bazie,

    • komplet informacji o produkcie, jeżeli chcesz powiązać ofertę z produktem, którego nie ma w naszej bazie. Są to dane, które identyfikują określony produkt.

  • ofertową - dane, które określają warunki w konkretnej ofercie, np. cena, liczba sztuk, lokalizacja, informacje o fakturze, etc. Wartości związane z ofertą możesz nadpisać, a także dodać nowe. W dalszej części poradnika znajdziesz opis, jak to wykonać.

Jak ustawić własny tytuł

Do oferty automatycznie przypiszemy tytuł powiązany z nazwą produktu. Jeśli chcesz nadać swój własny, rozszerz request o pole name:

  ...
  "name": "Mój własny tytuł"
  ...  
Kliknij, żeby zobaczyć przykładowy request:
curl -X POST
‘https://api.allegro.pl/sale/product-offers’
-H 'Authorization: Bearer {token}'
-H 'Accept: application/vnd.allegro.beta.v2+json'
-H 'Content-Type: application/vnd.allegro.beta.v2+json'
-d ‘{
  "product": {
    "id": "5902719471797"
  },
  "name": "Mój własny tytuł",
  "sellingMode": {
    "price": {
      "amount": "220.85",
      "currency": "PLN"
    }
  },
  "stock": {
    "available": 1
  }
}’

Jak ustawić parametry ofertowe

Parametry ofertowe są związane z indywidualną ofertą, np. stan, data ważności, etc., a nie z cechą konkretnego produktu. Informację o tym, które parametry są ofertowe, a które produktowe, znajdziesz w odpowiedzi dla GET /sale/categories/{categoryID}/parameters w polu options.describesProduct:

  • true - parametr produktowy,

  • false - parametr ofertowy.

Jeżeli chcesz zdefiniować np. stan produktu w ofercie jako używany, rozszerz swój request o poniższą strukturę:

  ...
    "parameters": [
        {
            "id": "11323",
            "valuesIds": [
                "11323_2"
            ]
        }
    ]
  ...    

Zamiast identyfikatorów możesz skorzystać z nazw parametrów i ich wartości:

  ...
    "parameters": [
            "name": "Stan",
         {
           "values": [
                "Używany"
            ]
        }
    ]
  ...    
Kliknij, żeby zobaczyć przykładowy request:
curl -X POST
‘https://api.allegro.pl/sale/product-offers’
-H 'Authorization: Bearer {token}'
-H 'Accept: application/vnd.allegro.beta.v2+json'
-H 'Content-Type: application/vnd.allegro.beta.v2+json'
-d ‘{
  "product": {
    "id": "5902719471797"
  },
  "name": "Mój własny tytuł",
  "parameters": [
        {
            "id": "11323",
            "valuesIds": [
                "11323_2"
            ]
        }
    ],
  "sellingMode": {
    "price": {
      "amount": "220.85",
      "currency": "PLN"
    }
  },
  "stock": {
    "available": 1
  }
}’

Jak ustawić czas trwania oferty

Jeżeli chcesz ustawić czas trwania oferty inny niż do wyczerpania zapasów, rozszerz swój request o pole publication.duration i wskaż jedną z dostępnych wartości czasu trwania oferty:

  ...
  "publication": {
    "duration": “P30D”
    ...
  },
  ...  

Dostępne wartości to:

  • null (do wyczerpania zapasów),
  • P3D (3 dni),
  • P5D (5 dni),
  • P7D (7 dni),
  • P10D (10 dni),
  • P20D (20 dni),
  • P30D (30 dni).

Czas trwania możesz podać też w godzinach, np.: P72H (3 dni).

Kliknij, żeby zobaczyć przykładowy request:
 curl -X POST
 ‘https://api.allegro.pl/sale/product-offers’
 -H 'Authorization: Bearer {token}'
 -H 'Accept: application/vnd.allegro.beta.v2+json'
 -H 'Content-Type: application/vnd.allegro.beta.v2+json'
 -d ‘{
   "product": {
     "id": "5902719471797"
   },
   "name": "Mój własny tytuł",
   "parameters": [
         {
             "id": "11323",
             "valuesIds": [
                 "11323_2"
             ]
         }
     ],
   "sellingMode": {
     "price": {
       "amount": "220.85",
       "currency": "PLN"
     }
   },
   "stock": {
     "available": 1
   },
   "publication": {
     "duration": “P30D”
   }
 }’

Jak zaplanować wystawienie oferty w przyszłości

Jeśli chcesz zaplanować wystawienie oferty w przyszłości, rozszerz swój request o pole publication.startingAt i wskaż datę aktywacji:

  ...
  "publication": {
    "startingAt": “2021-01-20T08:56:00Z”
    ...
  },
  ...    
Kliknij, żeby zobaczyć przykładowy request:
 curl -X POST
 ‘https://api.allegro.pl/sale/product-offers’
 -H 'Authorization: Bearer {token}'
 -H 'Accept: application/vnd.allegro.beta.v2+json'
 -H 'Content-Type: application/vnd.allegro.beta.v2+json'
 -d ‘{
   "product": {
     "id": "5902719471797"
   },
   "name": "Mój własny tytuł",
   "parameters": [
         {
             "id": "11323",
             "valuesIds": [
                 "11323_2"
             ]
         }
     ],
   "sellingMode": {
     "price": {
       "amount": "220.85",
       "currency": "PLN"
     }
   },
   "stock": {
     "available": 1
   },
   "publication": {
     "duration": “P30D”,
     "startingAt ": “2021-01-20T08:56:00Z”
   }
 }’

 


Możesz edytować to pole także za pomocą metody PATCH pod warunkiem, że oferta jest w statusie INACTIVE.

Jak przypisać do oferty wybrany cennik dostawy

Możesz ustawić dowolny cennik dostawy. Przykładowo - jeżeli posiadasz cennik o nazwie małe gabaryty i chcesz go użyć w ofercie, wystarczy, że rozszerzysz request o dodatkowe pole z:

  • nazwą cennika:

      ...
      "delivery": {
        "shippingRates": {
            "name": "małe gabaryty"
        }
      },
      ...    

  • lub identyfikatorem cennika:

      ...
      "delivery": {
        "shippingRates": {
            "id": "c446793c-33f0-407f-b0ed-1aeec6090a7a"
        }
      }
      ...    

Nazwę i ID swoich cenników sprawdzisz za pomocą GET /sale/shipping-rates.

Kliknij, żeby zobaczyć przykładowy request:
curl -X POST
‘https://api.allegro.pl/sale/product-offers’
-H 'Authorization: Bearer {token}'
-H 'Accept: application/vnd.allegro.beta.v2+json'
-H 'Content-Type: application/vnd.allegro.beta.v2+json'
-d ‘{
  "product": {
    "id": "5902719471797"
  },
  "name": "Mój własny tytuł",
  "parameters": [
        {
            "id": "11323",
            "valuesIds": [
                "11323_2"
            ]
        }
    ],
    "delivery": {
        "shippingRates": {
                "id": "c446793c-33f0-407f-b0ed-1aeec6090a7a"
    }
  },
  "sellingMode": {
    "price": {
      "amount": "220.85",
      "currency": "PLN"
    }
  },
  "stock": {
    "available": 1
  }
}’

Jak przypisać do oferty wybrany cennik hurtowy

Jeśli chcesz zaoferować rabat dla transakcji B2B (firma - firma), rozszerz swój request o pole discounts.wholesalePriceList.id, w którym podaj wcześniej utworzony cennik hurtowy jako:

  • ID:

     ...
       “discounts”: {
           “wholesalePriceList”: {
               “id”: “5637592a-0a24-4771-b527-d89b2767d821”
           }
       },
     ...
    
     

  • lub nazwę:

     ...
       “discounts”: {
           “wholesalePriceList”: {
               “name”: “testowy cennik hurtowy”
           }
       },
     ...

Kliknij, żeby zobaczyć przykładowy request:
curl -X POST
 ‘https://api.allegro.pl/sale/product-offers’
 -H 'Authorization: Bearer {token}'
 -H 'Accept: application/vnd.allegro.beta.v2+json'
 -H 'Content-Type: application/vnd.allegro.beta.v2+json'
 -d ‘{
   "product": {
     "id": "5902719471797"
   },
   "name": "Mój własny tytuł",
   "parameters": [
         {
             "id": "11323",
             "valuesIds": [
                 "11323_2"
             ]
         }
     ],
   "sellingMode": {
     "price": {
       "amount": "220.85",
       "currency": "PLN"
     }
   },
   "stock": {
     "available": 1
   },
   "publication": {
     "duration": “P30D”
     "startingAt ": “2021-01-20T08:56:00Z”
   },
   "discounts": {
       "wholesalePriceList": {
           "id": “5637592a-0a24-4771-b527-d89b2767d821"
       }
   },
 }’

Jak ustawić inny czas wysyłki

Aby wystawić przedmiot z czasem wysyłki innym niż 24H, ustaw w polu handlingTime w sekcji delivery wartość w formacie ISO 8601. Przykładowo, jeżeli chcesz ustawić czas wysyłki na 2 dni, prześlij w polu handlingTime wartość PT48H:

  ...
  "delivery": {
    "handlingTime": "PT48H"
  }
  ...    
Kliknij, żeby zobaczyć przykładowy request:
curl -X POST
‘https://api.allegro.pl/sale/product-offers’
-H 'Authorization: Bearer {token}'
-H 'Accept: application/vnd.allegro.beta.v2+json'
-H 'Content-Type: application/vnd.allegro.beta.v2+json'
-d ‘{
  "product": {
    "id": "5902719471797"
  },
  "name": "Mój własny tytuł",
  "parameters": [
        {
            "id": "11323",
            "valuesIds": [
                "11323_2"
            ]
        }
    ],
    "delivery": {
        "shippingRates": {
            "id": "862347c4-b2b0-42d4-b84a-1db01509a69d"
    },
        "handlingTime": "PT48H"
  },
  "sellingMode": {
    "price": {
      "amount": "220.85",
      "currency": "PLN"
    }
  },
  "stock": {
    "available": 1
  }
}’

Jak dodać dodatkowe informacje o dostawie

Rozszerz swój request o sekcję delivery z polem additionalInfo, aby uwzględnić w ofercie dodatkowe informacje o dostawie:

  ...
  "delivery": {
        "additionalInfo": "Dodatkowe informacje o dostawie"
   }
  ...     
Kliknij, żeby zobaczyć przykładowy request:
curl -X POST
‘https://api.allegro.pl/sale/product-offers’
-H 'Authorization: Bearer {token}'
-H 'Accept: application/vnd.allegro.beta.v2+json'
-H 'Content-Type: application/vnd.allegro.beta.v2+json'
-d ‘{
  "product": {
    "id": "5902719471797"
  },
  "name": "Mój własny tytuł",
  "parameters": [
        {
            "id": "11323",
            "valuesIds": [
                "11323_2"
            ]
        }
    ],
    "delivery": {
        "shippingRates": {
            "id": "862347c4-b2b0-42d4-b84a-1db01509a69d"
        },
        "handlingTime": "PT48H",
        "additionalInfo": "Dodatkowe informacje o dostawie"
  },
  "sellingMode": {
    "price": {
      "amount": "220.85",
      "currency": "PLN"
    }
  },
      "afterSalesServices": {
          "impliedWarranty": {
                  "name": "zabawki"
        }
    },
  "stock": {
    "available": 1
  }
}’

Jak ustawić wybrane warunki reklamacji

Jeśli chcesz ustawić inne warunki reklamacji niż domyślne, użyj ich nazwy lub ID . Przykładowo, jeżeli posiadasz warunki reklamacji o nazwie zabawki, których ID to 913174eb-35ed-48df-b3b9-b9eb66b1b7a4 i chcesz użyć ich w ofercie, wystarczy, że rozszerzysz request o dodatkowe pole, w którym przekażesz:

  • nazwę warunków reklamacji:

      ...
      "impliedWarranty": {
        "name": "zabawki"
      }
      ...    

  • lub identyfikator warunków reklamacji:

      ...
      "impliedWarranty": {
        "id": "913174eb-35ed-48df-b3b9-b9eb66b1b7a4"
      }
      ...    

Nazwę oraz ID warunków reklamacji otrzymasz za pomocą GET /after-sales-service-conditions/implied-warranties.

Kliknij, żeby zobaczyć przykładowy request:
curl -X POST
‘https://api.allegro.pl/sale/product-offers’
-H 'Authorization: Bearer {token}'
-H 'Accept: application/vnd.allegro.beta.v2+json'
-H 'Content-Type: application/vnd.allegro.beta.v2+json'
-d ‘{
  "product": {
    "id": "5902719471797"
  },
  "name": "Mój własny tytuł",
  "parameters": [
        {
            "id": "11323",
            "valuesIds": [
                "11323_2"
            ]
        }
    ],
    "delivery": {
        "shippingRates": {
            "id": "862347c4-b2b0-42d4-b84a-1db01509a69d"
        },
        "handlingTime": "PT48H",
        "additionalInfo": "Dodatkowe informacje o dostawie"
  },
  "sellingMode": {
    "price": {
      "amount": "220.85",
      "currency": "PLN"
    }
  },
      "afterSalesServices": {
          "impliedWarranty": {
                  "name": "zabawki"
        }
    },
  "stock": {
    "available": 1
  }
}’

Jak ustawić wybrane warunki zwrotów

Jeśli chcesz ustawić inne warunki zwrotów niż domyślne, użyj ich nazwy lub ID. Przykładowo - jeśli posiadasz warunki zwrotów o nazwie 30 dni o ID a375a08e-86ee-48a4-baf7-fabe01fe2631, to przekaż:

  • nazwę warunków zwrotu:
      ...
      "returnPolicy": {
        "name": "30 dni"
      }
      ...    
  • lub identyfikator warunków zwrotów:
      ...
      "returnPolicy": {
        "id": "a375a08e-86ee-48a4-baf7-fabe01fe2631"
      }
      ...    

Nazwę oraz ID warunków zwrotów otrzymasz za pomocą GET /after-sales-service-conditions/return-policies.

Kliknij, żeby zobaczyć przykładowy request:
curl -X POST
‘https://api.allegro.pl/sale/product-offers’
-H 'Authorization: Bearer {token}'
-H 'Accept: application/vnd.allegro.beta.v2+json'
-H 'Content-Type: application/vnd.allegro.beta.v2+json'
-d ‘{
  "product": {
    "id": "5902719471797"
  },
  "name": "Mój własny tytuł",
  "parameters": [
        {
            "id": "11323",
            "valuesIds": [
                "11323_2"
            ]
        }
    ],
    "delivery": {
        "shippingRates": {
            "id": "862347c4-b2b0-42d4-b84a-1db01509a69d"
       },
        "handlingTime": "PT48H",
        "additionalInfo": "Dodatkowe informacje o dostawie"
  },
  "sellingMode": {
    "price": {
      "amount": "220.85",
      "currency": "PLN"
    }
  },
      "afterSalesServices": {
        "impliedWarranty": {
            "name": "zabawki"
        },
        "returnPolicy": {
            "name": "30 dni"
        }
    },
  "stock": {
    "available": 1
  }
}’

Jak przypisać do oferty tabelę rozmiarów

Rozszerz swój request o sekcję sizeTable, aby dodać do oferty tabelę rozmiarów. Wystarczy, że w żądaniu przekażesz:

  • nazwę tabeli rozmiarów:
  ...
  "sizeTable": {
    "name": “Przykładowa tabela rozmiarów”
  }
  ...
  • lub identyfikator tabeli rozmiarów:
  ...
  "sizeTable": {
    "id": “5727b598-6608-4bd3-b198-f165b011bb69”
  }
  ...

Nazwy i identyfikatory swoich tabel rozmiarów sprawdzisz za pomocą GET /sale/size-tables.

Kliknij, żeby zobaczyć przykładowy request:
curl -X POST
‘https://api.allegro.pl/sale/product-offers’
-H 'Authorization: Bearer {token}'
-H 'Accept: application/vnd.allegro.beta.v2+json'
-H 'Content-Type: application/vnd.allegro.beta.v2+json'
-d ‘{
  "product": {
    "id": "5902719471797"
  },
  "name": "Mój własny tytuł",
  "parameters": [
        {
            "id": "11323",
            "valuesIds": [
                "11323_2"
            ]
        }
    ],
    "delivery": {
      "shippingRates": {
          "id": "862347c4-b2b0-42d4-b84a-1db01509a69d"
        },
      "handlingTime": "PT48H",
    "additionalInfo": "Dodatkowe informacje o dostawie"
  },
  "sellingMode": {
    "price": {
      "amount": "220.85",
      "currency": "PLN"
    }
  },
      "afterSalesServices": {
        "impliedWarranty": {
            "name": "zabawki"
        },
        "returnPolicy": {
      "name": "30 dni"
  }
    },
    "location": {
      "countryCode": "PL",
      "province": "LUBUSKIE",
      "city": "Gorzów Wielkopolski",
      "postCode": "66-400"
   },
  "stock": {
    "available": 1
  },
  "sizeTable": {
    "name": “Przykładowa tabela rozmiarów”
  }
}’

Jak ustawić własny adres, z którego wysyłany jest przedmiot

Jeżeli wysyłasz przedmioty z innego adresu, niż przypisany do twojego konta - przekaż odpowiednie wartości w poniższy sposób:

  ...
  "location": {
    "countryCode": "PL",
    "province": "LUBUSKIE",
    "city": "Gorzów Wielkopolski",
    "postCode": "66-400"
   }
  ...    

Listę dozwolonych wartości w polu location.province znajdziesz w naszej dokumentacji.

Kliknij, żeby zobaczyć przykładowy request:
curl -X POST
‘https://api.allegro.pl/sale/product-offers’
-H 'Authorization: Bearer {token}'
-H 'Accept: application/vnd.allegro.beta.v2+json'
-H 'Content-Type: application/vnd.allegro.beta.v2+json'
-d ‘{
  "product": {
    "id": "5902719471797"
  },
  "name": "Mój własny tytuł",
  "parameters": [
        {
            "id": "11323",
            "valuesIds": [
                "11323_2"
            ]
        }
    ],
    "delivery": {
        "shippingRates": {
            "id": "862347c4-b2b0-42d4-b84a-1db01509a69d"
        },
        "handlingTime": "PT48H",
        "additionalInfo": "Dodatkowe informacje o dostawie"
  },
  "sellingMode": {
    "price": {
      "amount": "220.85",
      "currency": "PLN"
    }
  },
      "afterSalesServices": {
        "impliedWarranty": {
            "name": "zabawki"
        },
        "returnPolicy": {
            "name": "30 dni"
    }
    },
    "location": {
        "countryCode": "PL",
        "province": "LUBUSKIE",
        "city": "Gorzów Wielkopolski",
        "postCode": "66-400"
   },
  "stock": {
    "available": 1
  }
}’

Jak ustawić inne opcje faktury

Jeżeli nie wystawiasz faktury VAT, lub wystawiasz inną jej formę, możesz ustawić ją za pomocą pola payments.invoice:

  ...
  "payments": {
    "invoice": "NO_INVOICE"
  }
  ...    

Listę dozwolonych wartości pola payments.invoice znajdziesz w naszej dokumentacji.

Kliknij, żeby zobaczyć przykładowy request:
curl -X POST
‘https://api.allegro.pl/sale/product-offers’
-H 'Authorization: Bearer {token}'
-H 'Accept: application/vnd.allegro.beta.v2+json'
-H 'Content-Type: application/vnd.allegro.beta.v2+json'
-d ‘{
    "product": {
        "id": "5902719471797"
    },
    "name": "Mój własny tytuł",
    "parameters": [{
        "id": "11323",
        "valuesIds": [
            "11323_2"
        ]
    }],
    "delivery": {
        "shippingRates": {
            "id": "862347c4-b2b0-42d4-b84a-1db01509a69d"
        },
        "handlingTime": "PT48H",
        "additionalInfo": "Dodatkowe informacje o dostawie"
    },
    "sellingMode": {
        "price": {
            "amount": "220.85",
            "currency": "PLN"
        }
    },
    "afterSalesServices": {
        "impliedWarranty": {
            "name": "zabawki"
        },
        "returnPolicy": {
            "name": "30 dni"
        }
    },
    "location": {
        "countryCode": "PL",
        "province": "LUBUSKIE",
        "city": "Gorzów Wielkopolski",
        "postCode": "66-400"
    },
    "payments": {
        "invoice": "NO_INVOICE"
    },
    "stock": {
        "available": 1
    }
}’

Jak ustawić stawkę VAT na fakturze

W przypadku, gdy w ofercie ustawiona jest możliwość wystawienia faktury VAT, możesz określić także wysokość stawki podatku VAT w polu tax.percentage. Możesz wprowadzić tylko stawki podatku VAT określone polskim prawem (0%, 5%, 8%, 23%). Format wartości to 0.00:

  ...
  "tax": {
    "percentage": “23.00”
  },
  ...  
Kliknij, żeby zobaczyć przykładowy request:
curl -X POST
‘https://api.allegro.pl/sale/product-offers’
-H 'Authorization: Bearer {token}'
-H 'Accept: application/vnd.allegro.beta.v2+json'
-H 'Content-Type: application/vnd.allegro.beta.v2+json'
-d ‘{
    "product": {
        "id": "5902719471797"
    },
    "name": "Mój własny tytuł",
    "parameters": [{
        "id": "11323",
        "valuesIds": [
            "11323_2"
        ]
    }],
    "delivery": {
        "shippingRates": {
            "id": "862347c4-b2b0-42d4-b84a-1db01509a69d"
        },
        "handlingTime": "PT48H",
        "additionalInfo": "Dodatkowe informacje o dostawie"
    },
    "sellingMode": {
        "price": {
            "amount": "220.85",
            "currency": "PLN"
        }
    },
    "afterSalesServices": {
        "impliedWarranty": {
            "name": "zabawki"
        },
        "returnPolicy": {
            "name": "30 dni"
        }
    },
    "location": {
        "countryCode": "PL",
        "province": "LUBUSKIE",
        "city": "Gorzów Wielkopolski",
        "postCode": "66-400"
    },
  "tax": {
    "percentage": “23.00”
  },
    "publication": {
        "status": "ACTIVE"
  },
    "stock": {
        "available": 1
    }
}’

Jak utworzyć draft oferty

Jeżeli nie chcesz, aby oferta była aktywna po wysłanym żądaniu, rozszerz swój request o sekcję publication z polem status. Przekaż w nim wartość “INACTIVE”:

  ...
  "publication": {
    "status": "INACTIVE"
  }
  ...    
Kliknij, żeby zobaczyć przykładowy request:
curl -X POST
‘https://api.allegro.pl/sale/product-offers’
-H 'Authorization: Bearer {token}'
-H 'Accept: application/vnd.allegro.beta.v2+json'
-H 'Content-Type: application/vnd.allegro.beta.v2+json'
-d ‘{
    "product": {
        "id": "5902719471797"
    },
    "name": "Mój własny tytuł",
    "parameters": [{
        "id": "11323",
        "valuesIds": [
            "11323_2"
        ]
    }],
    "delivery": {
        "shippingRates": {
            "id": "862347c4-b2b0-42d4-b84a-1db01509a69d"
        },
        "handlingTime": "PT48H",
        "additionalInfo": "Dodatkowe informacje o dostawie"
    },
    "sellingMode": {
        "price": {
            "amount": "220.85",
            "currency": "PLN"
        }
    },
    "afterSalesServices": {
        "impliedWarranty": {
            "name": "zabawki"
        },
        "returnPolicy": {
            "name": "30 dni"
        }
    },
    "location": {
        "countryCode": "PL",
        "province": "LUBUSKIE",
        "city": "Gorzów Wielkopolski",
        "postCode": "66-400"
    },
    "payments": {
        "invoice": "NO_INVOICE"
    },
    "publication": {
        "status": "INACTIVE"
  },
    "stock": {
        "available": 1
    }
}’

Jak dodać własne zdjęcie do oferty

Do oferty automatycznie dołączymy zdjęcia produktu. Możesz także dodać swoje własne, które przedstawiają konkretny egzemplarz produktu. Aby załączyć do oferty własne zdjęcia, rozszerz swój request o sekcję images:

  ...
  "images": [
    "https://...zewnetrzny-adres-pierwszego-obrazka.jpeg",
    "https://...zewnetrzny-adres-drugiego-obrazka.jpeg"
  ]
  ...    

Zdjęcia mogą pochodzić z zewnętrznych serwerów, nie musisz ich wcześniej wysyłać na serwer Allegro. Liczba zdjęć jest ograniczona w zależności od typu konta:

  • 16 dla kont firmowych,
  • 10 dla kont zwykłych.
Kliknij, żeby zobaczyć przykładowy request:
curl -X POST
‘https://api.allegro.pl/sale/product-offers’
-H 'Authorization: Bearer {token}'
-H 'Accept: application/vnd.allegro.beta.v2+json'
-H 'Content-Type: application/vnd.allegro.beta.v2+json'
-d ‘{
    "product": {
        "id": "5902719471797"
    },
    "name": "Mój własny tytuł",
    "parameters": [{
        "id": "11323",
        "valuesIds": [
            "11323_2"
        ]
    }],
    "delivery": {
        "shippingRates": {
            "id": "862347c4-b2b0-42d4-b84a-1db01509a69d"
        },
        "handlingTime": "PT48H",
        "additionalInfo": "Dodatkowe informacje o dostawie"
    },
    "sellingMode": {
        "price": {
            "amount": "220.85",
            "currency": "PLN"
        }
    },
    "afterSalesServices": {
        "impliedWarranty": {
            "name": "zabawki"
        },
        "returnPolicy": {
            "name": "30 dni"
        }
    },
    "location": {
        "countryCode": "PL",
        "province": "LUBUSKIE",
        "city": "Gorzów Wielkopolski",
        "postCode": "66-400"
    },
    "payments": {
        "invoice": "NO_INVOICE"
    },
    "publication": {
        "status": "INACTIVE"
  },
  "images": [
    "https://...zewnetrzny-adres-pierwszego-obrazka.jpeg",
    "https://...zewnetrzny-adres-drugiego-obrazka.jpeg"
  ],
    "stock": {
        "available": 1
    }
}’

Jak dodać opis oferty

Do oferty możesz dodać swój własny opis. Przy jego braku do oferty automatycznie przypiszemy opis z produktu, który wskazałeś w żądaniu.

Aby dodać opis dodatkowy, rozszerz request o sekcję description:

  ...
  "description": {
        "sections": [
            {
                "items": [
                    {
                        "type": "TEXT",
                        "content": "<p>Przykładowy opis oferty</p>"
                    }
                ]
            }
        ]
    }
  ...    

W naszym poradniku znajdziesz informacje, jak poprawnie przygotować opis.

Kliknij, żeby zobaczyć przykładowy request:
curl -X POST
‘https://api.allegro.pl/sale/product-offers’
-H 'Authorization: Bearer {token}'
-H 'Accept: application/vnd.allegro.beta.v2+json'
-H 'Content-Type: application/vnd.allegro.beta.v2+json'
-d ‘{
    "product": {
        "id": "5902719471797"
    },
    "name": "Mój własny tytuł",
    "parameters": [{
        "id": "11323",
        "valuesIds": [
            "11323_2"
        ]
    }],
    "delivery": {
        "shippingRates": {
            "id": "862347c4-b2b0-42d4-b84a-1db01509a69d"
        },
        "handlingTime": "PT48H",
        "additionalInfo": "Dodatkowe informacje o dostawie"
    },
    "sellingMode": {
        "price": {
            "amount": "220.85",
            "currency": "PLN"
        }
    },
    "afterSalesServices": {
        "impliedWarranty": {
            "name": "zabawki"
        },
        "returnPolicy": {
            "name": "30 dni"
        }
    },
    "location": {
        "countryCode": "PL",
        "province": "LUBUSKIE",
        "city": "Gorzów Wielkopolski",
        "postCode": "66-400"
    },
    "payments": {
        "invoice": "NO_INVOICE"
    },
    "publication": {
        "status": "INACTIVE"
    },
    "images": [
        "https://...zewnetrzny-adres-pierwszego-obrazka.jpeg",
        "https://...zewnetrzny-adres-drugiego-obrazka.jpeg"
    ],
    "description": {
        "sections": [{
            "items": [{
                "type": "TEXT",
                "content": "<p>Przykładowy opis oferty</p>"
            }]
        }]
    },
    "stock": {
        "available": 1
    }
}’

Jak dodać sygnaturę

Jeśli chcesz dodać do oferty własną sygnaturę przedmiotu, rozszerz swój request o dodatkowe pole external.id:

  ...
  "external": {
        "id": “5AA43-2020”
   }
  ...  
Kliknij, żeby zobaczyć przykładowy request:
curl -X POST
‘https://api.allegro.pl/sale/product-offers’
-H 'Authorization: Bearer {token}'
-H 'Accept: application/vnd.allegro.beta.v2+json'
-H 'Content-Type: application/vnd.allegro.beta.v2+json'
-d ‘{
    "product": {
        "id": "5902719471797"
    },
    "name": "Mój własny tytuł",
    "parameters": [{
        "id": "11323",
        "valuesIds": [
            "11323_2"
        ]
    }],
    "delivery": {
        "shippingRates": {
            "id": "862347c4-b2b0-42d4-b84a-1db01509a69d"
        },
        "handlingTime": "PT48H",
        "additionalInfo": "Dodatkowe informacje o dostawie"
    },
    "sellingMode": {
        "price": {
            "amount": "220.85",
            "currency": "PLN"
        }
    },
    "afterSalesServices": {
        "impliedWarranty": {
            "name": "zabawki"
        },
        "returnPolicy": {
            "name": "30 dni"
        }
    },
    "location": {
        "countryCode": "PL",
        "province": "LUBUSKIE",
        "city": "Gorzów Wielkopolski",
        "postCode": "66-400"
    },
    "payments": {
        "invoice": "NO_INVOICE"
    },
    "publication": {
        "status": "INACTIVE"
    },
    "images": [
        "https://...zewnetrzny-adres-pierwszego-obrazka.jpeg",
        "https://...zewnetrzny-adres-drugiego-obrazka.jpeg"
    ],
    "description": {
        "sections": [{
            "items": [{
                "type": "TEXT",
                "content": "<p>Przykładowy opis oferty</p>"
            }]
        }]
    },
    "stock": {
        "available": 1
    },
    "external": {
        "id": “5AA43-2020”
   }
}’

Jak wystawić ofertę w kategorii podobnej

Niektóre produkty pasują do wielu kategorii, dlatego możesz je wykorzystać aby wystawić ofertę w jednej z kategorii podobnych.

Aby uzyskać zbiór kategorii podobnych - skorzystaj z GET /sale/products/{productId}. W odpowiedzi zwrócimy listę category.similar, w której wskazujemy id kategorii podobnych.

information Uwaga! Listy kategorii podobnych są definiowane przez nas - są one zwracane w odpowiedzi na GET /sale/products/{productId} i nie możesz tworzyć ich samodzielnie.

Przykładowy request:

  curl -X GET \
  ‘https://api.allegro.pl/sale/products/b2b61e23-b580-4471-b653-6ed25fd179f7’ \
  -H 'Authorization: Bearer {token}' \
  -H 'accept: application/vnd.allegro.public.v1+json'

Przykładowy response:

{
    "id": "b2b61e23-b580-4471-b653-6ed25fd179f7",
    "name": "BIO Pochodnia",
    "category": {
        "id": "261573",
        "similar": [
            {
                "id": "110914"
            },
            {
                "id": "305121"
            }
        ]
    }
…
}


Kategorie mogą różnić się dostępnymi w nich parametrami, dlatego część uzupełnionych w produkcie parametrów może nie być zgodna z tymi możliwymi do użycia w kategorii podobnej.

Użyj GET ​/sale​/products​/{productId}?category.id={similarCategoryId}, a w parametrze category.id podaj jeden identyfikator ze zwróconego przez nas zbioru kategorii podobnych.

Dzięki temu wyfiltrujesz uzupełnione w produkcie parametry dla wybranej kategorii podobnej.

Przykładowy request:

  curl -X GET \
‘https://api.allegro.pl/sale/products/b2b61e23-b580-4471-b653-6ed25fd179f7?category.id=261573’ \
  -H 'Authorization: Bearer {token}' \
  -H 'accept: application/vnd.allegro.public.v1+json'
Kliknij, żeby zobaczyć przykładowy response:
{
    "id": "b2b61e23-b580-4471-b653-6ed25fd179f7",
    "name": "BIO pochodnia",
    "category": {
        "id": "261573",
        "similar": [
            {
                "id": "110914"
            },
            {
                "id": "305121"
            }
        ]
    },
    "parameters": [
        {
            "id": "237190",
            "name": "Marka",
            "valuesLabels": [
                "Marka"
            ],
            "values": [
                "Marka"
            ],
            "unit": null,
            "options": {
                "identifiesProduct": true
            }
        },
        {
            "id": "24231",
            "name": "Długość/wysokość",
            "valuesLabels": [
                "111 cm"
            ],
            "values": [
                "111"
            ],
            "unit": "cm",
            "options": {
                "identifiesProduct": true
            }
        },
        {
            "id": "219809",
            "name": "Kod produktu",
            "valuesLabels": [
                "test1"
            ],
            "values": [
                "test1"
            ],
            "unit": null,
            "options": {
                "identifiesProduct": true
            }
        },
        {
            "id": "225693",
            "name": "EAN",
            "valuesLabels": [
                "0000000909099"
            ],
            "values": [
                "0000000909099"
            ],
            "unit": null,
            "options": {
                "identifiesProduct": false,
                "isGTIN": true
            }
        }
    ],
    "images": [
        {
            "url": "https://c.allegroimg.com/original/0587c4/1a7a1b46438da3de2cf8a328791a"
        }
    ],
    "offerRequirements": {
        "parameters": []
    },
    "compatibilityList": null,
    "tecdocSpecification": null
}


Aby wystawić ofertę z produktu w kategorii podobnej, rozszerz swoje żądanie w części ofertowej o pole category.id, w którym podasz identyfikator kategorii podobnej.


Kliknij, żeby zobaczyć przykładowy request:
  curl -X POST 
https://api.allegro.pl/sale/product-offers’
-H 'Authorization: Bearer {token}'
-H 'Accept: application/vnd.allegro.beta.v2+json'
-H 'Content-Type: application/vnd.allegro.beta.v2+json' -d ‘{ "product": { "id": "b2b61e23-b580-4471-b653-6ed25fd179f7" }, "category": { "id": "261573" – id kategorii podobnej, czyli jedna z wartości, którą zwróciliśmy w produkcie w liście category.similar },
"sellingMode": { "price": { "amount": "29.01", "currency": "PLN" } }, "stock": { "available": 199 }, "afterSalesServices": { "impliedWarranty": null, "returnPolicy": null, "warranty": null }, "location": { "countryCode": "PL", "province": "KUJAWSKO_POMORSKIE", "city": "Żnin", "postCode": "88-400" }, "parameters":[ { "id":"11323", "valuesIds":[ "11323_1" ] } ], "description": { "sections": [ { "items": [ { "type": "TEXT", "content": "<p>Przykładowy opis</p>" } ] } ] } }’

Kliknij, żeby zobaczyć przykładowy response:
{
    "id": "10081795201",
    "name": "BIO Pochodnia",
    "product": {
        "id": "b2b61e23-b580-4471-b653-6ed25fd179f7",
        "publication": {
            "status": "LISTED"
        }
    },
    "afterSalesServices": {
        "impliedWarranty": null,
        "returnPolicy": null,
        "warranty": null
    },
    "payments": {
        "invoice": "VAT"
    },
    "sellingMode": {
        "format": "BUY_NOW",
        "price": {
            "amount": 29.01,
            "currency": "PLN"
        },
        "startingPrice": null,
        "minimalPrice": null
    },
    "stock": {
        "available": 199,
        "unit": "UNIT"
    },
    "location": {
        "countryCode": "PL",
        "province": "KUJAWSKO_POMORSKIE",
        "city": "Żnin",
        "postCode": "88-400"
    },
    "delivery": {
        "shippingRates": {
            "id": "9c4c800b-74cc-4b75-a0ac-01511defe1e4"
        },
        "handlingTime": "PT24H",
        "additionalInfo": null
    },
    "publication": {
        "duration": null,
        "status": "ACTIVE",
        "endedBy": null,
        "endingAt": null,
        "startingAt": null,
        "republish": false
    },
    "description": {
        "sections": [
            {
                "items": [
                    {
                        "type": "TEXT",
                        "content": "<p>Przykładowy opis</p>"
                    }
                ]
            }
        ]
    },
    "validation": {
        "errors": [],
        "warnings": [],
        "validatedAt": "2021-01-20T12:52:16.698Z"
    },
    "createdAt": "2021-01-20T12:52:16Z",
    "updatedAt": "2021-01-20T12:52:16.699Z",
    "images": [
        "https://a.allegro.pl/original/00a549/62ac477049239c9a50df4b6392e9"
    ],
    "external": null,
    "category": {
        "id": "305121"
    },
    "tax": {
        "percentage": null
    },
    "sizeTable": null,
    "discounts": {
        "wholesalePriceList": null
    }
}


Jeżeli w odpowiedzi otrzymasz informację, aby uzupełnić brakujące parametry obowiązkowe, przekaż je w obiekcie product. Identyfikator parametru wraz z wartością sprawdzisz za pomocą GET /sale/{categoryID}/parameters.

Jak wystawić ofertę z produktem, którego nie ma w naszej bazie

Jeżeli nie znajdziesz w naszej bazie produktu, możesz wystawić ofertę, ale musisz podać komplet informacji o produkcie. Przekazane dane posłużą do zgłoszenia propozycji produktu. Zweryfikujemy je, a zaakceptowane przez nas dane produktu będą dostępne na platformie. Część danych może być weryfikowana automatycznie, część po pewnym czasie.

Przygotuj następujące dane, by zaproponować produkt:

  • sugerowaną nazwę produktu
  • kategorię
  • parametry i wartości parametrów
  • zdjęcia
  • (opcjonalnie) opis produktu

Uzupełnij kategorię i parametry

Jeśli chcesz dodać propozycję nowego produktu, skorzystaj z GET /sale/categories/{categoryId}/parameters. W polu requiredForProduct znajdziesz informację, czy dany parametr jest wymagany, gdy tworzysz nowy produkt.

Zamiast identyfikatorów parametrów możesz użyć ich nazw. Dla parametrów: - słownikowych (typu dictionary) w polu values możesz także przekazać samą nazwę, - zakresowych (typu range) w polu values możesz przekazać dwie wartości, które będą odpowiadać “from” i “to”.

Poniżej znajdziesz różne sposoby przekazania parametrów i ich wartości:

 "product": {
  "category":{
         "id":"258020"
      },
  "parameters": [
      {
            "name": "Kod producenta",
            "values": [
                    "test 1587459230"
            ]
        },
        {
            "id": "202749",
            "values": [
                    "5.9"
            ]
        },
        {
            "id": "202869",
            "values": [
                    "512 GB"
            ]
        },
        {
            "id": "202829",
            "valuesIds": [
                    "202829_8374"
            ]
        },
        {
		"name": "Pojemność akumulatora",
		"values": [
		         0, 100
		]
	   }
     ...
  ]
 }
 ...

Struktura żądania na tym etapie może wyglądać następująco:

Kliknij, żeby zobaczyć przykładowy request:
curl -X POST
‘https://api.allegro.pl/sale/product-offers’
-H 'Authorization: Bearer {token}'
-H 'Accept: application/vnd.allegro.beta.v2+json'
-H 'Content-Type: application/vnd.allegro.beta.v2+json'
-d ’{
    "product": {
        "name":"Produkt testowy",
            "category":{
                    "id":"258020"
            },
    "parameters":[
            {
                "id": "224017",
                "values": [
                    "test 1587459230"
                ]
            },
            {
                "id": "202749",
                "values": [
                    "5.9"
                ]
            },
            {
                "id": "202869",
                "values": [
                    "512 GB"
                ]
            },
            {
                "id": "202829",
                "valuesIds": [
                    "202829_1"
                ]
            },
            {
                "id": "202685",
                "valuesIds": [
                    "202685_212929"
                ]
            },
            {
                "id": "127448",
                "valuesIds": [
                    "127448_2"
                ]
            },
            {
                "id": "202865",
                "valuesIds": [
                    "202865_214109"
                ]
            },
            {
                "id": "4388",
                "valuesIds": [
                    "4388_1"
                ]
            },
            {
                "id": "202717",
                "values": [
                    100
                ]
            },
            {
                "id": "219",
                "values": [
                    "Bluetooth"
                ]
            },
            {
                "id": "202821",
                "values": [
                    "Dual SIM"
                ]
            }
        ]
    },
    "sellingMode": {
        "price": {
            "amount": "220.85",
            "currency": "PLN"
        }
    },
    "stock": {
        "available": 1
    }
}’

Przekaż EAN jako parametr

Przekaż numer EAN jako parametr w sekcji parameters:

 "product": {
  ...
  "parameters": [
     {
         "name": "EAN",
         "values": [
             "0744861045021",
             "0744861045022"
         ]
     },
     ...
  ]
  ...    

Za pomocą GET /sale/categories/{categoryId}/parameters sprawdź, czy w danej kategorii musisz przekazać numer EAN, ISBN lub ISSN, gdy chcesz dodać produkt. Świadczy o tym wartość true w polu requiredForProduct parametru GTIN.

Struktura żądania na tym etapie może wyglądać następująco:

Kliknij, żeby zobaczyć przykładowy request:
curl -X POST
‘https://api.allegro.pl/sale/product-offers’
-H 'Authorization: Bearer {token}'
-H 'Accept: application/vnd.allegro.beta.v2+json'
-H 'Content-Type: application/vnd.allegro.beta.v2+json'
-d ‘{
  "product": {
    "name":"Produkt testowy",
    "category":{
        "id":"258020"
     },
    "parameters":[{
                "name": "EAN",
                "values": [
                    "0744861045021"
                ]
            },
            {
                "id": "224017",
                "values": [
                    "test 1587459230"
                ]
            },
            {
                "id": "202749",
                "values": [
                    "5.9"
                ]
            },
            {
                "id": "202869",
                "values": [
                    "512 GB"
                ]
            },
            {
                "id": "202829",
                "valuesIds": [
                    "202829_1"
                ]
            },
            {
                "id": "202685",
                "valuesIds": [
                    "202685_212929"
                ]
            },
            {
                "id": "127448",
                "valuesIds": [
                    "127448_2"
                ]
            },
            {
                "id": "202865",
                "valuesIds": [
                    "202865_214109"
                ]
            },
            {
                "id": "4388",
                "valuesIds": [
                    "4388_1"
                ]
            },
            {
                "id": "202717",
                "values": [
                    100
                ]
            },
            {
                "id": "219",
                "values": [
                    "Bluetooth"
                ]
            },
            {
                "id": "202821",
                "values": [
                    "Dual SIM"
                ]
            }
        ]
},
  "sellingMode": {
    "price": {
      "amount": "220.85",
      "currency": "PLN"
    }
  },
  "stock": {
    "available": 1
  }
}’

Dodaj zdjęcia produktu

W sekcji images dodaj obrazki, które prezentują produkt. Zdjęcia mogą pochodzić z zewnętrznych serwerów:

 "product": {
 ...
   "images": [
    "https://...zewnetrzny-adres-pierwszego-obrazka.jpeg",
    "https://...zewnetrzny-adres-drugiego-obrazka.jpeg"
  ]
 ...    

Struktura żądania na tym etapie może wyglądać następująco:

Liczba zdjęć jest ograniczona w zależności od typu konta:

  • 16 dla kont firmowych,
  • 10 dla kont zwykłych.

Obowiązują te same zasady, jak dla zdjęć w ofercie.

Kliknij, żeby zobaczyć przykładowy request:
curl -X POST
‘https://api.allegro.pl/sale/product-offers’
-H 'Authorization: Bearer {token}'
-H 'Accept: application/vnd.allegro.beta.v2+json'
-H 'Content-Type: application/vnd.allegro.beta.v2+json'
-d ‘{
    "product": {
        "name":"Produkt testowy",
            "category":{
                    "id":"258020"
            },
     "parameters":[{
                "name": "EAN",
                "values": [
                    "0744861045021"
                ]
            },
            {
                "id": "224017",
                "values": [
                    "test 1587459230"
                ]
            },
            {
                "id": "202749",
                "values": [
                    "5.9"
                ]
            },
            {
                "id": "202869",
                "values": [
                    "512 GB"
                ]
            },
            {
                "id": "202829",
                "valuesIds": [
                    "202829_1"
                ]
            },
            {
                "id": "202685",
                "valuesIds": [
                    "202685_212929"
                ]
            },
            {
                "id": "127448",
                "valuesIds": [
                    "127448_2"
                ]
            },
            {
                "id": "202865",
                "valuesIds": [
                    "202865_214109"
                ]
            },
            {
                "id": "4388",
                "valuesIds": [
                    "4388_1"
                ]
            },
            {
                "id": "202717",
                "values": [
                    100
                ]
            },
            {
                "id": "219",
                "values": [
                    "Bluetooth"
                ]
            },
            {
                "id": "202821",
                "values": [
                    "Dual SIM"
                ]
            }
        ],
        "images": [
            "https://…zewnetrzny-adres-pierwszego-obrazka.jpeg",
            "https://…zewnetrzny-adres-drugiego-obrazka.jpeg"
        ]
    },
    "sellingMode": {
        "price": {
            "amount": "220.85",
            "currency": "PLN"
        }
    },
    "stock": {
        "available": 1
    }
}’

Uzupełnij pozostałe dane wymagane do wystawienia oferty

Aby wystawić ofertę, to oprócz podstawowych danych opisujących produkt, musisz również uzupełnić:

Kliknij, żeby zobaczyć przykładowy request:
curl -X POST
‘https://api.allegro.pl/sale/product-offers’
-H 'Authorization: Bearer {token}'
-H 'Accept: application/vnd.allegro.beta.v2+json'
-H 'Content-Type: application/vnd.allegro.beta.v2+json'
-d ‘{
   "product":{
      "name":"Produkt testowy",
      "category":{
         "id":"258020"
      },
      "parameters":[{
                "name": "EAN",
                "values": [
                    "0744861045021"
                ]
            },
            {
                "id": "224017",
                "values": [
                    "test 1587459230"
                ]
            },
            {
                "id": "202749",
                "values": [
                    "5.9"
                ]
            },
            {
                "id": "202869",
                "values": [
                    "512 GB"
                ]
            },
            {
                "id": "202829",
                "valuesIds": [
                    "202829_1"
                ]
            },
            {
                "id": "202685",
                "valuesIds": [
                    "202685_212929"
                ]
            },
            {
                "id": "127448",
                "valuesIds": [
                    "127448_2"
                ]
            },
            {
                "id": "202865",
                "valuesIds": [
                    "202865_214109"
                ]
            },
            {
                "id": "4388",
                "valuesIds": [
                    "4388_1"
                ]
            },
            {
                "id": "202717",
                "values": [
                    100
                ]
            },
            {
                "id": "219",
                "values": [
                    "Bluetooth"
                ]
            },
            {
                "id": "202821",
                "values": [
                    "Dual SIM"
                ]
            }
        ],
      "images":[
"https://…zewnetrzny-adres-pierwszego-obrazka.jpeg", "https://…zewnetrzny-adres-drugiego-obrazka.jpeg" ] }, "parameters":[
{ "id":"11323", "valuesIds":[ "11323_2" ] } ], "images": ["https://testowy-adres.com/obrazek.jpg&#34;], "sellingMode":{ "price":{ "amount":"12.43", "currency":"PLN" } }, "stock":{ "available": 10 } }’

Kliknij, żeby zobaczyć przykładowy response:
 {
    "id": "7678581025",                                         – ID oferty
    "name": "Produkt testowy",                                  – nazwa oferty
    "product": {
        "id": "2f771572-8302-4c09-b304-391f039e3195",           – ID produktu
        "publication": {
            "status": "PROPOSED"                                – status publikacji produktu.
                                                                Dostępne wartości to PROPOSED (utworzyliśmy
                                                                nową propozycję produktu i powiązaliśmy
                                                                z nim ofertę), LISTED (zidentyfikowaliśmy
                                                                produkt w naszej bazie i powiązaliśmy z nim
                                                                ofertę), NOT_LISTED (nie utworzyliśmy nowej
                                                                propozycji produktu i nie powiązaliśmy oferty z
                                                                żadnym produktem z naszej bazy, jednak
                                                                wystawiliśmy samą ofertę)
        }
    },
    "afterSalesServices": {                                     – warunki dla oferty
"impliedWarranty": { – informacje o reklamacji "id": "1377b0a6-b397-4e1e-b57c-4234bd84d036" }, "returnPolicy": { – informacje o warunkach zwrotów "id": "e261d4ed-ced7-4c10-82cd-13aa26192895" }, "warranty": null – informacje o gwarancji }, "payments": { "invoice": "VAT" – informacje o fakturze }, "sellingMode": {
"format": "BUY_NOW", – format sprzedaży "price": {
"amount": 12.43, – cena przedmiotu "currency": "PLN"
}, "startingPrice": null, "minimalPrice": null }, "stock": { "available": 10, – liczba dostępnych sztuk "unit": "UNIT" }, "location": { – miejsce, z którego paczka zostanie wysłana "countryCode": "PL", "province": "WIELKOPOLSKIE", "city": "Poznań", "postCode": "60-166" }, "delivery": { – informacje o dostawie "shippingRates": { "id": "0ef455de-fc6e-4d6e-a7c8-c22aecf0b914" – ID cennika dostawy }, "handlingTime": "PT24H", – czas wysyłki "additionalInfo": null – dodatkowe informacje o wysyłce }, "publication": { "duration": null,
"status": "ACTIVE", – status publikacji oferty "endedBy": null, "endingAt": null, "startingAt": null, "republish": false }, "description": null, – opis oferty "validation": { – informacje o błędach "errors": [], "warnings": [], "validatedAt": "2020-09-22T11:44:17.995Z" }, "createdAt": "2020-09-22T11:44:17Z", – data utworzenia oferty "updatedAt": "2020-09-22T11:44:17.995Z", – data ostatniej aktualizacji "images": [
"https://a.allegroimg.pl/original/11d57d/542133b14781a17f11041d8a5ca4&#34;, "https://a.allegroimg.pl/original/111c5f/03c9534448d98d63bd6810a54512&#34; ], "external": null, "sizeTable": { "id": “5727b598-6608-4bd3-b198-f165b011bb69” }, "tax": { "percentage": “23.00” }
}

Jak edytować ofertę

Za pomocą PATCH /sale/product-offers/{offerId} zmienisz dane w ofercie w prosty sposób - edytujesz dowolne pole oferty, a jednocześnie nie musisz przekazywać całego jej modelu.

W ten sposób edytujesz niezależnie m.in:

  • zdjęcia,
  • parametry,
  • lokalizację,
  • cenę,
  • opis oferty,
  • status oferty,
  • identyfikator produktu.

information Ważne! 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. Możesz je pobrać z edytowanej przez Ciebie oferty, korzystając z GET /sale/offers/{offerId}.

Przy edycji zapewniliśmy te same udogodnienia, które przy tworzeniu ofert daje POST /sale/product-offers, dlatego dzięki PATCH /sale/product-offers/{offerId} możesz:

  • zmienić status oferty bez konieczności wywołania osobnej komendy publikacji,
  • dodać do oferty zdjęcia bezpośrednio z zewnętrznych serwerów,
  • posługiwać się nazwami warunków ofert zamiast ich identyfikatorami (cenniki dostawy, warunki zwrotów oraz reklamacji).

information Ważne! Gdy skorzystasz z PATCH /sale/product-offers/{offerId}, a w ofercie powiązanej z danym produktem wartości pola tecdocSpecification i compatibilityList nie będą aktualne, tzn. niezgodnie z danymi w produkcie - automatycznie je zaktualizujemy.

Edycja oferty w asynchronicznym API

async_api_edit

W odpowiedzi na prawidłowe żądanie metodą PATCH /sale/product-offers/{offerId} otrzymasz jeden z statusów:

  • 200 OK - gdy żądanie odnosi się do modyfikacji atrybutów oferty, które nie wiążą się z długo wykonywanymi operacjami. Zmiany wdrożymy od razu.

  • 202 Accepted - gdy żądanie wiąże się z długo wykonywanymi operacjami. np. zmiana statusu publikacji oferty. Zmianę wprowadzimy asynchronicznie.

W przypadku, gdy zwrócimy status 200 OK - w odpowiedzi przekażemy dane oferty z wprowadzonymi już zmianami:


Przykładowy request:

  curl -X PATCH
  ‘https://api.allegro.pl/sale/product-offers/9531382307’
  -H 'Authorization: Bearer {token}'
  -H 'Accept: application/vnd.allegro.beta.v2+json'
  -H 'Content-Type: application/vnd.allegro.beta.v2+json'
  -d ’{
  "sellingMode": {
     "price": {
       "amount": "50",
       "currency": "PLN"
    }
  }    
  }’

Kliknij, żeby zobaczyć przykładowy response:
  HTTP/1.1 200 OK
  {
    "id": "9531382307’",
    "name": "Przykładowa nazwa",
    "product": {
        "id": null,
        "publication": {
            "status": "NOT_LISTED"
        }
    },
    "afterSalesServices": {
        "impliedWarranty": {
            "id": "f86078a6-9f42-4b76-9696-1e5c0646a60a"
        },
        "returnPolicy": {
            "id": "47101223-7236-4201-9779-316e6d10af2a"
        },
        "warranty": null
    },
    "payments": {
        "invoice": "NO_INVOICE"
    },
    "sellingMode": {
        "format": "BUY_NOW",
        "price": {
            "amount": 50,
            "currency": "PLN"
        },
        "startingPrice": null,
        "minimalPrice": null
    },
    "stock": {
        "available": 1,
        "unit": "UNIT"
    },
    "location": {
        "countryCode": "PL",
        "province": "WIELKOPOLSKIE",
        "city": "Poznań",
        "postCode": "66-166"
    },
    "delivery": {
        "shippingRates": {
            "id": "17221a3c-f4cf-4e47-953a-8e125013b014"
        },
        "handlingTime": "PT336H",
        "additionalInfo": ""
    },
    "publication": {
        "duration": null,
        "status": "ACTIVE",
        "endedBy": null,
        "endingAt": null,
        "startingAt": null,
        "republish": false
    },
    "description": {
        "sections": [
            {
                "items": [
                    {
                        "type": "TEXT",
                        "content": "<p>test</p>"
                    }
                ]
            }
        ]
    },
    "validation": {
        "errors": [],
        "warnings": [],
        "validatedAt": "2020-11-06T15:39:53.898Z"
    },
    "createdAt": "2020-10-01T05:44:23Z",
    "updatedAt": "2020-11-06T15:39:55.574Z",
    "images": [
        "https://a.allegroimg..pl/original/116421/ece7111d4b8fbbc4662ab92f84ce&#34;
    ],
    "external": null,
    "category": {
        "id": "79419"
    },
    "tax": {
        "percentage": null
    },
    "sizeTable": null
 }

Jeżeli w odpowiedzi zwrócimy status 202 Accepted, zwrócimy dane oferty z aktualnym jej stanem - nie uwzględniającym jeszcze danych, które są procesowane. Zmiany w ofercie wprowadzimy asynchronicznie.

Aby sprawdzić status ukończenia zadania, skorzystaj z adresu otrzymanego w nagłówku Location - jest to odnośnik do zasobu, który powinieneś odpytywać, aby sprawdzić status wykonania żądania. Z kolei w nagłówku retry-after przekazujemy informację, po jakim czasie (w sekundach) możesz ponownie odpytać zasób.


Przykładowy request:

  curl -X PATCH
  ‘https://api.allegro.pl/sale/product-offers/9531382307’
  -H 'Authorization: Bearer {token}'
  -H 'Accept: application/vnd.allegro.beta.v2+json'
  -H 'Content-Type: application/vnd.allegro.beta.v2+json'
  -d ’{
    "publication": {
         "status": "ACTIVE"
     }
  }’

Kliknij, żeby zobaczyć przykładowy response:
  HTTP/1.1 202 Accepted
  location: ‘https://api.allegro.pl/sale/product-offers/9531382307/sale/operations/ef5dd966-d370-44f7-bb30-3631e3511536’
  retry-after: 5
  {
    "id": "9531382307’",
    "name": "Przykładowa nazwa",
    "product": {
        "id": null,
        "publication": {
            "status": "NOT_LISTED"
        }
    },
    "afterSalesServices": {
        "impliedWarranty": {
            "id": "f86078a6-9f42-4b76-9696-1e5c0646a60a"
        },
        "returnPolicy": {
            "id": "47101223-7236-4201-9779-316e6d10af2a"
        },
        "warranty": null
    },
    "payments": {
        "invoice": "NO_INVOICE"
    },
    "sellingMode": {
        "format": "BUY_NOW",
        "price": {
            "amount": 50,
            "currency": "PLN"
        },
        "startingPrice": null,
        "minimalPrice": null
    },
    "stock": {
        "available": 1,
        "unit": "UNIT"
    },
    "location": {
        "countryCode": "PL",
        "province": "WIELKOPOLSKIE",
        "city": "Poznań",
        "postCode": "66-166"
    },
    "delivery": {
        "shippingRates": {
            "id": "17221a3c-f4cf-4e47-953a-8e125013b014"
        },
        "handlingTime": "PT336H",
        "additionalInfo": ""
    },
    "publication": {
        "duration": null,
        "status": "ENDED",
        "endedBy": "USER",
        "endingAt": null,
        "startingAt": null,
        "republish": false
    },
    "description": {
        "sections": [
            {
                "items": [
                    {
                        "type": "TEXT",
                        "content": "<p>test</p>"
                    }
                ]
            }
        ]
    },
    "validation": {
        "errors": [],
        "warnings": [],
        "validatedAt": "2020-11-06T15:39:53.898Z"
    },
    "createdAt": "2020-10-01T05:44:23Z",
    "updatedAt": "2020-11-06T15:42:06.315Z",
    "images": [
        "https://a.allegroimg.pl/original/116421/ece7111d4b8fbbc4662ab92f84ce&#34;
    ],
    "external": null,
    "category": {
        "id": "79419"
    },
    "tax": {
        "percentage": null
    },
    "sizeTable": null
 }

Skorzystaj z metody GET oraz otrzymanego adresu w Location, aby sprawdzić status wykonania zadania. Do czasu zakończenia operacji w odpowiedzi na to żądanie wyślemy odpowiedź status 202 Accepted.

Przykładowy request:

  curl -X GET
  ‘https://api.allegro.pl/sale/product-offers/9531382307/operations/ef5dd966-d370-44f7-bb30-3631e3511536’
  -H 'Authorization: Bearer {token}'
  -H 'Accept: application/vnd.allegro.beta.v2+json'
  -H 'Content-Type: application/vnd.allegro.beta.v2+json'

Przykładowy response:

HTTP/1.1 202 Accepted
location: https://api.allegro.pl/sale/product-offers/9531382307/operations/ef5dd966-d370-44f7-bb30-3631e3511536
retry-after: 5
 {
  "offer": {
    "id": "9531382307"
  },
  "operation": {
    "id": "ef5dd966-d370-44f7-bb30-3631e3511536",
    "status": "IN_PROGRESS",
    "startedAt": "2019-05-29T12:00:00Z"
  }
}

Gdy zakończymy przetwarzać operację, w odpowiedzi na żądanie GET /sale/product-offers/{offerId}/operations/{operationId} wyślemy status HTTP 303 See Other, a w nagłówku Location przekażemy odnośnik kierujący do zasobu z danymi oferty.


Przykładowy request:

  curl -X GET
  ‘https://api.allegro.pl/sale/product-offers/9531382307/operations/ef5dd966-d370-44f7-bb30-3631e3511536’
  -H 'Authorization: Bearer {token}'
  -H 'Accept: application/vnd.allegro.beta.v2+json'
  -H 'Content-Type: application/vnd.allegro.beta.v2+json'

Przykładowy response:

  HTTP/1.1 303 See Other
  location: https://api.allegro.pl/sale/product-offers/9531382307

Skorzystaj z metody GET oraz przesłanego otrzymanego w nagłówku location, aby uzyskać aktualne dane oferty. Utworzysz dzięki temu żądanie w następującej formie: GET /sale/product-offers/{offerId}.


Przykładowy request:

  curl -X GET
  ‘https://api.allegro.pl/sale/product-offers/9531382307’
  -H 'Authorization: Bearer {token}'
  -H 'Accept: application/vnd.allegro.beta.v2+json'
  -H 'Content-Type: application/vnd.allegro.beta.v2+json

Kliknij, żeby zobaczyć przykładowy response:
'{
    "id": "9531382307",
    "name": "Przykładowa nazwa",
    "product": {
        "id": "21a0e252-aa3f-4666-9278-b0417743790f",
        "publication": {
            "status": "LISTED"
        }
    },
    "afterSalesServices": {
        "impliedWarranty": {
            "id": "ad2a9867-71b1-499b-8211-0048536992c5"
        },
        "returnPolicy": {
            "id": "b20a9525-f431-495f-96a8-45af3255374f"
        },
        "warranty": {
            "id": "74cf0d61-590d-4235-8229-8f0d7e7c54e3"
        }
    },
    "payments": {
        "invoice": "VAT"
    },
    "sellingMode": {
        "format": "BUY_NOW",
        "price": {
            "amount": 50,
            "currency": "PLN"
        },
        "startingPrice": null,
        "minimalPrice": null
    },
    "stock": {
        "available": 2,
        "unit": "UNIT"
    },
    "location": {
        "countryCode": "PL",
        "province": "WIELKOPOLSKIE",
        "city": "Poznań",
        "postCode": "60-130"
    },
    "delivery": {
        "shippingRates": {
            "id": "04624cf1-558f-4356-bf2b-1fa34a091ca3"
        },
        "handlingTime": "PT168H",
        "additionalInfo": ""
    },
    "publication": {
        "duration": "PT240H",
        "status": "ACTIVE",
        "endedBy": null,
        "endingAt": "2020-10-04T12:13:20Z",
        "startingAt": null,
        "republish": false
    },
    "description": {
        "sections": [
            {
                "items": [
                    {
                        "type": "TEXT",
                        "content": "<p>testowy opis</p>"
                    }
                ]
            },
            {
                "items": [
                    {
                        "type": "TEXT",
                        "content": "<p>testowy opis</p>"
                    }
                ]
            }
        ]
    },
    "validation": {
        "errors": [],
        "warnings": [],
        "validatedAt": "2020-09-28T08:22:34.223Z"
    },
    "createdAt": "2020-07-24T13:50:33Z",
    "updatedAt": "2020-09-28T08:22:35.851Z",
    "images": [
        "https://c.allegroimg.com/original/0587c4/1a7a1b46438da3de2cf8a328791a&#34;,
        "https://c.allegroimg.com/original/0587c4/1a7a1b46438da3de2cf8a328791b&#34;
    ],
    "external": null,
    "category": {
        "id": "260395"
    },
    "sizeTable": {
      "id": “5727b598-6608-4bd3-b198-f165b011bb69”
    },
    "tax": null
}'

Edytowanie pól oferty

Skorzystaj z PATCH /sale/product-offers/{offerId oraz przekaż w strukturze żądania tylko te pola, które rzeczywiście chcesz zmienić. W pozostałych polach pozostawimy dotychczasową wartość. Działanie zasobu jest zgodnie z dokumentem RFC7396.

Oto kilka przykładowych wywołań:

  • zmiana ceny:

Przykładowy request:

curl -X PATCH
‘https://api.allegro.pl/sale/product-offers/9531382307’
-H 'Authorization: Bearer {token}'
-H 'Accept: application/vnd.allegro.beta.v2+json'
-H 'Content-Type: application/vnd.allegro.beta.v2+json'
-d ’{
"sellingMode": {
   "price": {
     "amount": "50",
     “currency”: “PLN”
  }
}    
}’

  • zmiana lokalizacji:

Przykładowy request:

curl -X PATCH
‘https://api.allegro.pl/sale/product-offers/9531382307’
-H 'Authorization: Bearer {token}'
-H 'Accept: application/vnd.allegro.beta.v2+json'
-H 'Content-Type: application/vnd.allegro.beta.v2+json'
-d ‘{
      "location": {
    	"countryCode": "PL",
     	"province": "WIELKOPOLSKIE",
     	"city": "Poznań",
     	"postCode": "60-166"
  }
}’
    

  • zmiana liczby sztuk:

Przykładowy request:

curl -X PATCH
‘https://api.allegro.pl/sale/product-offers/9531382307’
-H 'Authorization: Bearer {token}'
-H 'Accept: application/vnd.allegro.beta.v2+json'
-H 'Content-Type: application/vnd.allegro.beta.v2+json'
-d ‘{
   "stock": {
       "available": 2,
       "unit": "UNIT"
   }
}’

information Ważne! Pamiętaj, że w przypadku tablic, takich jak zdjęcia (images) oraz opis oferty (description) przyjmujemy zasadę wszystko albo nic (zgodnie z RFC7396). Oznacza to, że np. jeżeli chcesz dodać do oferty nowe zdjęcia, ale równocześnie chcesz pozostawić te, które były już wcześniej w tej ofercie - musisz przekazać zarówno nowe zdjęcia, jak i te, które były już w tablicy images.

Przykładowy request:

curl -X PATCH
‘https://api.allegro.pl/sale/product-offers/9531382307’
-H 'Authorization: Bearer {token}'
-H 'Accept: application/vnd.allegro.beta.v2+json'
-H 'Content-Type: application/vnd.allegro.beta.v2+json'
-d ‘{
   "images": [
       "https://c.allegroimg.com/original/0587c4/1a7a1b46438da3de2cf8a328791a",
       "https://c.allegroimg.com/original/0587c4/1a7a1b46438da3de2cf8a328791b"
   ]
}’

Kliknij, żeby zobaczyć przykładowy response:
'{
    "id": "9531382307",
    "name": "Książka",
    "product": {
        "id": "21a0e252-aa3f-4666-9278-b0417743790f",
        "publication": {
            "status": "LISTED"
        }
    },
    "afterSalesServices": {
        "impliedWarranty": {
            "id": "ad2a9867-71b1-499b-8211-0048536992c5"
        },
        "returnPolicy": {
            "id": "b20a9525-f431-495f-96a8-45af3255374f"
        },
        "warranty": {
            "id": "74cf0d61-590d-4235-8229-8f0d7e7c54e3"
        }
    },
    "payments": {
        "invoice": "VAT"
    },
    "sellingMode": {
        "format": "BUY_NOW",
        "price": {
            "amount": 50,
            "currency": "PLN"
        },
        "startingPrice": null,
        "minimalPrice": null
    },
    "stock": {
        "available": 2,
        "unit": "UNIT"
    },
    "location": {
        "countryCode": "PL",
        "province": "WIELKOPOLSKIE",
        "city": "Poznań",
        "postCode": "60-130"
    },
    "delivery": {
        "shippingRates": {
            "id": "04624cf1-558f-4356-bf2b-1fa34a091ca3"
        },
        "handlingTime": "PT168H",
        "additionalInfo": ""
    },
    "publication": {
        "duration": "PT240H",
        "status": "ACTIVE",
        "endedBy": null,
        "endingAt": "2020-10-04T12:13:20Z",
        "startingAt": null,
        "republish": false
    },
    "description": {
        "sections": [
            {
                "items": [
                    {
                        "type": "TEXT",
                        "content": "<p>testowy opis</p>"
                    }
                ]
            },
            {
                "items": [
                    {
                        "type": "TEXT",
                        "content": "<p>testowy opis</p>"
                    }
                ]
            }
        ]
    },
    "validation": {
        "errors": [],
        "warnings": [],
        "validatedAt": "2020-09-28T08:22:34.223Z"
    },
    "createdAt": "2020-07-24T13:50:33Z",
    "updatedAt": "2020-09-28T08:22:35.851Z",
    "images": [
        "https://c.allegroimg.com/original/0587c4/1a7a1b46438da3de2cf8a328791a&#34;,
        "https://c.allegroimg.com/original/0587c4/1a7a1b46438da3de2cf8a328791b&#34;
    ],
    "external": null,
    "category": {
        "id": "260395"
    },
    "sizeTable": {
      "id": “5727b598-6608-4bd3-b198-f165b011bb69”
    },
    "tax": null
}'


Jeżeli chcesz usunąć wartość w wybranym polu, o ile nie jest ona wymagana - przekaż w nim wartość null.

Przykładowy request:

curl -X PATCH
‘https://api.allegro.pl/sale/product-offers/9531382307’
-H 'Authorization: Bearer {token}'
-H 'Accept: application/vnd.allegro.beta.v2+json'
-H 'Content-Type: application/vnd.allegro.beta.v2+json'
-d ‘{
      "warranty": {
            "id": null
     }
}’

Jak przypisać produkt do oferty

Za pomocą PATCH /sale/product-offers/{offerId} możesz dodać produkt do oferty, która nie jest połączona z produktem lub zmienić go w ofercie, która produkt już posiada.

W polu product.id wskaż identyfikator danego produktu lub parametr GTIN (EAN, ISBN, ISSN). W odpowiedzi automatycznie zaktualizujemy w ofercie:

  • kategorię i parametry,
  • opis,
  • zdjęcia,
  • sekcję pasuje do,
  • specyfikację techniczną TecDoc

zgodnie z danymi w powiązanym produkcie.

information Ważne! 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. Możesz je pobrać z edytowanej przez Ciebie oferty, korzystając z zasobu: GET /sale/offers/{offerId}

Nie możesz usunąć produktu z oferty. W przypadku, gdy w polu product.id przekażesz wartość null - zwrócimy błąd 422.

Pamiętaj również, że kategorię możesz zmienić do 12 godzin po pierwszym wystawieniu oferty. Oznacza to, że po 12 godzinach nie przypiszesz do oferty produktu z innej kategorii, niż ta, w której wystawiłeś ofertę.

Zapoznaj się z poniższym przykładem procesu powiązania oferty z produktem metodą PATCH.

Aktualne dane oferty, którą chcesz połączyć z produktem, pobierzesz za pomocą zasobu GET /sale/offers/{offerId}.

Przykładowy response:

{
    "id": "7680042192",
    "name": "Żarówka samochodowa LED",
    "category": {
        "id": "257359"
    },
    "product": null,
    "parameters": [
        {
            "id": "11323",
            "valuesIds": [
                "11323_1"
            ],
            "values": [],
            "rangeValue": null
        },
        {
            "id": "127634",
            "valuesIds": [
                "127634_3"
            ],
            "values": [],
            "rangeValue": null
        },
        {
            "id": "23910",
            "valuesIds": [
                "23910_13"
            ],
            "values": [],
            "rangeValue": null
        },
        {
            "id": "208602",
            "valuesIds": [
                "208602_794154"
            ],
            "values": [],
            "rangeValue": null
        },
        {
            "id": "202269",
            "valuesIds": [
                "202269_210981"
            ],
            "values": [],
            "rangeValue": null
        },
        {
            "id": "215858",
            "valuesIds": [],
            "values": [
                "BA15SSMD-Rx5"
            ],
            "rangeValue": null
        }
    ],
    "customParameters": null,
    "description": {
        "sections": [
            {
                "items": [
                    {
                        "type": "TEXT",
                        "content": "<h2>Żarówka LED Nieprzezroczysta matowa soczewka</h2>"
                    }
                ]
            },
            {
                "items": [
                    {
                        "type": "TEXT",
                        "content": "<p>Mój opis żarówki</p>"
                    }
                ]
            }
        ]
    },
    "compatibilityList": null,
    "tecdocSpecification": null,
    "images": [
        {
            "url": "https://a.allegroimg.com/original/11ea99/7efbfdb341d78d380f459672a95f"
        }
    ],

Dane konkretnego produktu uzyskasz za pomocą zasobu GET /sale/products/{productId}.

Przykładowy response:

{
    "id": "0475a562-fbbb-4260-b772-59a82aa96554",
    "name": "5 x 12v 24v 382 BA15S R5W 245207 Żarówka LED",
    "category": {
        "id": "257359",
        "similar": [
            {
                "id": "19028"
            }
        ]
    },
    "parameters": [
        {
            "id": "127634",
            "name": "Rodzaj",
            "valuesLabels": [
                "Brak informacji"
            ],
            "valuesIds": [
                "127634_384881"
            ],
            "values": null,
            "unit": null,
            "options": {
                "identifiesProduct": true
            }
        },
        {
            "id": "23910",
            "name": "Typ żarówki",
            "valuesLabels": [
                "P21"
            ],
            "valuesIds": [
                "23910_527293"
            ],
            "values": null,
            "unit": null,
            "options": {
                "identifiesProduct": true
            }
        },
        {
            "id": "208602",
            "name": "Producent",
            "valuesLabels": [
                "inny"
            ],
            "valuesIds": [
                "208602_236402"
            ],
            "values": null,
            "unit": null,
            "options": {
                "identifiesProduct": true
            }
        },
        {
            "id": "225693",
            "name": "EAN",
            "valuesLabels": [
                "5060620944660"
            ],
            "values": [
                "5060620944660"
            ],
            "unit": null,
            "options": {
                "identifiesProduct": true,
                "isGTIN": true
            }
        },
        {
            "id": "202269",
            "name": "Liczba sztuk",
            "valuesLabels": [
                "inna"
            ],
            "valuesIds": [
                "202269_210981"
            ],
            "values": null,
            "unit": null,
            "options": {
                "identifiesProduct": false
            }
        },
        {
            "id": "215858",
            "name": "Numer katalogowy części",
            "valuesLabels": [
                "BA15SSMD-Rx5"
            ],
            "values": [
                "BA15SSMD-Rx5"
            ],
            "unit": null,
            "options": {
                "identifiesProduct": false
            }
        }
    ],
    "images": [
        {
            "url": "https://a.allegroimg.com/original/119247/d50959f64c568b3cd1421c70f31e"
        },
        {
            "url": "https://a.allegroimg.com/original/1112b4/d03b421247169a2835880cc39d88"
        }
    ],
    "offerRequirements": {
        "parameters": []
    },
    "compatibilityList": null,
    "tecdocSpecification": null,
    "description": {
        "sections": [
            {
                "items": [
                    {
                        "type": "TEXT",
                        "content": "<h2>5 x CZERWONA 12v 24v 382 BA15S R5W 245207 Żarówka LED Nieprzezroczysta matowa soczewka</h2>"
                    }
                ]
            },
            {
                "items": [
                    {
                        "type": "TEXT",
                        "content": "<ul><li>Wrażliwe na brak polaryzacji 300</li>\n<li>lm na żarówkę 12-30V działają zarówno w samochodach 12 V, jak i ciężarówkach 24 V</li></ul>"
                    },
                    {
                        "type": "IMAGE",
                        "url": "https://a.allegroimg.com/original/119247/d50959f64c568b3cd1421c70f31e"
                    }
                ]
            },
            {
                "items": [
                    {
                        "type": "TEXT",
                        "content": "<p>Nazwa koloru:\nczerwony\n\n\n\n\n\n\n | \n\nNazwa rozmiaru:\nPakiet 5\n\n\n\n\n\n\n10-30 V napięcia roboczego, będzie działać zarówno na 12 v, jak i 24 v.\nNiezwykle jasne, niepolarne, super jasne, 6 x 2865 chipów SMD na żarówkę\nNieprzezroczysta konstrukcja zapewnia równomierny strumień światła!\nDostępne w kolorze czerwonym, chłodnym białym, bursztynowym \nNie są przyjazne dla Canbus i mogą pokazywać błąd zerwania żarówki na desce rozdzielczej\nPojedyncze włókno z przeciwległymi pinami 300 lm na żarówkę\nZgodne z numerami części:\nBA15S\n382\nP21\n207\n245\n1156\nR5W\nZwykle używane jako:\nŚwiatło stop lub tylne\nTylne światło przeciwmgielne\nPrzednie\nkierunkowskazy DRL\nZnaczniki boczne\nPrzednie światła postojowe</p>"
                    }
                ]
            }
        ]
    }
}

Następnie za pomocą: PATCH /sale/product-offers/{offerId} możesz edytować ofertę, przekazując wartość product.id.

Poniżej przykładowy request:

curl -X PATCH
‘https://api.allegro.pl/sale/product-offers/7680042192’
-H 'Authorization: Bearer {token}'
-H 'Accept: application/vnd.allegro.beta.v2+json'
-H 'Content-Type: application/vnd.allegro.beta.v2+json'
-d ’{
  "product": {
        "id": "0475a562-fbbb-4260-b772-59a82aa96554"
        }
  }'

Przykładowy response:

{
    "id": "7680042192",
    "name": "Żarówka samochodowa LED",
    "product": {
        "id": "0475a562-fbbb-4260-b772-59a82aa96554",
        "publication": {
            "status": "NOT_LISTED"
        }
    },
    "afterSalesServices": {
        "impliedWarranty": {
            "id": "f4f3541e-41c2-481f-938a-2a1b8c0ce65a"
        },
        "returnPolicy": {
            "id": "7068910b-29b9-449b-8ad0-99625a6312db"
        },
        "warranty": null
    },
    "payments": {
        "invoice": "NO_INVOICE"
    },
    "sellingMode": {
        "format": "BUY_NOW",
        "price": {
            "amount": 100,
            "currency": "PLN"
        },
        "startingPrice": null,
        "minimalPrice": null
    },
    "stock": {
        "available": 3,
        "unit": "UNIT"
    },
    "location": {
        "countryCode": "PL",
        "province": "WIELKOPOLSKIE",
        "city": "Poznań",
        "postCode": "60-166"
    },
    "delivery": {
        "shippingRates": {
            "id": "7dd8049c-1753-4842-8870-e29a2efc3d62"
        },
        "handlingTime": "PT48H",
        "additionalInfo": ""
    },
    "publication": {
        "duration": null,
        "status": "ACTIVE",
        "endedBy": null,
        "endingAt": null,
        "startingAt": null,
        "republish": false
    },
    "description": {
        "sections": [
            {
                "items": [
                    {
                        "type": "TEXT",
                        "content": "<h2>5 x CZERWONA 12v 24v 382 BA15S R5W 245207 Żarówka LED Nieprzezroczysta matowa soczewka</h2>"
                    }
                ]
            },
            {
                "items": [
                    {
                        "type": "TEXT",
                        "content": "<ul><li>Wrażliwe na brak polaryzacji 300</li>\n<li>lm na żarówkę 12-30V działają zarówno w samochodach 12 V, jak i ciężarówkach 24 V</li></ul>"
                    },
                    {
                        "type": "IMAGE",
                        "url": "https://a.allegroimg.allegrosandbox.pl/original/119247/d50959f64c568b3cd1421c70f31e"
                    }
                ]
            },
            {
                "items": [
                    {
                        "type": "TEXT",
                        "content": "<p>Nazwa koloru:\nczerwony\n\n\n\n\n\n\n | \n\nNazwa rozmiaru:\nPakiet 5\n\n\n\n\n\n\n10-30 V napięcia roboczego, będzie działać zarówno na 12 v, jak i 24 v.\nNiezwykle jasne, niepolarne, super jasne, 6 x 2865 chipów SMD na żarówkę\nNieprzezroczysta konstrukcja zapewnia równomierny strumień światła!\nDostępne w kolorze czerwonym, chłodnym białym, bursztynowym \nNie są przyjazne dla Canbus i mogą pokazywać błąd zerwania żarówki na desce rozdzielczej\nPojedyncze włókno z przeciwległymi pinami 300 lm na żarówkę\nZgodne z numerami części:\nBA15S\n382\nP21\n207\n245\n1156\nR5W\nZwykle używane jako:\nŚwiatło stop lub tylne\nTylne światło przeciwmgielne\nPrzednie\nkierunkowskazy DRL\nZnaczniki boczne\nPrzednie światła postojowe</p>"
                    }
                ]
            }
        ]
    },
    "validation": {
        "errors": [],
        "warnings": [],
        "validatedAt": "2021-03-16T14:01:53.434Z"
    },
    "createdAt": "2021-02-24T07:01:55Z",
    "updatedAt": "2021-03-16T14:01:53.793Z",
    "images": [
        "https://a.allegroimg.allegrosandbox.pl/original/119247/d50959f64c568b3cd1421c70f31e",
        "https://a.allegroimg.allegrosandbox.pl/original/1112b4/d03b421247169a2835880cc39d88"
    ],
    "external": null,
    "category": {
        "id": "257359"
    },
    "tax": {
        "percentage": null
    },
    "sizeTable": null,
    "discounts": {
        "wholesalePriceList": null
    }
}

Zwróć uwagę na pola, które uległy zmianie. Po połączeniu oferty z produktem, w response otrzymujesz product.id oraz nowe wartości pól: description i images, które pobraliśmy bezpośrednio z danych zawartych w produkcie.

Zmiana statusu oferty

Dzięki PATCH /sale/product-offers/{offerId} możesz także zmienić status oferty - jako osobna operacja lub w jednej operacji wraz z edycją oferty. Nie musisz dodatkowo korzystać z zasobu do publikacji oferty. Wystarczy, że w polu publication.status przekażesz odpowiednią wartość:

  • ACTIVE - aktywuj ofertę,
  • ENDED - zakończ ofertę.

Przykładowy request:

curl -X PATCH
‘https://api.allegro.pl/sale/product-offers/9531382307’
-H 'Authorization: Bearer {token}'
-H 'Accept: application/vnd.allegro.beta.v2+json'
-H 'Content-Type: application/vnd.allegro.beta.v2+json'
-d ’{
  "sellingMode": {
     "price": {
      "amount": "101",
      "currency": "PLN"
    }
  },
  "publication": {
        "status": "ENDED"
    }
}’

Gdy oferta została zakończona z powodu wyczerpania przedmiotów (w wyniku sprzedaży liczba sztuk spadła do 0), a status tej oferty ma wartość ENDED, to gdy edytujesz ofertę i podasz liczbę sztuk większą niż 0 (stock > 0) - oferta zostanie aktywowana.

information Ważne! Jeśli w strukturze żądania zawrzesz w polu status wartość ENDED, to zakończymy ofertę, nawet jeśli edycja innych pól się nie powiedzie.

Jeżeli oferta jest w statusie INACTIVE, to aby ją aktywować przekaż wartość ACTIVE w polu publication.status.

Przykładowy request:

curl -X PATCH
‘https://api.allegro.pl/sale/product-offers/9531382307’
-H 'Authorization: Bearer {token}'
-H 'Accept: application/vnd.allegro.beta.v2+json'
-H 'Content-Type: application/vnd.allegro.beta.v2+json'
-d ‘{
  "publication": {
        "status": "ACTIVE"
    }
}’

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: