Funkcje Webapi
Większość wywoływanych funkcji wymaga parametrów. Muszą być one podane w postaci tabeli podczas wywoływanie funkcji. Każda funkcja zwraca tabelę z danymi według poniższej instrukcji. Wyjątkiem jest sytuacja, gdy wywołanie jest błędne, lub procedura nie znalazła żądanych danych, lub nie mogła wykonać polecenia. W takim przypadku dane zwracane mają postać tabeli, w których najważniejszym elementem jest pole o nazwie 'error', zawierające numer wykrytego błędu. W większości stosowanych interfejsów otrzymamy dodatkowo pole 'error_description', zawierające krótki opis błędu.
Część funkcji dotycząca odczytywania produktów, kategorii, producentów i innych danych, które są jawne dla normalnego użytkownika, jest dostępna dla każdego, kto wyśle odpowiednie zapytanie do systemu API. Pozostałe funkcje, które dotyczą danych dostępnych jedynie dla administratorów sklepu, lub też zapisu do sklepu jakichkolwiek parametrów, dostępne są po zalogowaniu się do serwisu. Do logowania należy podać takie same dane, jakie podaje się podczas logowania się do panelu administracyjnego sklepu.
Wyjaśnienie pojęć
W dokumentacji pojawiają się pojęcia lub typy danych wymagające dodatkowego komentarza. Poniżej znajduje się ich wyjaśnienie:
- znacznik opcji
Jest to wartość typu string, zawierająca wybrane opcję produktu. Może on mieć następującą postać:
PPP
PPP{OPT}VAL
PPP{OPT_1}VAL_1{OPT_2}VAL_2
gdzie
PPP - identyfikator produktu
OPT - identyfikator opcji
VAL - identyfikator wartości opcji
- dana wejściowa (InputField)
Jest to tablica w postaci:
name - nazwa opcji
value - wartość opcji
Pole jest wykorzystywane podczas przekazywania danych przeznaczonych do zapisu poprzez WEBAPI.
- produkt dodawany (InputProduct)
Jest to tablica w postaci:
id - identyfikator produktu
quantity - ilość sztuk produktu
Pole jest wykorzystywane podczas dodawania produktów do zamówienia poprzez WEBAPI.
Lista metod sStore API:
---------------------------------------------------------------------------------
doLogin
Funkcja pozwala zalogować się do systemu API.
Parametry wejściowe:
- user (string - wymagane) - nazwa użytkownika
- password (string - wymagane) - hasło użytkownika
Parametry wyjściowe:
- session_id (string) - identyfikator sesji wymagany podczas wywoływania niektórych innych funkcji
---------------------------------------------------------------------------------
doLogout
Funkcja pozwala wylogować się z systemu API uniemożliwiając dalsze korzystanie z systemu.
Parametry wejściowe:
- session_id (string - wymagane) - identyfikator sesji otrzymany po zalogowaniu
Parametry wyjściowe:
(brak)
---------------------------------------------------------------------------------
doGetProductInfo
Funkcja pozwala pobrać informację o jednym produkcie
Parametry wejściowe:
- product_id (int - wymagane) - identyfikator produktu
Parametry wyjściowe:
Element typu ProductInfo, zawierający następujące dane:
- product_id (int) - identyfikator produktu
- manufacturer_id (int) - identyfikator producenta
- price (float) - cena netto produktu
- tax_id (int) - identyfikator stawki podatku
- unit_id (int) - identyfikator jednostki miary
- unit_value (float) - wartość jednostki miary (ilość produktu w opakowaniu)
- add_date (string) - data dodania produktu do sklepu
- edit_date (string) - data ostatniej modyfikacji produktu
- model (string) - nazwa modelu lub kod produktu
- pkwiu (string) - wartość PKWiU
- weight (float) - waga produktu
- status (int) - informacja czy produkt jest włączony i dostępny, czy wyłączony
- name (string) - nazwa produktu
- description (string) - opis produktu
- quantity_mode (int) - informacja o sposobie ustalania ilości produktu (0 - ustalony dla produktu, 1 - zależny od opcji, 2 - nieokreślony)
- quantity (array) - tabela zawierająca ustalone ilości w postaci: (sign (string) - znacznik opcji, quant (int) - ilość)
- images (array) - tabela zawierająca zdjęcia produktu w postaci: (image (string) - zdjęcie produktu)
- attributes (array) - tabela zawierająca atrybuty produktu w postaci: (name (string) - nazwa atrybutu,
value (string) - wartość atrybutu)
---------------------------------------------------------------------------------
doGetProductsList
Funkcja pozwalająca pobrać listę produktów według wskazanych kryteriów
Parametry wejściowe:
- category_id (int - wymagane) - identyfikator kategorii, z której należy pobrać produkty (może być 0 dla kategorii głównej)
- available (int) - Wartość 1 pozwala pobrać tylko produkty dostępne (włączone i z ilością większą od zera lub niekreśloną)
- package (int) - ilość produktów do pobrania na raz (domyślnie 50)
- offset (int) - numer kolejnej porcji danych (domyślnie 0 = pierwsza porcja)
Parametry wyjściowe:
Tablica typu ArrayOfProductInfo, zawierająca dane typu ProductInfo. opis tych danych znajduje się w opisie metody doGetProductInfo.
---------------------------------------------------------------------------------
doGetManufacturer
Funkcja pozwala pobrać informację o jednym producencie
Parametry wejściowe:
- manufacturer_id (int - wymagane) - identyfikator producenta
Parametry wyjściowe:
Element typu ManuInfo, zawierający następujące dane:
- manufacturer_id (int) - identyfikator producenta
- manufacturer_name (string) - nazwa producenta
---------------------------------------------------------------------------------
doGetManufacturersList
Funkcja pozwalająca pobrać listę producentów.
Parametry wejściowe:
(brak)
Parametry wyjściowe:
Tablica typu ArrayOfManuInfo, zawierająca dane typu ManuInfo. opis tych danych znajduje się w opisie metody doGetManufacturer.
---------------------------------------------------------------------------------
doGetTaxRate
Funkcja pozwala pobrać informację o stawce podatku według podanego identyfikatora
Parametry wejściowe:
- tax_id (int - wymagane) - identyfikator stawki podatku
Parametry wyjściowe:
Element typu TaxInfo, zawierający następujące dane:
- tax_id (int) - identyfikator stawki podatku
- tax_zone (int) - identyfikator strefy podatkowej
- tax_rate (float) - stawka podatku wyrażona w procentach
---------------------------------------------------------------------------------
doGetTaxesList
Funkcja pozwalająca pobrać listę stawek podatków
Parametry wejściowe:
- zone_id (int - wymagane) - identyfikator strefy podatkowej
Parametry wyjściowe:
Tablica typu ArrayOfTaxInfo, zawierająca dane typu TaxInfo. opis tych danych znajduje się w opisie metody doGetTaxRate.
---------------------------------------------------------------------------------
doGetUnit
Funkcja pozwala pobrać informację o jednostce miary według podanego identyfikatora
Parametry wejściowe:
- unit_id (int - wymagane) - identyfikator jednostki miary
Parametry wyjściowe:
Element typu UnitInfo, zawierający następujące dane:
- unit_id (int) - identyfikator jednostki miary
- unit_name (string) - nazwa lub symbol jednostki miary
---------------------------------------------------------------------------------
doGetUnitsList
Funkcja pozwalająca pobrać listę jednostek miary
Parametry wejściowe:
(brak)
Parametry wyjściowe:
Tablica typu ArrayOfUnitInfo, zawierająca dane typu UnitInfo. opis tych danych znajduje się w opisie metody doGetUnit.
---------------------------------------------------------------------------------
doGetCat
Funkcja pozwala pobrać informację o kategorii produktów
Parametry wejściowe:
- cat_id (int - wymagane) - identyfikator kategorii
Parametry wyjściowe:
Element typu CatInfo, zawierający następujące dane:
- cat_id (int) - identyfikator kategorii
- cat_parent (int) - identyfikator kategorii nadrzędnej (lub 0 jeśli kategoria jest na najwyższym poziomie)
- cat_name (string) - nazwa kategorii
---------------------------------------------------------------------------------
doGetCatsList
Funkcja pozwalająca pobrać listę kategorii produktów
Parametry wejściowe:
- parent_id (int - wymagane) - identyfikator kategorii nadrzędnej (lub 0 jeśli kategoria ma być na najwyższym poziomie)
Parametry wyjściowe:
Tablica typu ArrayOfCatInfo, zawierająca dane typu CatInfo. opis tych danych znajduje się w opisie metody doGetCat.
---------------------------------------------------------------------------------
doGetOptions
Funkcja pozwalająca pobrać listę opcji produktów oraz przyporządkowanych im wartości
Parametry wejściowe:
- option_id (int) - identyfikator opcji
- product_id (int) - identyfikator produktu
- cat_id (int) - identyfikator kategorii
Parametry wyjściowe:
Tablica zawierająca następujące dane:
- option_id (int) - identyfikator opcji
- option_name (string) - nazwa opcji
- values (array) - tablica zawierająca listę możliwych wartości w postaci: (value_id (int) - identyfikator wartości, value_name (string) - nazwa wartości)
---------------------------------------------------------------------------------
doGetOptionsFromString
Funkcja pozwalająca pobrać dane o wybranych wartościach opcji produktu, na podstawie znacznika opcji
Parametry wejściowe:
- option_string (string - wymagane) - znacznik opcji
Parametry wyjściowe:
Tablica zawierająca następujące dane:
- product_id (int) - identyfikator produktu
- options (array) - tablica zawierająca listę wybranych wartości w postaci: (option_id (int) - identyfikator opcji, option_name (string) - nazwa opcji, value_id (int) - identyfikator wartości, value_name (string) - nazwa wartości)
---------------------------------------------------------------------------------
doGetOrderInfo
Funkcja pozwala pobrać informację o zamówieniu
Parametry wejściowe:
- session_id (string - wymagane) - identyfikator sesji
- order_id (int - wymagane) - identyfikator zamówienia
Parametry wyjściowe:
Element typu OrderInfo, zawierający następujące dane:
- order_id (int) - identyfikator zamówienia
- customer_id (int) - identyfikator klienta
- customer_name (string) - nazwa lub imię i nazwisko klienta
- customer_company (string) - nazwa firmy klienta
- customer_address (string) - adres klienta
- delivery_name (string) - nazwa lub imię i nazwisko klienta na potrzeby wysyłki
- delivery_company (string) - nazwa firmy klienta na potrzeby wysyłki
- delivery_address (string) - adres klienta na potrzeby wysyłki
- billing_name (string) - nazwa lub imię i nazwisko klienta na potrzeby faktury
- billing_company (string) - nazwa firmy klienta na potrzeby faktury
- billing_address (string) - adres klienta na potrzeby faktury
- customer_email (string) - adres e-mail klienta
- customer_phone (string) - numer telefonu klienta
- payment (string) - sposób zapłaty
- order_date (string) - data złożenia zamówienia
- status (int) - identyfikator statusu zamówienia
- shipping_method (string) - sposób wysyłki
- shipping_cost (float) - koszt wysyłki brutto
- total_cost (float) - całkowity koszt zamówienia
- weight (float) - całkowita masa przesyłki uwzględniająca masę produktów i opakowania zbiorczego
- info (string) - informacja dodatkowa wpisana przez klienta
- products (array) - tablica zawierająca listę produktów w postaci: (product_id (int) - identyfikator produktu, quantity (int) - ilość produktów, options (string) - znacznik opcji, price (float) - cena netto produktu, tax (float) - stawka podatku wyrażona w procentach, weight (float) - masa produktu);
---------------------------------------------------------------------------------
doGetOrdersList
Funkcja pozwalająca pobrać listę zamówień według wskazanych kryteriów
Parametry wejściowe:
- session_id (string - wymagane) - identyfikator sesji
- customer_id (int) - identyfikator klienta
- status (int) - identyfikator statusu zamówienia
- package (int) - ilość zamówień do pobrania na raz (domyślnie 50)
- offset (int) - numer kolejnej porcji danych (domyślnie 0 = pierwsza porcja)
Parametry wyjściowe:
Tablica typu ArrayOfOrderInfo, zawierająca dane typu OrderInfo. opis tych danych znajduje się w opisie metody doGetOrderInfo.
---------------------------------------------------------------------------------
doGetOrderStatus
Funkcja pozwala pobrać informację o statusie zamówienia według podanego identyfikatora
Parametry wejściowe:
- session_id (string - wymagane) - identyfikator sesji
- status_id (int - wymagane) - identyfikator statusu zamówienia
Parametry wyjściowe:
Element typu OrderStatusInfo, zawierający następujące dane:
- status_id (int) - identyfikator statusu zamówienia
- status_name (string) - nazwa statusu zamówienia
---------------------------------------------------------------------------------
doGetOrderStatusesList
Funkcja pozwalająca pobrać listę statusów zamówienia
Parametry wejściowe:
- session_id (string - wymagane) - identyfikator sesji
Parametry wyjściowe:
Tablica typu ArrayOfOrderStatuses, zawierająca dane typu OrderStatusInfo. opis tych danych znajduje się w opisie metody doGetOrderStatus.
---------------------------------------------------------------------------------
doGetCustomer
Funkcja pozwala pobrać informację o kliencie
Parametry wejściowe:
- session_id (string - wymagane) - identyfikator sesji
- customer_id (int - wymagane) - identyfikator klienta
Parametry wyjściowe:
- customer_id (int) - identyfikator klienta
- firstname (string) - imię klienta
- lastname (string) - nazwisko klienta
- email (string) - adres e-mail klienta
- phone (string) - numer telefonu klienta
- company (string) - nazwa firmy klienta
- street (string) - ulica i numer domu klienta
- postcode (string) - kod pocztowy
- city (string) - miejscowość
- nip (string) - numer NIP klienta
--------------------------------------------------------------
doSetProductParams
Funkcja pozwala zmodyfikować wybrane parametry produktu
Parametry wejściowe:
- session_id (string - wymagane) - identyfikator sesji
- product_id (int - wymagane) - identyfikator produktu
- quantity_mode (int) - informacja o sposobie ustalania ilości produktu (0 - ustalony dla produktu, 1 - zależny od opcji, 2 - nieokreślony)
- quantity (array) - tabela zawierająca ustalone ilości w postaci: (sign (string) - znacznik opcji, quant (int) - ilość). Wyjątkowo dla quantity mode = 0, to pole może mieć wartość typu int.
- model (string) - nazwa modelu lub kod produktu
- pkwiu (string) - wartość PKWiU
- price (float) - cena netto produktu
- profit (float) - marża (narzut) na cenę produktu wyrażona w procentach
- weight (float) - waga produktu wyrażona w kilogramach
- status (int) - informacja czy produkt jest włączony i dostępny, czy wyłączony
Parametry wyjściowe:
- product_id (int) - identyfikator edytowanego produktu, lub 0 w przypadku, gdyby edycja się nie powiodła
--------------------------------------------------------------
doInsertProduct
Funkcja dodająca produkt do sklepu
Parametry wejściowe:
- session_id (string - wymagane) - identyfikator sesji
- fields (array of InputField - wymagane) - tablica z polami zawierającymi dane wejściowe. Lista dostępnych danych jest następująca:
* category_id (int - wymagane) - identyfikator kategorii
* name (string - wymagane) - nazwa produktu
* price (float - wymagane) - cena netto
* quantity_mode (int) - informacja o sposobie ustalania ilości produktu (0 - ustalony dla produktu, 1 - zależny od opcji, 2 - nieokreślony)
* quantity (array) - tabela zawierająca ustalone ilości w postaci: (sign (string) - znacznik opcji, quant (int) - ilość). Wyjątkowo dla quantity mode = 0, to pole może mieć wartość typu int.
* model (string) - nazwa modelu lub kod produktu
* pkwiu (string) - wartość PKWiU
* profit (float) - marża (narzut) na cenę produktu wyrażona w procentach
* weight (float) - waga produktu wyrażona w kilogramach
* status (int) - informacja czy produkt jest włączony i dostępny, czy wyłączony
* tax_id (int) - identyfikator stawki podatku
* manufacturer_id (int) - identyfikator producenta
* unit_id (int) - identyfikator jednostki miary
* unit_value (float) - wartość jednostki miary (ilość produktu w opakowaniu)
* description (string) - opis produktu
* images (array) - tabela zawierająca zdjęcia produktu w postaci: (image (string) - link do zdjęcia produktu)
Parametry wyjściowe:
- product_id (int) - identyfikator dodanego produktu lub 0 w przypadku błędu
--------------------------------------------------------------
doInsertCustomer
Funkcja dodająca klienta do sklepu
Parametry wejściowe:
- session_id (string - wymagane) - identyfikator sesji
- fields (array of InputField - wymagane) - tablica z polami zawierającymi dane wejściowe. Lista dostępnych danych jest następująca:
* firstname (string - wymagane) - imię klienta
* lastname (string - wymagane) - nazwisko klienta
* email (string - wymagane) - email klienta
* phone (string - wymagane) - numer telefonu klienta
* street (string - wymagane) - ulica z numerem domu
* postcode (string - wymagane) - kod pocztowy
* city (string - wymagane) - miejscowość
* country (int - wymagane) - identyfikator kraju
* nip (string) - numer NIP lub PESEL
* newsletter (int) - informacja o dopisaniu do newslettera (1 - wpisany, 0 - nie wpisany)
* password (string) - hasło dla klienta. Nie podanie tego parametru jest równoznaczne z zakupem bez rejestracji.
Parametry wyjściowe:
- customer_id (int) - identyfikator dodanego klienta, lub 0 w przypadku błędu
--------------------------------------------------------------
doInsertOrder
Funkcja dodająca zamówienie do sklepu
Parametry wejściowe:
- session_id (string - wymagane) - identyfikator sesji
- fields (array of InputField - wymagane) - tablica z polami zawierającymi dane wejściowe. Lista dostępnych danych jest następująca:
* customer_id (int - wymagane) - identyfikator klienta
* payment (string - wymagane) - nazwa sposobu płatności
* shipping_id (int - wymagane) - identyfikator sposobu przesyłki
* shipping_cost (float - wymagane) - koszt przesyłki
* shipping_tax (float - wymagane) - wartość procentowa podatku za przesyłkę
- products (array of InputProduct - wymagane) - tablica z danymi produktów w zamówieniu
Parametry wyjściowe:
- order_id (int) - identyfikator dodanego zamówienia, lub 0 w przypadku błędu
--------------------------------------------------------------
doSetOrderStatus
Funkcja ustawiająca status zamówienia
Parametry wejściowe:
- session_id (string - wymagane) - identyfikator sesji
- order_id (int - wymagane) - numer zamówienia
- status_id (int - wymagane) - numer statusu
- comment (string) - komentarz do zmiany statusu
Parametry wyjściowe:
- order_status (string) - nazwa użytego statusu zamówienia
--------------------------------------------------------------
doGetTotalQuantity
Funkcja zwracająca całkowitą ilość produktu
Parametry wejściowe:
- product_id (int - wymagane) - identyfikator produktu
Parametry wyjściowe:
- quant (int) - ilość produktu