Autoryzacja
Każde żądanie do API Senuto musi być uwierzytelnione tokenem Bearer (JWT) w nagłówku Authorization. Ta strona opisuje cały przepływ: od wymagań konta, przez pozyskanie tokenu, po obsługę błędów autoryzacji.
Czego potrzebujesz
- Konta Senuto — token jest powiązany z Twoim użytkownikiem i jego planem.
- Dostępu do API w planie konta. Bez niego bezpośrednie wywołania API kończą się statusem
403z pustą treścią. Jeśli Twój plan nie obejmuje dostępu do API, dokupisz go jako dodatek — Dostęp do API.
Pozyskanie tokenu
Token uzyskasz, logując się adresem e‑mail i hasłem konta Senuto:
POST https://api.senuto.com/api/users/tokencURL
curl --location --request POST 'https://api.senuto.com/api/users/token' \
--header 'Content-Type: application/json' \
--data-raw '{ "email": "twoj@email.com", "password": "TWOJE_HASŁO" }'Token wygenerujesz też bez wywoływania tego endpointu: panel Senuto, Ustawienia konta → Integracje , kafelek API.
Nie chcesz używać terminala? Zaloguj się poniżej — token trafi prosto do przeglądarki i zostanie zapamiętany w playgroundzie na stronach endpointów:
Zaloguj się danymi konta Senuto — token trafi do pola poniżej i do playgroundu na stronach endpointów. Hasło jest wysyłane wyłącznie do api.senuto.com i nigdzie nie jest zapisywane. Konto musi mieć aktywny dodatek API.
Odpowiedź
W polu data.token dostajesz JWT; pozostałe pola opisują konto:
| Name | Type | Default |
|---|---|---|
success | true | |
data | { token: string; id: number; email: string; lang: string; currency: string; currency_ratio: number; country_id: number; } |
Token jest ważny 31 dni. Nie ma osobnego endpointu odświeżania — po wygaśnięciu (Token expired) po prostu pobierz nowy token tym samym żądaniem. Traktuj token jak hasło: nie umieszczaj go w repozytorium ani w kodzie frontendowym; trzymaj w zmiennej środowiskowej lub sejfie sekretów.
Użycie tokenu
Do każdego żądania dodaj nagłówek Authorization, a przy POST także Content-Type: application/json:
Authorization: Bearer <TWÓJ_TOKEN>
Content-Type: application/jsonSzybki test poprawności tokenu — endpoint zwracający dane zalogowanego użytkownika:
curl --location 'https://api.senuto.com/api/users/whoami' \
--header 'Authorization: Bearer $YOUR_TOKEN_HERE'{ "success": true, "data": { "email": "twoj@email.com" } }Błędy autoryzacji
Klasycznego 401 to API nie zwraca w żadnym z tych przypadków. Status zależy od tego, na którym
etapie odpadło żądanie.
| Sytuacja | Status | Treść odpowiedzi |
|---|---|---|
Błąd logowania na POST /api/users/token | 418 | koperta błędu z data.error.type i message |
Zwykły endpoint, token nieważny albo brak nagłówka Authorization | 302, po przekierowaniu 404 | {"success": false, "message": ""} |
| Konto bez aktywnego planu albo bez dodatku API | 403 | {"success": false, "message": ""} |
418 — błędy logowania
Czytelny komunikat dostajesz wyłącznie z POST /api/users/token. Rozpoznawaj go po data.error.message.
| Komunikat | Kiedy występuje | Co zrobić |
|---|---|---|
Invalid username or password | Błędny e‑mail lub hasło | Sprawdź dane logowania |
Token expired | Wysłano tam token, którego nie da się zweryfikować | Loguj się e‑mailem i hasłem, nie tokenem |
Email isnt confrimed (pisownia oryginalna) | Konto z niepotwierdzonym adresem e‑mail | Potwierdź e‑mail w panelu Senuto |
{
"success": false,
"data": {
"error": { "type": "unauthorized", "message": "Invalid username or password" }
}
}302 → 404 — nieważny token na zwykłym endpoincie
Token po terminie ważności, token uszkodzony i całkowity brak nagłówka Authorization dają ten sam
wynik: 302 z nagłówkiem Location na /api/<moduł>/users/login, a pod tym adresem
404 {"success": false, "message": ""}.
Który z tych dwóch statusów zobaczysz, zależy od klienta HTTP. curl -L, requests i axios podążają
za przekierowaniem i raportują końcowe 404. Postman z wyłączonym podążaniem za przekierowaniami
zatrzyma się na 302. Oba znaczą to samo i jedno i drugie naprawia świeży token.
Jeśli integracja działała miesiąc i nagle „wszystkie endpointy zniknęły”, to wygasł token, a nie zmieniło
się API (patrz Błędy → status 404).
403 — konto bez dostępu do API
Token jest ważny, ale konto nie ma aktywnego planu albo dodatku Dostęp do API. Treść odpowiedzi jest
pusta ({"success": false, "message": ""}), więc rozpoznajesz ten przypadek po samym statusie.
Co dokupić: Dostęp do API.
Co dalej
- Pierwsze kroki — pierwsze zapytanie krok po kroku.
- Analiza widoczności, Monitoring, Baza słów kluczowych — listy endpointów z interaktywnym playgroundem (token wklejasz w pole API token na stronie endpointu).
- Błędy — pełna koperta błędów i status
418.