Dla programistów

Uwierzytelnianie w API SpeakNotes

API obsługuje trzy rodzaje danych uwierzytelniających: klucz API, token dostępu OAuth lub token Firebase ID z aktywnej sesji użytkownika.

Klucze API

Przesyłaj klucz jako token bearer w każdym żądaniu. Każde zalogowane konto może go utworzyć i działa on natychmiast.

curl https://api.speaknotes.io/v1/notes \
  -H "Authorization: Bearer sn_live_YOUR_API_KEY"

Klucze produkcyjne zaczynają się od sn_live_ i działają na Twojej rzeczywistej bibliotece. Klucze testowe zaczynają się od sn_test_ i działają na stałych danych wyjściowych. Klucze wydane przed wprowadzeniem zakresów nadal działają i mają pełny dostęp.

Zakresy (Scopes)

Każdy klucz i każdy token OAuth posiada określone zakresy. Odczyt nigdy nie oznacza zapisu, więc klucz z zakresem notes:read nie może niczego usunąć. Żądanie bez wymaganego zakresu otrzyma błąd 403 z informacją o brakującym uprawnieniu.

  • notes:readRead notes, transcripts, and summaries.
  • notes:writeCreate, update, and delete notes.
  • folders:readRead folders.
  • folders:writeCreate, update, and delete folders.
  • transcriptions:writeTranscribe audio and video.
  • summaries:writeGenerate summaries from audio, text, and YouTube URLs.
  • usage:readRead credit balance and usage history.

Limity żądań

Limity są liczone dla każdego zestawu danych uwierzytelniających, a nie dla adresu IP, więc jedna integracja nie wpłynie na drugą. Każda odpowiedź zawiera nagłówki X-RateLimit-Limit, X-RateLimit-Remaining oraz X-RateLimit-Reset, a błąd 429 zawiera nagłówek Retry-After.

120
Odczyty na minutę
30
Zapisy na minutę
10
Przetwarzanie na minutę
HTTP/1.1 401 Unauthorized
WWW-Authenticate: Bearer realm="SpeakNotes API", error="invalid_token",
  resource_metadata="https://api.speaknotes.io/.well-known/oauth-protected-resource"

{
  "error": {
    "type": "authentication_error",
    "code": "invalid_token",
    "message": "The API key is invalid, expired, or revoked.",
    "doc_url": "https://speaknotes.io/developers/errors#invalid_token"
  }
}

OAuth

Tworzysz aplikację, do której logują się inni użytkownicy SpeakNotes? Użyj OAuth zamiast prosić ich o wklejenie klucza. /developers/oauth

Rotacja i unieważnianie

Klucz jest wyświetlany tylko raz, podczas tworzenia, i przechowywany wyłącznie jako skrót. Unieważnienie klucza następuje natychmiast. Podczas tworzenia klucza można również ustawić datę jego wygaśnięcia.