











































Aby korzystać z API należy najpierw dodać aplikację i wygenerować klucz api (Api Key) w panelu administracyjnym sklepu Ustawienia / Integracje / Pozostałe / API Selesto, przykładowy adres dla sklepu testowego (należy podmienić hosta):
https://test0.selesto.eu/admin/settings?section=api
Autoryzacja poszczególnych requestów odbywa się poprzez dodanie nagłówka (HTTP header) Api-Key, którego wartością jest klucz utworzony w panelu administracyjnym, np.:
Api-Key: sk_OZui6PyniOEcifNC8qJJDhRY3BKc721FSg0ATPUmRu2tqB2ST2m4zDL3CNI6XPEi
Niektóre zasoby (oznaczone tagiem "P"), które domyślnie zwracają wszystkie wyniki, dostępne są także w wersji stronicowanej.
Żeby zwrócone wyniki były stronicowane, należy do zapytania dołączyć informacje w parametrach (query)
Lista wyników zostanie zapakowana w informacje o paginacji, przykład odpowiedzi znajduje się po prawej stronie.
Zostanie zwrócona lista potwierdzonych zamówień z wybranego okresu. Jest dostępne filtrowanie oraz sortowanie
Endpoint wspiera paginację
Zostanie zwrócona lista możliwych statusów dla zamówień w sklepie
Zwraca pojedyncze zamówienie o wybranym _id lub numerze no
Aktualizuje zamówienie o wybranym _id / no lub externalId
Analogicznie zmianie ulega wtedy klucz w payload.
Dodaje zamówienie
Zwraca etykietę przesyłki w zamówieniu o _id i indeksie paczki np:
/api/app/orders/labels/6a0c9195d4301e1057fb7f39|0
Dodaje przesyłkę do zamówienia o _id lub numerze (no)
Lista wspieranych typów:
inpost_locker, inpost_locker_cod, inpost_locker_ret, inpost_courier, inpost_courier_cod, inpost_alcohol
dpd_courier, dpd_courier_cod, dpd_courier_food, dpd_locker, dpd_points
ups_courier, ups_courier_cod, ups_locker
orlen_locker
dhl_locker, dhl_courier, dhl_courier_cod
gls_locker, gls_courier, gls_courier_cod
Zostanie zwrócona lista potwierdzonych zwrotów z wybranego okresu. Jest dostępne filtrowanie oraz sortowanie
Endpoint wspiera paginację
Zostanie zwrócona lista możliwych statusów dla zwrotów w sklepie
Zwraca pojedynczy zwrot o wybranym _id lub numerze no
Zostanie zwrócona lista produktów
Endpoint wspiera paginację
Zwraca pojedynczy produkt o wybranym _id
Zostanie zwrócona lista stanów magazynowych dla wszystkich produktów
Parametr type decyduje czy lista wariantów jest zagnieżdżona (type=nested) w liście produktów czy nie (type=flat).
Przykładowy wynik pokazuje type=flat
Endpoint wspiera dodanie / zmianę lub dodanie i zmianę w zależności od parametru type:
ONLY_ADD - tylko dodaje, jeśli produkt nie istnieje
ONLY_UPDATE - tylko aktualizuje, ignoruje nieistniejące produkty
ADD_AND_UPDATE - dodaje lub aktualizuje, gdy produkt już istnieje
Dane produktów należy przekazać w liście updates
Aktualizacja opiera się o pole updateConf które zawiera mapę pól, które będą aktualizowane, poniżej lista możliwości:
name, url, seoTitle, code, code2, code3, price, wholesalePrice, images, description, manufacturer, categories, attributes, variants, stock, langActive
Sposób matchowania z istniejącymi produktami:
- Jeśli w payload pierwszego produktu jest pole _id to do wyszukiwania produktu zostanie użyte id wewnętrzne selesto (_id)
- Jeśli w payload pierwszego produktu jest pole extId to do wyszukiwania produktu zostanie użyte zewnętrzne id produktu (extId)
Endpoint wspiera masową aktualizację w dwóch trybach: nested | flat
W przykładzie zagnieżdżonym PROD_1 to identyfikator produktu, a VAR_1, VAR_2 to bezpośrednio identyfikator wariantu.
Jeśli identyfikatory wariantów są unikalne w obrębie sklepu, można stosować tryb flat.
Identyfikatorem produktu może być:
_id - id Selesto
extId - id systemu zewnętrznego (np. produkt z importu)
code, code2, code3 - kod (na ustawiony na poziomie produktu)
Dla wariantu identyfikatorem może być:
hash - variantHash Selesto (tylko w trybie nested, bo variantHash nie jest unikalny w obrębie wszystkich produktów)
extId - id systemu zewnętrznego dla wariantu
code, code2, code3 - kod (na ustawiony na poziomie wariantu, screen poniżej)
Endpoint wspiera masową aktualizację cen
Można przekazać wartość discount inną niż 0. Wtedy to jest procentowa obniżka. System sam wyliczy cenę netto i brutto po obniżce, więc należy przekazać cenę brutto podstawową (przed obniżką).
Identyfikatorem produktu może być:
_id - id Selesto
extId - id systemu zewnętrznego (np. produkt z importu)
code, code2, code3 - kod (na ustawiony na poziomie produktu)
Zostanie zwrócona lista atrybutów
Atrybuty sortowane są po updatedAt (data ostatniej zmiany) malejąco
Endpoint wspiera paginację
Endpoint wspiera dodanie / zmianę lub dodanie i zmianę w zależności od parametru type:
ONLY_ADD - tylko dodaje, jeśli atrybut nie istnieje
ONLY_UPDATE - tylko aktualizuje, ignoruje nieistniejące atrybuty
ADD_AND_UPDATE - dodaje lub aktualizuje, gdy atrybut już istnieje
Dane atrybutów należy przekazać w liście updates
Aktualizacja opiera się o pole updateConf które zawiera mapę pól, które będą aktualizowane, poniżej lista możliwości:
extId, name, values, valId, type, displayType, productDisplayType
Sposób matchowania z istniejącymi atrybutami:
- Jeśli w payload pierwszego atrybutu jest pole _id to do wyszukiwania atrybutu zostanie użyte id wewnętrzne Selesto (_id)
- Jeśli w payload pierwszego atrybutu jest pole extId to do wyszukiwania atrybutu zostanie użyte zewnętrzne id atrybutu (extId)
Zostanie zwrócona lista kategorii
Kategorie sortowane są po updatedAt (data ostatniej zmiany) malejąco
Endpoint wspiera paginację
Endpoint wspiera dodanie / zmianę lub dodanie i zmianę w zależności od parametru type:
ONLY_ADD - tylko dodaje, jeśli kategoria nie istnieje
ONLY_UPDATE - tylko aktualizuje, ignoruje nieistniejące kategorie
ADD_AND_UPDATE - dodaje lub aktualizuje, gdy kategoria już istnieje
Dane kategorii należy przekazać w liście updates
Aktualizacja opiera się o pole updateConf które zawiera mapę pól, które będą aktualizowane, poniżej lista możliwości:
extId, parentId, hierarchy, order, origin, name, description, description2, canonical, seoMetaDescription, seoMetaTitle
Sposób matchowania z istniejącymi kategoriami:
- Jeśli w payload pierwszej kategorii jest pole _id to do wyszukiwania kategorii zostanie użyte id wewnętrzne Selesto (_id)
- Jeśli w payload pierwszej kategorii jest pole extId to do wyszukiwania kategorii zostanie użyte zewnętrzne id kategorii (extId)
Zostanie zwrócona lista grup produktów
Grupy sortowane są po updatedAt (data ostatniej zmiany) malejąco
Endpoint wspiera paginację
Endpoint wspiera dodanie / zmianę lub dodanie i zmianę w zależności od parametru type:
ONLY_ADD - tylko dodaje, jeśli grupa nie istnieje
ONLY_UPDATE - tylko aktualizuje, ignoruje nieistniejące grupy
ADD_AND_UPDATE - dodaje lub aktualizuje, gdy grupa już istnieje
Dane grupy należy przekazać w liście updates
Aktualizacja opiera się o pole updateConf które zawiera mapę pól, które będą aktualizowane, poniżej lista możliwości:
extId, name, description, description2, canonical, seoMetaDescription, seoMetaTitle, products
Sposób matchowania z istniejącymi grupami:
- Jeśli w payload pierwszej grupy jest pole _id to do wyszukiwania grupy zostanie użyte id wewnętrzne Selesto (_id)
- Jeśli w payload pierwszej grupy jest pole extId to do wyszukiwania grupy zostanie użyte zewnętrzne id grupy (extId)
Zostanie zwrócona lista producentów
Producenci sortowani są po updatedAt (data ostatniej zmiany) malejąco
Endpoint wspiera paginację
Endpoint wspiera dodanie / zmianę lub dodanie i zmianę w zależności od parametru type:
ONLY_ADD - tylko dodaje, jeśli producent nie istnieje
ONLY_UPDATE - tylko aktualizuje, ignoruje nieistniejących producentów
ADD_AND_UPDATE - dodaje lub aktualizuje, gdy producent już istnieje
Dane producenta należy przekazać w liście updates
Aktualizacja opiera się o pole updateConf które zawiera mapę pól, które będą aktualizowane, poniżej lista możliwości:
extId, name, description, description2, canonical, seoMetaDescription, seoMetaTitle
Sposób matchowania z istniejącymi producentami:
- Jeśli w payload pierwszego producenta jest pole _id to do wyszukiwania producenta zostanie użyte id wewnętrzne Selesto (_id)
- Jeśli w payload pierwszego producenta jest pole extId to do wyszukiwania producenta zostanie użyte zewnętrzne id producenta (extId)