Ładowanie / przesyłanie danych przez API Elbuz
API zapewnia dostęp do informacji przechowywanych w bazie danych oprogramowania Elbuz. Pozycje można pobierać, dodawać, aktualizować i usuwać.
Format wymiany, uwierzytelnianie
- Do interakcji używany jest format JSON.
- Żądania używają metody POST HTTP.
- W celu uwierzytelnienia do uzyskania tokena używane są nazwa użytkownika i hasło.
Podstawowe informacje
Ograniczenia dostępu
- Dostęp API ze wskazaniem adresów IP, z których możliwy jest dostęp.
- Tryb tylko do odczytu (blokuje dostęp do zmiany danych).
- Według liczby żądań - nie więcej niż 30 połączeń w ciągu 60 sekund.
Paginacja - paginacja
Dane wyjściowe żądanych danych są podzielone na strony. Maksymalna liczba wpisów zależy od typu elementu, domyślnie 100 wpisów na stronę. Parametr „page” służy do określenia numeru strony.
Podczas odpowiadania generowane są „meta” informacje, na przykład:
[meta] => tablica ( [zakres_przedmiotu] => kategoria [total_row] => 474 [suma_stron] => 5 [następna_strona] => 2 [aktualna_strona] => 1 [czas_żądania] => 00:00:00 )
Opis metainformacji:
- item_scope - typ żądanego elementu
- total_row - całkowita liczba elementów
- page_total - całkowita liczba stron
- page_next - numer następnej strony
- page_current - bieżąca strona
- request_time - czas potrzebny na uzyskanie informacji
Dobór elementów
W zależności od typu elementu dostępne są różne parametry, które ograniczają wybór danych, na przykład możesz otrzymać produkty tylko z określonej kategorii, w tym celu musisz przekazać parametr category_id, w którym określasz ID kategorii.
Ograniczenie pól wyjściowych
System pozwala na zwiększenie szybkości pracy nad wymianą informacji, otrzymując tylko te dane, których potrzebujesz. Na przykład karta produktu może zawierać 150 pól, podczas gdy potrzebujesz tylko 10 z nich, możesz określić zestaw pól, których potrzebujesz podczas żądania danych, co znacznie zmniejsza ilość przesyłanych danych i zwiększa szybkość zarówno odpowiedzi, jak i czas na dalsze przetwarzanie tych informacji w Twojej witrynie. W tym celu wykorzystywany jest parametr limit_field, w którym należy wymienić potrzebne pola oddzielone przecinkami.
Opis pracy z API
Adres startowy usługi API: https://twoja_domena/admin/index.php?route=
Parametr trasy przyjmuje ścieżkę, na podstawie której system rozumie, jaką operację wykonać.
Dla parametru trasy dostępne są następujące wartości:
- api/login - zdobycie tokena na start
- api/scope/describe – opis pól elementów
- api/scope/get - pobieranie elementów
- api/scope/add - dodawanie elementów
- api/scope/update - aktualizacja elementów
- api/scope/delete - usuwanie elementów
Parametr trasy można uzupełnić o typ elementu, na którym wykonywana jest operacja.
W zależności od rodzaju operacji dostępne są następujące wartości:
- kategoria - kategorie produktów
- produkt – katalog bazowy produktów
- product_price - produkty z cenników
- atrybut - atrybuty produktu
- blok_atrybutów - bloki atrybutów
- język - języki
- artykuł - artykuły
- producent - producenci
- stock_status - stany magazynowe
- magazyn - magazyny
- sklep - sklepy
- firma - firmy
- wykonawca - wykonawcy
- kontrahent_grupa - grupy kontrahentów
- waluta - waluty
- dokument - dokumenty
- typ_dokumentu - rodzaje dokumentów
- document_status - statusy dokumentów
- document_payment_status - statusy płatności
- document_delivery_status - statusy dostawy
Przykładowy link do pobrania listy kategorii produktów: https://twoja_domena/admin/index.php?route=api/scope/get/category
Ponadto typ elementu można przekazać w parametrze scope za pośrednictwem żądania POST, wówczas nie jest wymagane określanie typu w łączu.
Tworzenie użytkownika API, uzyskanie tokena
Wymiana danych poprzez API odbywa się za pomocą loginu i hasła (token). Aby utworzyć nowego użytkownika API, przejdź do podsystemu „Ustawienia”
Następnie wybierz „Dostęp do zworki API”
Kliknij przycisk +, aby utworzyć nowego użytkownika
Aby rozpocząć pracę z API, musisz uzyskać token, w tym celu musisz wysłać żądanie POST z loginem i hasłem, podając route=api/login.
Pełny adres:
https://twoja_domena_adres/admin/index.php?route=api/login
Wymagane parametry POST:
- nazwa użytkownika - twoja nazwa użytkownika
- klucz - hasło
W odpowiedzi otrzymasz token, który zostanie wskazany w polu api_token, token ten należy wykorzystać do dalszych żądań do API.
Przykładowa implementacja w PHP (funkcja send_data_to_jumper_api() to wrapper dla CURL)
Pobieranie przedmiotów
Aby uzyskać listę pozycji, wyślij żądanie POST z route=api/scope/get.
Pełny adres:
https://twoja_domena_adres/admin/index.php?route=api/scope/get
Wymagane parametry POST:
- api_token - token otrzymany wcześniej
- scope to id elementu, z którego chcesz uzyskać dane. Kod elementu można określić w łączu, w którym to przypadku ten parametr jest opcjonalny.
Lista dostępnych kodów elementów:- kategoria - kategorie produktów
- produkt – katalog bazowy produktów
- product_price - produkty z cenników
- atrybut - atrybuty produktu
- blok_atrybutów - bloki atrybutów
- język - języki
- artykuł - artykuły
- producent - producenci
- stock_status - stany magazynowe
- magazyn - magazyny
- sklep - sklepy
- firma - firmy
- wykonawca - wykonawcy
- kontrahent_grupa - grupy kontrahentów
- waluta - waluty
- dokument - dokumenty
- typ_dokumentu - rodzaje dokumentów
- document_status - statusy dokumentów
- document_payment_status - statusy płatności
- document_delivery_status - statusy dostawy
Parametry opcjonalne:
- strona - numer strony do uzyskania kolejnej listy rekordów
- limit_field - lista pól do ograniczenia wyjścia
- extend - pobieranie rozszerzonych danych. Na przykład, otrzymując kartę produktu, możesz rozszerzyć informacje i otrzymać dodatkowe dane, takie jak:
- atrybut – atrybuty produktu
- obraz - zdjęcie produktu
- kategoria - lista kategorii, w których znajduje się produkt
- extend_limit_field_attribute - lista pól do ograniczenia wyprowadzania rozszerzonych informacji o atrybutach
- extend_limit_field_image - lista pól do ograniczenia wyprowadzania rozszerzonych informacji o zdjęciu
- extend_limit_field_category - lista pól do ograniczenia wyjścia informacji o rozszerzonej kategorii
Przykład implementacji PHP
Dodawanie elementów
Aby dodać nowy element, wyślij żądanie POST z route=api/scope/add.
Pełny adres:
https://twoja_domena_adres/admin/index.php?route=api/scope/add
Wymagane parametry POST:
- api_token - token otrzymany wcześniej
- scope to identyfikator dodawanego elementu. Kod elementu można określić w łączu, w którym to przypadku ten parametr jest opcjonalny.
Lista dostępnych kodów elementów:- kategoria - kategorie produktów
- produkt – katalog bazowy produktów
- product_price - produkty z cenników
- atrybut - atrybuty produktu
- blok_atrybutów - bloki atrybutów
- artykuł - artykuły
- producent - producenci
- dokument - dokumenty
- nazwa - nazwa elementu (w zależności od typu elementu można podać różne pola)
Przykład implementacji PHP
Aktualizowanie przedmiotów
Aby zaktualizować element, wyślij żądanie POST z route=api/scope/update.
Pełny adres:
https://adres_twoja_domeny/admin/index.php?route=api/scope/update
Wymagane parametry POST:
- api_token - token otrzymany wcześniej
- scope to identyfikator elementu, który ma zostać zaktualizowany. Kod elementu można określić w łączu, w którym to przypadku ten parametr jest opcjonalny.
Lista dostępnych kodów elementów:- kategoria - kategorie produktów
- produkt – katalog bazowy produktów
- waluta - kurczaki walutowe
- wykonawca - wykonawcy
- nazwa - nazwa elementu (w zależności od typu elementu można podać różne pola)
Przykład implementacji PHP
Usuwanie elementów
Aby usunąć element, wyślij żądanie POST z route=api/scope/delete.
Pełny adres:
https://twoja_domena_adres/admin/index.php?route=api/scope/delete
Wymagane parametry POST:
- api_token - token otrzymany wcześniej
- scope to identyfikator elementu do usunięcia. Kod elementu można określić w łączu, w którym to przypadku ten parametr jest opcjonalny.
Lista dostępnych kodów elementów:- kategoria - kategorie produktów
- produkt – katalog bazowy produktów
- atrybut - atrybuty produktu
- blok_atrybutów - bloki atrybutów
- wykonawca - wykonawcy
- artykuł - artykuły
- producent - producenci
- dokument - dokumenty
- Identyfikator elementu (w zależności od typu elementu stosowana jest inna nazwa pola)
Przykład implementacji PHP
Opis pól elementów
Aby uzyskać opis pól elementów, wyślij żądanie POST z route=api/scope/describe.
Pełny adres:
https://twoja_domena_adres/admin/index.php?route=api/scope/describe
Wymagane parametry POST:
- api_token - token otrzymany wcześniej
- scope to identyfikator elementu, za pomocą którego mają być uzyskane informacje. Kod elementu można określić w łączu, w którym to przypadku ten parametr jest opcjonalny.
Lista dostępnych kodów elementów:- produkt – katalog bazowy produktów
- product_price - produkty z cenników
- producent - producenci
- wykonawca - wykonawcy
- dokument - dokumenty
- użytkownik - użytkownicy (pracownicy)
- firma - firmy
Przykład implementacji PHP
Rozszerzony przykład API, język PHP
Rozszerzone przykłady pracy z API przy użyciu języka PHP dostępne są pod tym linkiem .
Możesz przetestować różne tryby działania, w tym celu musisz aktywować żądaną zmienną, aby aktywować blok kodu odpowiedzialny za wymaganą operację i element.