19 kwietnia 2018
Grupowa edycja ofert - poszerzamy możliwości zasobu
Poszerzyliśmy możliwości zasobu do grupowej edycji ofert i draftów.
Obecnie dzięki zasobowi możesz grupowo przypisać:
- usługi dodatkowe
- cenniki dostaw
- tabele rozmiarów
- opcje fakturowania
- opcje promowania
- pogrubienie
- wyróżnienie
- podświetlenie
- oferta promowana na stronie kategorii
- pakiet promowania: wyróżnienie, podświetlenie i pogrubienie oferty
W przyszłości udostępnimy więcej możliwości w tym zasobie, o wszystkich zmianach dotyczących REST API Allegro informujemy tutaj.
Dla grupowej edycji ofert przygotowaliśmy nowe zasoby w Allegro REST API
- PUT /sale/offer-modification-commands/{commandId} - chcę wyedytować wiele ofert jednocześnie.
- GET /sale/offer-modification-commands/{commandId} - chcę się dowiedzieć przy ilu ofertach edycja zakończyła się sukcesem.
- GET /sale/offer-modification-commands/{commandId}/tasks - chcę otrzymać szczegółowy raport dla danej edycji ofert.
PUT /sale/offer-modification-commands/{commandId}
To zasób którym wyedytujesz wiele ofert na raz, m.in. przypiszesz cenniki dostaw i włączysz promowanie w wielu ofertach jednocześnie. Musisz być zalogowany jako sprzedawca, który wystawił te oferty.
Co to commandId?CommandId to wartość w formacie UUID (universally unique identifier). Jest to globalnie unikatowy identyfikator, który składa się z 32 liczb szesnastkowych (np.: 21ae4ed1-eab7-34ea-b605-cf2e22b5eed3)
WAŻNE!Możesz grupowo zmienić wszystkie te elementy w podanych ofertach, bądź tylko jeden wybrany. Przykładowo, jeśli chcesz grupowo przypisać do ofert tylko cennik dostawy to nie przesyłaj pozostałych pól.
Przykładowy request:
curl -X PUT \
'https://api.allegro.pl/sale/offer-modification-commands/{commandId}'
-H 'authorization: Bearer {token}' \
-H 'content-type: application/vnd.allegro.public.v1+json'
{
"modification": {
"additionalServicesGroup": { -- określa grupę usług dodatkowych
jaką chcesz przypisać do ofert
"id": "240e22a8-9e57-4fc2-b386-8b5ac1aeaa34" --identyfikator grupy usług dodatkowych,
pobierzesz go przy pomocy metody:
[GET /sale/offer-additional-services/groups](https://developer.allegro.pl/documentation/#operation/getListOfAdditionalServicesGroupsUsingGET)
}
},
"delivery": {
"shippingRates": {
"id": "4b9ad5b9-7ee9-409b-86f5-578672c13df8" -- numer identyfikacyjny
cennika dostawy, pobierzesz go
za pomocą metody
[GET /sale/shipping-rates?seller.id={Seller\_ID}.](https://developer.allegro.pl/documentation/#operation/getListOfShippingRatestUsingGET)
Dla formatu sprzedaży typu ADVERTISEMENT
(ogłoszenie) zostaw to
pole puste - prześlij "delivery": null
}
"payments": {
"invoice": "string" -- informacja o fakturze;
obecnie dostępne są 4 wartości: VAT (faktura VAT);
VAT_MARGIN (faktura VAT marża);
WITHOUT_VAT (faktura bez VAT);
NO_INVOICE (nie wystawiam faktury)
},
"promotion": { -- opcje promowania,
przy każdej z opcji należy wybrać
jedną z wartości: false (opcja nieaktywna);
true (opcja aktywna)
"bold": true, -- pogrubienie
"departmentPage": true, -- oferta promowana na stronie kategorii
"emphasized": true, -- wyróżnienie
"emphasizedHighlightBoldPackage": true, -- pakiet promowania: wyróżnienie,
podświetlenie i pogrubienie oferty
"highlight": true -- podświetlenie
},
"sizeTable": {
"id": "string" -- identyfikator tabeli rozmiarów,
pobierzesz go przy pomocy metody
[GET /sale/size-tables?user.id={Seller\_ID}](https://developer.allegro.pl/documentation/#operation/getTablesUsingGET)
}
},
"offerCriteria": [
{
"type": "CONTAINS_OFFERS", -- wymagane, obecnie dostępna jest jedna
wartość CONTAINS_OFFERS (określa
oferty, które zostaną wyedytowane)
"offers": [
{ "id": "4781525177" }-- wymagane, identyfikatory edytowanych ofert
]
}
]
}
Przykładowy response:
{
"id": "30354f98-6788-4db6-83c4-1e7e404dc137", -- {commandId}
"taskCount": {
"total": 0, -- ogólna liczba ofert z zaplanowaną
zmianą
"success": 0, -- ogólna liczba ofert przy których
zmiany są wprowadzone
"failed": 0 -- ogólna liczba ofert przy których
zmiany nie są wprowadzone
}
}
GET /sale/offer-modification-commands/{commandId}
Przy pomocy tego zasobu dowiesz się ile ofert było objętych edycją w ramach jednego {commandId}. Otrzymasz również zestawienie, przy ilu ofertach edycja przebiegła pomyślnie, a przy ilu zakończyła się niepowodzeniem. Musisz być zalogowany jako sprzedawca, który wystawił te oferty.
Przykładowy request:
curl -X GET \
'https://api.allegro.pl/sale/offer-modification-commands/{commandId}'
-H 'authorization: Bearer {token}' \
-H 'accept: application/vnd.allegro.public.v1+json’
Przykładowy response:
{
"id": "6666c97f-0d32-4747-8a17-1da38f9499de",
"taskCount": {
"total": 1, -- ogólna liczba ofert z zaplanowaną
zmianą
"success": 1, -- ogólna liczba ofert przy których
zmiany zostały wprowadzone
"failed": 0 -- ogólna liczba ofert przy których
zmiany nie zostały wprowadzone
}
}
GET /sale/offer-modification-commands/{commandId}/tasks
Tym zasobem pobierzesz szczegółowe zestawienie zmian w wielu ofertach dla danego {commandId}. Musisz być zalogowany jako sprzedawca, który wystawił te oferty.
Przykładowy request:
curl -X GET \
'https://api.allegro.pl/sale/offer-modification-commands/{commandId}/tasks'
-H 'authorization: Bearer {token}' \
-H 'accept: application/vnd.allegro.public.v1+json’
Przykładowy response:
{
"tasks": [
{
"offer": {
"id": "4781525177" -- identyfikator oferty
},
"message": "",
"status": "SUCCESS", -- status zadania
"scheduledAt": "2018-04-19T14:20:40.03+02:00",
"finishedAt": "2018-04-19T14:20:40.662+02:00",
"field": "bold", -- pola, które zmieniliśmy
"field": "departmentPage",
"field": "emphasized",
"field": “emphasizedHighlightBoldPackage”,
"highlight": true -- podświetlenie
}
]
}