İçeriğe geç

Gönderim

Bu ürünün tek gönderim yoludur: müşteri kaydı, numara doğrulaması ve izin bayrağı yoktur, numara istekle gelir. Gönderimi platform yapar; ek bir hesap seçimi yoktur.

Terminal window
curl -s -X POST "$SMS_API/api/v1/sms/" \
-H "x-api-key: $SMS_KEY" -H 'content-type: application/json' \
-d '{"name":"Bayram","message":"Merhaba","data":{"phone":"905550000001, 905550000002"}}'

Yanıt 202dir: id, recipientCount, duplicateCount, estimatedSegments ve credit. Aynı istekte tekrar eden numara yazılmaz ve duplicateCount artar.

Yer tutucu yoksa iki biçim geçerlidir.

  • { "phone": "n1, n2" } — virgül, boşluk veya satır sonu.
  • [{ "phone": "+905550000001" }].

{ad} gibi tek süslü yer tutucu varsa data dizi olmalıdır. Her satırda her anahtar dolu olmalıdır; eksik satır 400 döner ve gerekçede satır numarası vardır. {phone} numaradan dolar, data’da ayrıca istenmez.

Gövde 10 MB’ı aşarsa 413 döner.

İsteğe bağlı scheduledAt (ISO 8601) mesajın teslim edileceği andır. Liste hemen üretilir, paket hemen gider; tarih gövdede taşınır. Geçmiş veya şimdi verilen değer sessizce düşer (hemen teslim). Hesabınızda ileri tarihli gönderim kapalıysa veya tavanı aşıyorsa 400 döner.

Terminal window
curl -s -X POST "$SMS_API/api/v1/sms/" \
-H "x-api-key: $SMS_KEY" -H 'content-type: application/json' \
-d '{"message":"Merhaba","data":{"phone":"905550000001"},"scheduledAt":"2026-12-01T09:00:00+03:00"}'

Gönderimden önce parça sayısı hesaplanır. Hesabınızın kontörü yetmezse paket açılmaz:

400 Kontör yetersiz (gerekli X, mevcut Y)

Bakiye okunamazsa 503 döner, gönderim oluşmaz. Bakiye sorgusu GET /api/v1/sms/creditdir.

id bizim kimliğimizdir. Detay yanıtında scheduledAt varsa ileri teslim anıdır.

Terminal window
curl -s "$SMS_API/api/v1/sms/GÖNDERİM_ID" -H "x-api-key: $SMS_KEY"
curl -s "$SMS_API/api/v1/sms/GÖNDERİM_ID/recipients?phone=+905550000001" -H "x-api-key: $SMS_KEY"

message isteğe yazılan metindir. Alıcı satırındaki content o numaraya giden metindir; yer tutucu varsa çözülmüş hali durur. counters giden, düşen ve iptal edileni sayar. report teslim yoklamasıdır. Paket gönderildikten 10 dakika, 15 dakika, 30 dakika, 1 saat, 6 saat ve 24 saat sonra okunur. Bu saatlerden önce pending geçici olabilir; 24 saatten sonra yeni okuma yapılmaz. Teslim durumlarının listesi ve alan açıklamaları Gönderim durumları sayfasındadır.

İptal POST /api/v1/sms/:id/cancel. Teslim anı gelmemiş, iletilmiş mesajlar için geri çekme denenir; geri çekilemediğinde yanıtta cancelNotice döner. Tamamlanmış veya iptal edilmiş gönderim 400 döner.

Gönderilemeyenler counters.failed ve GET /api/v1/sms/:id/errors ile okunur. groups gerekçeyi sayar. messages yalnız numara ve gerekçe taşır; deneme gövdesi ve teslim yanıtının ham metni dönmez.

Teslim edilmeyen, süresi dolan ve reddedilen alıcılar gönderim anında failed değildir. Onlar sonradan raporlanır. deliveryState=problem bu üçünü gönderilemeyenle birlikte süzer. deliveryError operatörün satır raporundaki ham gerekçedir; biçimi sabit değildir.

Terminal window
curl -s "$SMS_API/api/v1/sms/GÖNDERİM_ID/errors" -H "x-api-key: $SMS_KEY"
curl -s "$SMS_API/api/v1/sms/GÖNDERİM_ID/recipients?deliveryState=problem" -H "x-api-key: $SMS_KEY"
curl -s "$SMS_API/api/v1/sms/GÖNDERİM_ID/recipients/MESAJ_ID" -H "x-api-key: $SMS_KEY"
curl -s -L "$SMS_API/api/v1/sms/GÖNDERİM_ID/recipients/export?deliveryState=problem" \
-H "x-api-key: $SMS_KEY" -o sorunlu.csv

Her alıcının id alanı vardır. Tek mesaj GET /api/v1/sms/:id/recipients/:messageId ile okunur. Başka gönderimin mesaj kimliği 404 döner.

CSV kolonları id, phone, content, status, deliveryState, deliveredAt, error, deliveryError, segmentCountdir. content o numaraya yazılan metindir. =, +, - veya @ ile başlayan hücre başına kesme işareti konur.