Integrați SMS în aplicația dvs.
API REST simplu pentru trimiterea mesajelor tranzacționale, de marketing și OTP. Conexiuni directe la operatorii din Moldova — fără intermediari.
curl https://api.sms.md/v1/send \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "to": "+37369000000", "from": "CompanyName", "message": "Ваш код: 4821" }'
{
"id": "fec42b1b-eb52-4ea7-9629-b62342c62d64",
"receiver": "+37369000000",
"status": "queued",
"message": "Message sent successfully"
"dateCreate": "2026-03-12 08:20:05"
}
Funcționalități API
Tot ce aveți nevoie pentru integrarea SMS în orice aplicație sau serviciu
Trimitere SMS
Trimitere individuală și în masă printr-un singur endpoint. Răspuns în format JSON.
OTP și 2FA
Coduri unice pentru verificare, autentificare și operațiuni financiare cu validare pe server.
Delivery Reports
Statusuri de livrare prin webhook (push) sau polling (pull). Banii pentru SMS-urile nelivrate sunt returnați automat.
Trimitere programată
Programarea SMS-ului la o oră anume — Unix timestamp sau ISO 8601. Anulare sau modificare înainte de trimitere.
Alphanumeric Sender ID
Înregistrarea numelui expeditorului la operatorii din Moldova (până la 11 caractere). Clientul vede numele brandului dvs.
UTF-8 și Unicode
Suport nativ pentru chirilică, diacritice românești (ș, ț, ă, î, â) și orice limbă Unicode.
Campanie în masă
Trimitere după lista de numere într-o singură cerere. Suport pentru coadă batch fără limitări de dimensiune.
Securitate
Cheie API în headerul Authorization. Doar HTTPS. IP-whitelist opțional și rotarea cheilor din contul personal.
Exemple de cod
Selectați limba și copiați exemplul gata
# Trimiterea unui SMS curl -X POST https://api.sms.md/v1/messages \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "to": "+37369000000", "from": "CompanyName", "text": "Comanda dvs. nr. 1042 a fost acceptata. Asteptati apelul managerului." }'
# Campanie în masă după lista de numere curl -X POST https://api.sms.md/v1/messages/bulk \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "recipients": ["+37369000001", "+37369000002", "+37369000003"], "from": "CompanyName", "text": "Reducere 20% doar azi! Cod promotional: SALE20" }'
# Verificarea statusului de livrare după ID curl -X GET https://api.sms.md/v1/messages/msg_8f3a91bc \ -H "Authorization: Bearer YOUR_API_KEY" # Răspuns: { "id": "msg_8f3a91bc", "status": "delivered", "delivered_at": "2026-03-24T14:32:11Z", }
// Folosiți Guzzle sau orice client HTTP use GuzzleHttp\Client; $client = new Client(); $response = $client->post('https://api.sms.md/v1/messages', [ 'headers' => [ 'Authorization' => 'Bearer ' . $apiKey, ], 'json' => [ 'to' => '+37369000000', 'from' => 'CompanyName', 'text' => 'Comanda dvs. nr. 1042 a fost acceptata.', ], ]); $data = json_decode($response->getBody(), true); echo $data['id']; // msg_8f3a91bc
$response = $client->post('https://api.sms.md/v1/messages/bulk', [ 'headers' => ['Authorization' => 'Bearer ' . $apiKey], 'json' => [ 'recipients' => [ '+37369000001', '+37369000002', '+37369000003', ], 'from' => 'CompanyName', 'text' => 'Reducere 20% doar astazi!', ], ]); $result = json_decode($response->getBody(), true); echo $result['sent']; // 3
$response = $client->get( 'https://api.sms.md/v1/messages/msg_8f3a91bc', ['headers' => ['Authorization' => 'Bearer ' . $apiKey]] ); $msg = json_decode($response->getBody(), true); if ($msg['status'] === 'delivered') { // Mesaj livrat }}
import requests response = requests.post( 'https://api.sms.md/v1/messages', headers={'Authorization': f'Bearer {api_key}'}, json={ 'to': '+37369000000', 'from': 'CompanyName', 'text': 'Comanda dvs. nr. 1042 a fost acceptata.', } ) data = response.json() print(data['id']) # msg_8f3a91bc
response = requests.post( 'https://api.sms.md/v1/messages/bulk', headers={'Authorization': f'Bearer {api_key}'}, json={ 'recipients': [ '+37369000001', '+37369000002', '+37369000003', ], 'from': 'CompanyName', 'text': 'Reducere 20% doar astazi!', } ) print(response.json()['sent']) # 3
response = requests.get( 'https://api.sms.md/v1/messages/msg_8f3a91bc', headers={'Authorization': f'Bearer {api_key}'} ) msg = response.json() if msg['status'] == 'delivered': print('Livrat la', msg['delivered_at'])
const response = await fetch('https://api.sms.md/v1/messages', { method: 'POST', headers: { 'Authorization': `Bearer ${apiKey}`, 'Content-Type': 'application/json', }, body: JSON.stringify({ to: '+37369000000', from: 'CompanyName', text: 'Comanda dvs. nr. 1042 a fost acceptata.', }), }); const data = await response.json(); console.log(data.id); // msg_8f3a91bc
const response = await fetch('https://api.sms.md/v1/messages/bulk', { method: 'POST', headers: { 'Authorization': `Bearer ${apiKey}`, 'Content-Type': 'application/json', }, body: JSON.stringify({ recipients: ['+37369000001', '+37369000002'], from: 'CompanyName', text: 'Reducere 20% doar astazi!', }), }); const { sent } = await response.json(); console.log(`Trimis: ${sent}`);
const response = await fetch( 'https://api.sms.md/v1/messages/msg_8f3a91bc', { headers: { 'Authorization': `Bearer ${apiKey}` } } ); const msg = await response.json(); if (msg.status === 'delivered') { console.log('Livrat la', msg.delivered_at); }
Cum să începeți în 3 pași
De la înregistrare la primul SMS
Înregistrați-vă
Creați un cont la partner.sms.md. Completați datele companiei și semnați contractul. Procesarea durează câteva ore. Alimentați soldul de la 500 MDL.
Obțineți cheia API
Accesați în contul personal secțiunea Setări → API. Copiați cheia și depuneți cererea de înregistrare a numelui expeditorului la operatorii din Moldova în 1–2 zile lucrătoare.
Trimiteți primul SMS
Folosiți exemplele de cod de mai sus. O singură cerere POST — și aplicația dvs. poate trimite SMS.
Statusuri de livrare în timp real
Abonați-vă la webhook — vă vom trimite notificare pe serverul dvs. imediat ce SMS-ul este livrat sau respins de operator.
// Cerere POST de intrare pe URL-ul dvs. callback { "event": "message.delivered", "id": "msg_8f3a91bc", "to": "+37369000000", "from": "CompanyName", "status": "delivered", "delivered_at": "2026-03-24T14:32:11Z" }
// HTTP 200 OK { "received": true }
Parametri principali
Toate cererile — în JSON, răspunsurile disponibile în JSON
| Parametru | Tip | Obligatoriu | Descriere |
|---|---|---|---|
to |
string | да | Numărul destinatarului în format E.164 (+37369000000) |
from |
string | да | Numele expeditorului până la 11 caractere, aprobat de operatori |
message |
string | да | Textul mesajului. 160 caractere GSM-7, 70 caractere Unicode |
callback_url |
string | нет | URL pentru delivery report (webhook). Trebuie să răspundă HTTP 200 |
scheduled_at |
string | нет | Ora trimiterii în format ISO 8601. Fără valoare — imediat |
Scenarii populare
Ce construiesc dezvoltatorii cu SMS.MD API
OTP / 2FA
Autentificare în doi pași, confirmarea operațiunilor, verificare la înregistrare. Codul ajunge în secunde.
Notificări tranzacționale
Status comandă, confirmare plată, notificare livrare, reminder programări — automat prin API.
Campanii de marketing
Promoții, reactivarea bazei, oferte personalizate. Trimitere în masă cu analitica livrărilor în timp real.
Începeți să trimiteți SMS-uri astăzi
Înregistrați-vă, adăugați fonduri și lansați prima campanie într-o singură zi lucrătoare.
Doar pentru persoane juridice din RM · Depozit minim 500 MDL · Fără plăți ascunse