Automatizează notificările SMS
API-ul campaniesms.ro permite conectarea aplicațiilor proprii la soldul SMS al companiei. Poți folosi integrarea pentru notificări operaționale, confirmări, actualizări și alte mesaje permise.
Dacă preferi un modul gata de instalat, vezi pagina de integrări SMS. Pentru scenarii de confirmări și statusuri, consultă și notificările SMS.
Exemple de utilizare
- confirmarea unei comenzi;
- actualizarea statusului unei livrări;
- confirmarea unei programări;
- reamintirea unei rezervări;
- notificări dintr-un ERP sau CRM;
- alerte generate de o aplicație;
- mesaje transmise dintr-un magazin online;
- notificări privind disponibilitatea unui serviciu.
Autentificare și securitate
Fiecare integrare trebuie să folosească mecanismul de autentificare al platformei. Cheile se păstrează exclusiv pe serverul aplicației care face integrarea și nu trebuie publicate în codul JavaScript, în aplicații distribuite sau în depozite publice.
Poți autentifica cererile în unul dintre aceste moduri:
- headere
X-Api-KeyșiX-Api-Secret; - parametri
api_key/api_secret; - parametri compatibili
servID/password.
Documentație API
URL de bază: https://campaniesms.ro/api/v1
Limita de utilizare: 60 de cereri pe minut per cont. Textul SMS are maxim 160 de caractere; diacriticele sunt eliminate automat pentru livrare. Soldul folosit de API este același cu soldul din platforma web.
POST / GET /sms/send
Trimite un SMS. Parametri acceptați:
| Parametru | Descriere |
|---|---|
to / msg_dst / phone |
Numărul destinatarului |
text / msg_text / message |
Conținutul mesajului |
external_id (opțional) |
Identificator extern pentru urmărire |
plain=1 (opțional) |
Răspuns text simplu în loc de JSON |
POST / GET /sms/balance
Returnează soldul SMS disponibil pentru contul autentificat.
POST / GET /send_sms
Alias pentru trimitere, util pentru gateway-uri care folosesc stilul servID / password.
Exemple de integrare
Exemplele de mai jos folosesc variabile de mediu. Înlocuiește valorile cu cheile din contul tău; nu publica secrete în frontend.
cURL
curl -X POST "https://campaniesms.ro/api/v1/sms/send" \
-H "X-Api-Key: $YOUR_API_KEY" \
-H "X-Api-Secret: $YOUR_API_SECRET" \
-H "Accept: application/json" \
-d "to=07xxxxxxxx" \
-d "text=Comanda ta a fost confirmata"
PHP
$apiKey = getenv('YOUR_API_KEY');
$apiSecret = getenv('YOUR_API_SECRET');
$ch = curl_init('https://campaniesms.ro/api/v1/sms/send');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_TIMEOUT => 15,
CURLOPT_HTTPHEADER => [
'X-Api-Key: ' . $apiKey,
'X-Api-Secret: ' . $apiSecret,
'Accept: application/json',
],
CURLOPT_POSTFIELDS => http_build_query([
'to' => '07xxxxxxxx',
'text' => 'Comanda ta a fost confirmata',
]),
]);
$response = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
if ($status >= 200 && $status < 300) {
// Mesaj acceptat — verifică și istoricul din cont
}
Node.js
const apiKey = process.env.YOUR_API_KEY;
const apiSecret = process.env.YOUR_API_SECRET;
const body = new URLSearchParams({
to: '07xxxxxxxx',
text: 'Comanda ta a fost confirmata',
});
const res = await fetch('https://campaniesms.ro/api/v1/sms/send', {
method: 'POST',
headers: {
'X-Api-Key': apiKey,
'X-Api-Secret': apiSecret,
'Accept': 'application/json',
'Content-Type': 'application/x-www-form-urlencoded',
},
body,
signal: AbortSignal.timeout(15000),
});
if (!res.ok) {
throw new Error('Trimiterea SMS a eșuat: ' + res.status);
}
const data = await res.json();