Klucze dostępowe do API Admin
Klucze dostępowe do API Admin umożliwiają aplikacjom zewnętrznym bezpieczną komunikację z panelem administracyjnym IdoSell. Dzięki nim możesz pobierać dane, modyfikować zasoby oraz korzystać z funkcji API zgodnie z nadanymi uprawnieniami. System udostępnia dwa sposoby autoryzacji dostępu do API: za pomocą klucza API lub tokena OAuth 2.0. Wybór metody zależy od wymagań aplikacji oraz sposobu integracji.
Prawidłowa konfiguracja klucza dostępowego jest istotna dla bezpieczeństwa danych. Każda aplikacja korzystająca z API powinna posiadać własny klucz oraz odpowiednio skonfigurowane uprawnienia.
Co znajdziesz w tym artykule?
Jak utworzyć klucz dostępu do API,
Jakie metody autoryzacji są dostępne,
Jak korzystać z klucza API,
Jak działa autoryzacja OAuth 2.0,
Zanim zaczniesz sprawdź
Czy posiadasz uprawnienia Szef?
Czy wiesz, która aplikacja będzie korzystać z API?
Czy znasz wymagania dotyczące autoryzacji wybranej integracji?
Dodawanie klucza dostępu do Admin API
Klucze dostępowe zarządzane są bezpośrednio z poziomu panelu administracyjnego. Po ich utworzeniu możesz wykorzystać je do wykonywania operacji zgodnych z przyznanymi uprawnieniami.
1. Przejdź do: USTAWIENIA > Dostęp.
2. Dodaj nowy klucz.
3. Wybierz sposób autoryzacji.
| Metoda | Opis | Przykładowe zastosowanie |
|---|---|---|
| Klucz API | Autoryzacja realizowana za pomocą nagłówka X-API-KEY | Integracje korzystające z bezpośredniego dostępu do API |
| OAuth 2.0 | Autoryzacja oparta o token Bearer generowany przez AUTHORIZE API | Integracje wymagające obsługi tokenów dostępowych |
4. Wprowadź nazwę aplikacji, która będzie korzystać z klucza.
5. Opcjonalnie uzupełnij adres e-mail w razie potrzeby kontaktu.
6. Możesz ograniczyć hosty, z których można się logować.
7. Wypełnij informacje dotyczące lokalizacji.
8. Nadaj wymagane uprawnienia do poszczególnych bramek API. Dla każdej bramki określ zakres dostępu odpowiedni do operacji wykonywanych przez aplikację:
System - pobieranie i aktualizowanie informacji o konfiguracji panelu IdoSell oraz sklepów.
CMS - pobieranie, dodawanie i aktualizowanie informacji o zasobach systemu zarządzania treścią, np. wpisach na blogu i aktualnościach.
CRM - pobieranie, dodawanie i aktualizowanie informacji o klientach.
PIM - pobieranie, dodawanie i aktualizowanie informacji o towarach.
OMS - pobieranie, dodawanie i aktualizowanie informacji o zamówieniach, zwrotach, reklamacjach oraz subskrypcjach.
WMS - pobieranie, dodawanie i aktualizowanie informacji o magazynach oraz dokumentach magazynowych.
Dla każdej bramki wybierz jeden z trzech trybów uprawnień:
brak dostępu - aplikacja nie ma dostępu do danej bramki,
tylko odczyt - aplikacja może wyłącznie odczytywać dane,
odczyt i zapis - aplikacja może odczytywać, dodawać i aktualizować dane.
9. Dodaj klucz.
10. Po dodaniu klucza pojawi się wiersz Klucz API. Za pomocą przycisku „Pokaż aktywne klucze” odkryjesz Klucz API oraz Nagłówek HTTP.
11. W tym miejscu możesz również dezaktywować klucz.
Znaczenie ustawień lokalizacji i hostów
Język - określa język odpowiedzi zwracanych przez API oraz tłumaczeń komunikatów. Jeśli komunikat źródłowy brzmi „Nie odnaleziono takiego towaru”, a dla klucza ustawisz język angielski, API może zwrócić komunikat „Product not found”.
Format liczb, kwot i dat - ustawienia lokalizacji wpływają również na sposób prezentowania tych wartości w odpowiedziach API.
Główny język edycji elementów w panelu - jest używany domyślnie, jeśli w żądaniu nie wskażesz innego języka.
Strefa czasowa - wpływa na zapis czasu zdarzeń. Panel przelicza go po stronie interfejsu zgodnie ze strefą czasową aktualnie zalogowanego użytkownika. Jeśli aplikacja korzystająca z API ma ustawioną strefę UTC−6, zdarzenie zostanie zapisane z takim przesunięciem, a użytkownik korzystający z polskiej strefy czasowej zobaczy odpowiednio przeliczony czas.
Hosty - ograniczenie dostępu do wskazanych hostów zwiększa bezpieczeństwo klucza API. Z kluczem połączy się wyłącznie dozwolony host. Żądanie wysłane z innego hosta zostanie odrzucone, a API zwróci błąd 403 Unauthorized Access.
Klucz API
Klucz API jest najprostszą metodą autoryzacji. Po wygenerowaniu należy przekazać go w nagłówku żądania jako wartość pola X-API-KEY. Każda aplikacja powinna korzystać z własnego klucza dostępowego. Ułatwia to zarządzanie uprawnieniami oraz zwiększa bezpieczeństwo integracji.
Przykładowy nagłówek:
headers: {
'X-API-KEY': 'YXBwbGlhY3Rpb24xOmFkbWluMTIzNA=='
}Token OAuth 2.0
OAuth 2.0 umożliwia korzystanie z tokenów dostępowych generowanych przez AUTHORIZE API. Rozwiązanie to wymaga dodatkowej autoryzacji przed uzyskaniem tokena Bearer. Aby skonfigurować Token OAuth 2.0:
Przejdź do:
USTAWIENIA > Dostęp.Dodaj nowy klucz API.
W metodzie autoryzacji wybierz OAuth 2.0.
Uzupełnij niezbędne informacje zgodnie z instrukcją z sekcji „Dodawanie klucza dostępu do Admin API”.
Przed dodaniem klucza zapamiętaj lub zapisz automatycznie wygenerowane hasło.
Username zostanie wygenerowane po dodaniu klucza.
W konfigurowanej aplikacji wywołaj endpoint authorize/accessToken udostępniony w AUTHORIZE API.
Podaj dane uwierzytelniające przypisane do klucza.
Odbierz token Bearer.
Użyj tokena podczas wywołań API Admin.
W nagłówkach do wywołania bramki authorize/accessToken konieczne jest przesłanie nagłówka authorization. Jako wartość przesyłana jest informacja w postaci 'Basic username:password'. Gdzie username:password dla dodanego klucza API jest zakodowane w formacie base64.
Przykład:
appliaction1:admin1234 zakodowane w base64, to YXBwbGlhY3Rpb24xOmFkbWluMTIzNA== , zatem nagłówek w żądaniu authorize/accessToken, będzie wyglądał następująco:
headers: {
authorization: 'Basic YXBwbGlhY3Rpb24xOmFkbWluMTIzNA=='
}Obecnie działający scope, który należy przesłać w ciele żądania POST dla bramki authorize/accessToken:
{
"scope": [
"admin"
]
}W odpowiedzi z bramki API authorize/accessToken otrzymasz token Bearer:
{
"token_type": "Bearer",
"expires_in": 3600,
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciO"
}Podaj wynikowy token w nagłówku żądania do API Admin jako właściwość authorization. Zwróć uwagę, że oprócz tokena OAuth musisz również przekazać jego typ (Bearer).
headers: {
authorization: 'Bearer eyJ0eXAiOiJKV1QiLCJhbGciO'
}Token wygasa po 1h, po tym czasie konieczne jest ponowne wywołanie bramki authorize/accessToken w celu wygenerowania nowego tokena.
Przykład użycia
Jedną z zewnętrznych aplikacji, którą można połączyć ze sklepem IdoSell za pomocą API, jest base.com. Na jej przykładzie pokazujemy podstawowy przebieg integracji z wykorzystaniem klucza API. Aby połączyć sklep z base.com, wygeneruj klucz API zgodnie z instrukcją opisaną w tym artykule. Następnie skopiuj wygenerowany klucz i wprowadź go w konfiguracji zewnętrznej aplikacji, zgodnie z wymaganiami dostawcy integracji.
Rezultat
Zewnętrzna aplikacja może wykonywać operacje na danych sklepu zgodnie z zakresem przyznanych uprawnień. Dzięki wykorzystaniu osobnego klucza łatwiej zarządzać bezpieczeństwem oraz identyfikować integracje korzystające z API.
Dalsza konfiguracja przebiega po stronie zewnętrznej aplikacji. Informacja, co zrobić dalej na base.com znajduje się tutaj .