Przejdź do głównej zawartości

Uwierzytelnianie

Doxtly udostępnia REST API zbudowane z API Platform. Wszystkie żądania API wymagają uwierzytelnienia.

Aby uzyskać token JWT, wyślij dane logowania do endpointu logowania:

Okno terminala
curl -X POST https://api.twojafirma.doxtly.com/api/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "uzytkownik@example.com",
"password": "twoje-haslo"
}'

Odpowiedź:

{
"token": "eyJhbGciOiJSUzI1NiIs...",
"refreshToken": "abc123..."
}

Użyj tokenu w kolejnych żądaniach:

Okno terminala
curl https://api.twojafirma.doxtly.com/api/documents \
-H "Authorization: Bearer eyJhbGciOiJSUzI1NiIs..."

Do integracji serwer-serwer używaj kluczy dostępu. Utwórz klucz dostępu w Ustawienia → Klucze API.

Okno terminala
curl https://api.twojafirma.doxtly.com/api/documents \
-H "X-Access-Key: twoj-klucz-dostepu"

Klucze dostępu są przypisane do Twojej organizacji i dziedziczą uprawnienia użytkownika, który je utworzył.

Jeśli uwierzytelnianie dwuskładnikowe jest włączone dla konta użytkownika (plany Starter+), proces logowania zawiera dodatkowy krok:

  1. Wyślij dane logowania do /api/auth/login
  2. Jeśli 2FA jest wymagane, otrzymasz odpowiedź z wyzwaniem
  3. Wyślij kod TOTP do /api/auth/verify-2fa
  4. Otrzymaj token JWT
Okno terminala
# Krok 1: Logowanie
curl -X POST https://api.twojafirma.doxtly.com/api/auth/login \
-H "Content-Type: application/json" \
-d '{"email": "uzytkownik@example.com", "password": "haslo"}'
# Odpowiedź: {"twoFactorRequired": true, "challengeToken": "..."}
# Krok 2: Weryfikacja 2FA
curl -X POST https://api.twojafirma.doxtly.com/api/auth/verify-2fa \
-H "Content-Type: application/json" \
-d '{"challengeToken": "...", "code": "123456"}'
# Odpowiedź: {"token": "eyJ...", "refreshToken": "..."}

Tokeny JWT wygasają po skonfigurowanym okresie. Użyj tokenu odświeżania, aby uzyskać nowy token dostępu:

Okno terminala
curl -X POST https://api.twojafirma.doxtly.com/api/auth/refresh \
-H "Content-Type: application/json" \
-d '{"refreshToken": "abc123..."}'

Doxtly obsługuje również logowanie OAuth przez:

  • Google/api/auth/google
  • Facebook/api/auth/facebook

Są one używane głównie przez aplikację webową i przepływy oparte na przekierowaniach.

Żądania API są ograniczone, aby zapobiec nadużyciom. Aktualne limity:

  • 100 żądań na minutę na klucz dostępu
  • 200 żądań na minutę na uwierzytelnionego użytkownika

Nagłówki limitów są dołączane do każdej odpowiedzi:

X-RateLimit-Limit: 100
X-RateLimit-Remaining: 95
X-RateLimit-Reset: 1714060800