SMSPort Docs

Public API docs

Autoryzacja OAuth

Utwórz token dostępu integracji ograniczony do wybranych zakresów i użyj go w GraphQL playground.

Generuj token w playgroundzie

  1. Otwórz Integracje OAuth w konsoli i utwórz integrację z wymaganymi zakresami.
  2. Zapisz Client ID i sekret klienta wyświetlony po utworzeniu. Sekret jest pokazywany tylko raz; nie można odzyskać sekretu istniejącej integracji.
  3. Otwórz GraphQL playground i wybierz „Generuj token”. W oknie wprowadź zapisany Client ID i sekret, a następnie wybierz wyłącznie zakresy przyznane integracji.
  4. Wybierz „Generuj token integracji”. Token zostanie automatycznie ustawiony w edytorze, a okno zamknięte i sekret usunięty. Możesz użyć zapisanych danych do wygenerowania kolejnego tokenu po wygaśnięciu poprzedniego.

Client ID i sekret są używane wyłącznie w pamięci tej strony i wysyłane przez HTTPS do skonfigurowanego endpointu Cognito. Nie są zapisywane w URL, pamięci przeglądarki ani logach. Zamknięcie okna anuluje generowanie i usuwa sekret. Token integracji jest ograniczony do przyznanych zakresów i tożsamości integracji. Alternatywnie otwórz „Token API” w sekcji konta lewego menu portalu (na telefonie otwórz menu nawigacji) i skopiuj token ID bieżącej sesji używany do API; ma on uprawnienia zalogowanego użytkownika i nie podnosi ich. Menu pokazuje termin ważności bieżącego tokenu z JWT, a nie termin wylogowania — odświeżenie może go przedłużyć. Wygasły token nie może zostać skopiowany.

Okno danych uwierzytelniających po utworzeniu integracji pozwala skopiować Client ID i przykładowe żądanie curl. Istniejących sekretów nie można odzyskać.

Wymiana tokenu po stronie serwera

Możesz też wymienić dane uwierzytelniające na serwerze. Użyj dokładnego adresu token endpointu oraz zakresów wyświetlonych dla integracji; nigdy nie umieszczaj sekretu w aplikacji przeglądarkowej ani repozytorium.

curl -X POST "$OAUTH_TOKEN_URL"   -H "Content-Type: application/x-www-form-urlencoded"   --data-urlencode "grant_type=client_credentials"   --data-urlencode "client_id=$CLIENT_ID"   --data-urlencode "client_secret=$CLIENT_SECRET"   --data-urlencode "scope=$SCOPES"

SCOPES to rozdzielona spacjami lista zakresów przyznanych tej integracji, np. smspipe/devices.read.

Odbierz access_token i użyj go jako nagłówka Authorization: Bearer ....

Przykład klienta

curl -X POST "https://api.smsport.app/graphql"   -H "Authorization: Bearer $ACCESS_TOKEN"   -H "Content-Type: application/json"   --data '{"query":"query Workspaces($after: String) {\n  workspaces(first: 20, after: $after) {\n    nodes { id displayName status }\n    pageInfo { hasNextPage endCursor }\n  }\n}","variables":{}}'

Skopiuj id z workspaces.nodes i przejdź do instrukcji: workspace → urządzenie → SMS. Do odczytu urządzeń potrzebujesz smspipe/devices.read, do wysyłki smspipe/messages.write, a do sprawdzania statusu smspipe/messages.read. Wybierz tylko zakresy przyznane integracji.