Dokumentacja API

Wszystko, co potrzebne do integracji Payman z Twoją aplikacją.

Wprowadzenie

Payman API to interfejs REST w formacie JSON. Wszystkie żądania są wysyłane na adres https://payman33.com/v1 poprzez HTTPS.

Uwierzytelnianie

Wyślij token dostępu otrzymany przy tworzeniu konta jako token Bearer. Jest on wyświetlany tylko raz i nie może być ponownie wystawiony, więc zachowaj go w tajemnicy i nigdy nie umieszczaj w kodzie po stronie klienta.

Authorization: Bearer pm_live_xxxxxxxxxxxxxxxx

Wyślij wiadomość

POST /messages

PoleTypOpis
tostring[]Odbiorcy w formacie E.164. Maksymalnie 10 000 na żądanie.
textstringTreść wiadomości: jedna SMS, do 160 znaków (GSM-7) lub 70, jeśli zawiera inne litery lub emoji. Dłuższe teksty są odrzucane.
schedule_atstringOpcjonalny czas w formacie ISO-8601 do wysłania później, maksymalnie 30 dni w przód.
callback_urlstringOpcjonalny URL HTTPS, który otrzymuje raporty dostarczenia.
{
  "id": "msg_01J9Z3K8V2",
  "status": "queued",
  "recipients": 1,
  "segments": 1,
  "cost": 0.0063
}

Dodaj nagłówek Idempotency-Key, aby bezpiecznie ponowić próbę: ten sam klucz w ciągu 24 godzin zwróci oryginalną odpowiedź zamiast wysyłać ponownie.

Status wiadomości

GET /messages/{id}

Statusy: queued, następnie sent, potem delivered lub failed. Zaplanowana wiadomość pozostaje scheduled aż zostanie wysłana; anuluj ją (i odzyskaj opłatę) za pomocą POST /messages/{id}/cancel.

Webhooki

Gdy raport dostarczenia dotrze, wysyłamy go metodą POST na Twój callback_url. Każde żądanie zawiera nagłówek X-Payman-Signature: HMAC-SHA256 ciała z Twoim sekretem webhooka (Dashboard, zakładka API), abyś mógł je zweryfikować. Nieudane dostarczenia są ponawiane do 3 razy.

{
  "id": "msg_01J9Z3K8V2",
  "to": "+14155550123",
  "status": "delivered",
  "delivered_at": "2026-10-09T08:12:03Z"
}

Saldo

GET /balance

Zwraca aktualne saldo w USDT. Ceny są podane w USD; 1 USDT = 1 USD.

Błędy

HTTPKodZnaczenie
400invalid_requestBrakujące lub błędnie sformatowane pole.
401unauthorizedBrakujący lub nieprawidłowy klucz API.
402insufficient_balanceDoładuj konto, aby kontynuować wysyłanie.
403verification_requiredNiezweryfikowane konta osiągnęły dzienny limit odbiorców.
404not_foundBrak takiej wiadomości na Twoim koncie.
429rate_limitedZbyt wiele żądań. Spróbuj ponownie po czasie podanym w nagłówku Retry-After.

Limity szybkości

Domyślny limit to 50 żądań na sekundę na konto. Używaj zbiorczych wysyłek (wiele numerów w to) w dużych kampaniach. Niezweryfikowane konta mogą wysyłać do maksymalnie 500 odbiorców dziennie.