SMSPort Docs

Public API docs

Wyślij SMS przez GraphQL

Użyj mutacji message_create z urządzeniem, numerami odbiorców i treścią wiadomości.

1. Lista workspace’ów

Uruchom zapytanie i skopiuj dokładne id z workspaces.nodes. Nie używaj nazwy workspace. Jeśli lista jest pusta, utwórz workspace w portalu i sprawdź dostęp integracji.

query Workspaces($after: String) {
  workspaces(first: 20, after: $after) {
    nodes { id displayName status }
    pageInfo { hasNextPage endCursor }
  }
}

Zmienne JSON w edytorze Variables:

{}

2. Lista urządzeń w workspace

Zastąp workspaceId identyfikatorem z poprzedniego zapytania. Skopiuj id z workspace.devices.nodes do input.deviceId w mutacji wysyłki, nie nazwę ani numer seryjny telefonu. Jeśli lista jest pusta, sparuj telefon w tym workspace. Wymagany zakres integracji: smspipe/devices.read.

query Devices($workspaceId: ID!, $after: String) {
  workspace(id: $workspaceId) {
    id
    displayName
    devices(first: 20, after: $after) {
      nodes { id name status }
      pageInfo { hasNextPage endCursor }
    }
  }
}

Zmienne JSON w edytorze Variables:

{
  "workspaceId": "<workspace-graphql-id>"
}

Gdy pageInfo.hasNextPage jest true, dodaj do zmiennych after z wartością pageInfo.endCursor z tego samego zapytania. Po zmianie workspace wyczyść after.

3. Wyślij SMS

Zastąp input.deviceId identyfikatorem z listy urządzeń, a recipients własnym numerem w formacie E.164. Sprawdź treść przed uruchomieniem. To nie jest sandbox: mutacja wysyła prawdziwy SMS i zużywa kredyty. Wymagany zakres integracji: smspipe/messages.write.

mutation SendSms($input: MessageCreateInput!) {
  message_create(input: $input) {
    messages { id status }
    errors { __typename ... on Error { message } }
  }
}

Zmienne JSON w edytorze Variables:

{
  "input": {
    "deviceId": "<device-graphql-id>",
    "recipients": [
      "+48123123123"
    ],
    "text": "Hello from SMSPort"
  }
}

Sprawdź errors oraz messages.id i status. Przyjęcie wiadomości nie oznacza jej dostarczenia. Sprawdź status wiadomości w tym samym workspace; wymagany zakres: smspipe/messages.read.

curl

curl -X POST "https://api.smsport.app/graphql"   -H "Authorization: Bearer $ACCESS_TOKEN"   -H "Content-Type: application/json"   --data '{"query":"mutation SendSms($input: MessageCreateInput!) {\n  message_create(input: $input) {\n    messages { id status }\n    errors { __typename ... on Error { message } }\n  }\n}","variables":{"input":{"deviceId":"<device-graphql-id>","recipients":["+48123123123"],"text":"Hello from SMSPort"}}}'

W żądaniu curl również zastąp deviceId i numer odbiorcy przed wysłaniem.