SMS Gönderme
Verimor SMS API üzerinden tekli, toplu ve zamanlanmış mesaj gönderimlerini uygulayın.
Bu rehber gönderim iş akışını açıklar; güncel endpoint sözleşmesi için API Referansı sayfasına bakın.
İki farklı yöntemle SMS gönderilebilir: JSON (POST) veya Plain (GET).
POST — JSON Yöntemi (Önerilen)
POST https://sms.verimor.com.tr/v2/send.json
Content-Type: application/json
İstek Parametreleri
| Parametre | Tip | Zorunlu | Açıklama |
|---|---|---|---|
username |
string | Evet | API kullanıcı adı |
password |
string | Evet | API şifresi |
source_addr |
string | Hayır | Gönderici başlığı. Boş bırakılırsa sistemdeki ilk başlık kullanılır |
messages |
array | Evet | Mesaj listesi (max 50.000) |
send_at |
string | Hayır | İleri tarihli gönderim — ISO 8601: 2025-06-01 09:00:00 |
valid_for |
string | Hayır | Mesaj geçerlilik süresi SS:DD formatında (varsayılan: 24:00, min: 00:01, max: 48:00) |
datacoding |
integer | Hayır | 0 = GSM Basic, 1 = GSM Türkçe (Ş ş Ğ ğ ç ı İ), 2 = Unicode (emoji, özel karakterler) |
is_commercial |
boolean | Hayır | Ticari ileti ise true |
iys_recipient_type |
string | Hayır | BIREYSEL veya TACIR (ticari gönderimde zorunlu) |
custom_id |
string | Hayır | Kampanyaya özel ID (rapor sorgularken kullanılabilir) |
add_ret |
boolean | Hayır | true ise gönderici başlığına ait ret bildirimi (Ret: ...) her mesajın sonuna otomatik eklenir. Bkz. Ret Bildirimi |
messages[] Nesnesi
| Alan | Tip | Zorunlu | Açıklama |
|---|---|---|---|
dest |
string | Evet | Alıcı numaralar, virgülle ayrılmış: 905001234567,905007654321 |
msg |
string | Evet | Mesaj içeriği. Yeni satır için \n kullanın |
id |
string | Hayır | Mesaj bazında özel ID |
iys_recipient_type |
string | Hayır | Mesaj bazında İYS tipi (kampanya genelini ezer) |
Örnek — Tekli Gönderim
{
"username": "[email protected]",
"password": "api_sifreniz",
"source_addr": "VERIMOR",
"messages": [
{
"dest": "905001234567",
"msg": "Siparişiniz kargoya verildi. Takip no: 123456"
}
]
}
Örnek — Toplu, Farklı Mesajlar
{
"username": "[email protected]",
"password": "api_sifreniz",
"source_addr": "VERIMOR",
"datacoding": 1,
"messages": [
{ "dest": "905001234567", "msg": "Sayın Ahmet Bey, bakiyeniz: 150 TL" },
{ "dest": "905007654321", "msg": "Sayın Ayşe Hanım, bakiyeniz: 320 TL" }
]
}
Örnek — Zamanlanmış Gönderim
{
"username": "[email protected]",
"password": "api_sifreniz",
"source_addr": "VERIMOR",
"send_at": "2025-12-31 23:59:00",
"messages": [
{ "dest": "905001234567", "msg": "Mutlu Yıllar!" }
]
}
Yanıt
{
"campaign_id": 98765432,
"custom_id": null,
"status": "0"
}
campaign_id değerini rapor sorgulamak için saklayın.
Ret Bildirimi
Ticari iletilerde, alıcıların gönderimi reddedebilmesi için mesaja bir ret bildirimi eklenmesi yasal bir zorunluluktur (6563 sayılı kanun). İsteğe add_ret: true eklerseniz, gönderici başlığınıza ait ret bildirimini her mesajın sonuna biz otomatik ekleriz — böylece e-imzalı panel girişine gerek kalmadan API üzerinden de ret bildirimini gönderebilirsiniz.
Ret bildirimi, başlığınızın durumuna göre iki biçimde olabilir:
- Link:
Ret: www.ret.tc/XXXX(İYS modülü olan hesaplardawww.iys.tc/XXXX) - Anahtar kelime:
Ret: ORNEK ret yaz 4609'a gonder(hesabınızda tanımlı bir SMS anahtar kelimesi varsa)
Hangi başlığa hangi metnin ekleneceğini panelde Başlıklarım sayfasından görebilirsiniz.
{
"username": "[email protected]",
"password": "api_sifreniz",
"source_addr": "VERIMOR",
"is_commercial": true,
"iys_recipient_type": "BIREYSEL",
"add_ret": true,
"messages": [
{ "dest": "905001234567", "msg": "Size özel %20 indirim fırsatını kaçırmayın!" }
]
}
Mesaj boyu hesaplanırken eklenen ret bildiriminin uzunluğu da dikkate alınır.
GET — Plain Yöntemi
Tek bir mesajı hızlıca göndermek için kullanılır.
GET https://sms.verimor.com.tr/v2/send
| Parametre | Açıklama |
|---|---|
username |
API kullanıcı adı |
password |
API şifresi |
dest |
Alıcı numaralar (virgülle ayrılmış) |
msg |
Mesaj metni (URL encode edilmiş) |
source_addr |
Gönderici başlığı |
datacoding |
0, 1 veya 2 |
send_at |
Zamanlanmış gönderim: 2025-06-01 09:00:00 |
valid_for |
Geçerlilik süresi |
is_commercial |
true / false |
iys_recipient_type |
BIREYSEL / TACIR |
curl "https://sms.verimor.com.tr/v2/[email protected]&password=api_sifreniz&dest=905001234567,905007654321&msg=Merhaba&source_addr=VERIMOR"
GET Yönteminin Limitleri
GET yöntemiyle istek başına tek bir mesaj metni gönderilebilir (msg parametresi bir adettir); aynı metin dest parametresindeki birden fazla numaraya iletilir.
Gönderilebilecek numara adedini belirleyen sınır, URL’nin toplam uzunluğudur: URL’nin /v2/send?... ile başlayan kısmı (path + query string) en fazla 8.177 karakter olabilir. Bu sınır aşılırsa sunucu 414 Request-URI Too Large hatası döner.
Pratikte bu, kısa bir mesaj metniyle istek başına yaklaşık 600 numaraya karşılık gelir (905XXXXXXXXX formatında bir numara + virgül = 13 karakter). Mesaj metni uzadıkça — özellikle URL encode edilen Türkçe karakterler 3’er karakter yer kapladığı için — gönderilebilecek numara sayısı azalır.
SMS Boy Karakter Limitleri
| Boy | GSM Basic (datacoding=0) |
GSM Türkçe (datacoding=1) |
Unicode (datacoding=2) |
|---|---|---|---|
| 1 | 0 – 160 | 0 – 155 | 0 – 70 |
| 2 | 161 – 306 | 156 – 298 | 71 – 134 |
| 3 | 307 – 459 | 299 – 447 | 135 – 201 |
| 4 | 460 – 612 | 448 – 596 | 202 – 268 |
| 5 | 613 – 765 | 597 – 745 | 269 – 335 |
İptal Etme
İleri tarihli bir gönderimi iptal etmek için:
POST https://sms.verimor.com.tr/v2/cancel/{campaign_id}
curl -X POST "https://sms.verimor.com.tr/v2/cancel/[email protected]&password=api_sifreniz"