PROSMS WEBAPI v1

Połącz własny system z ProSMS

Wysyłaj wiadomości, pobieraj sender names i sprawdzaj historię z aplikacji, sklepu albo własnej wtyczki.

Szybki start

Klucz API znajdziesz po zalogowaniu w zakładce Twoje Konto. Wszystkie żądania i odpowiedzi korzystają z JSON oraz HTTPS.

Base URLhttps://prosms.pl/api/v1
NumeryE.164, np. +48223905969
Limitmaks. 500 odbiorców

Autoryzacja

Przekaż klucz jako Bearer token. Nie umieszczaj go w adresie URL ani kodzie przeglądarki.

Authorization: Bearer ps_TWÓJ_KLUCZ_API
Content-Type: application/json

Wysyłka SMS

POST/sms.php
PoleTypOpis
recipientsarrayNumery E.164
messagestringMaks. 480 znaków
senderstringAktywny sender name

cURL

curl -X POST https://prosms.pl/api/v1/sms.php \
-H "Authorization: Bearer ps_TWÓJ_KLUCZ_API" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: order-123-processing" \
-d '{"recipients":["+48223905969"],"message":"Zamówienie 123 jest w realizacji.","sender":"ProSMS"}'

PHP

$ch = curl_init('https://prosms.pl/api/v1/sms.php');
curl_setopt_array($ch, [CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer ps_TWÓJ_KLUCZ_API','Content-Type: application/json'],
CURLOPT_POSTFIELDS => json_encode(['recipients' => ['+48223905969'],'message' => 'Twoja wiadomość','sender' => 'ProSMS'])]);
$response = json_decode(curl_exec($ch), true);

JavaScript / Node.js

const response = await fetch('https://prosms.pl/api/v1/sms.php', {
method: 'POST', headers: { Authorization: 'Bearer ps_TWÓJ_KLUCZ_API', 'Content-Type': 'application/json' },
body: JSON.stringify({ recipients: ['+48223905969'], message: 'Twoja wiadomość', sender: 'ProSMS' })
});
Idempotency-Key zabezpiecza przed podwójną wysyłką przy ponowieniu żądania.

Sender names

GET/sender-names.php
curl https://prosms.pl/api/v1/sender-names.php \
-H "Authorization: Bearer ps_TWÓJ_KLUCZ_API"

Historia wiadomości

GET/messages.php?limit=25

Zwraca wiadomości danego konta, odbiorców, treść, sender name i status.

Kody odpowiedzi

202Przyjęto
400Niepoprawny JSON
401Niepoprawny klucz
422Błąd walidacji
502Odrzucono
503Trasa niedostępna
{"error":{"code":"invalid_phone","message":"Nieprawidłowy numer..."}}

Bezpieczeństwo

  • Klucz przechowuj wyłącznie po stronie serwera.
  • Używaj unikalnego Idempotency-Key dla zdarzenia.
  • Nie zapisuj klucza w publicznym repozytorium ani logach.