Download OpenAPI specification:
Verimor SMS API, uygulamalarınız veya sunucu taraflı yazılımlarınız üzerinden SMS gönderimi ve yönetimi yapmanızı sağlayan bir HTTP arayüzüdür. API, farklı amaçlara yönelik (toplu gönderim, raporlama, bakiye sorgulama vb.) çeşitli endpoint'ler sunar.
API'ye yapılan istekler, Verimor kullanıcı adı ve API şifreniz ile doğrulanır. Kimlik doğrulama yöntemi, isteğin türüne göre değişir:
username ve password bilgileri, isteğin gövdesinde (request body) JSON formatında gönderilir.username ve password bilgileri, isteğin URL'ine query string parametresi olarak eklenir.API şifrenizi Verimor Online İşlem Merkezi (OİM) üzerinden oluşturabilirsiniz.
API, aşağıdaki temel işlevleri desteklemektedir:
API, operasyona göre farklı veri formatları kullanır. Mesaj gönderme gibi POST işlemleri application/json formatında veri kabul eder ve yanıt döner. Raporlama gibi GET işlemleri ise parametreleri URL üzerinden alır ve yanıtı, isteğe bağlı olarak, varsayılan olarak boşluklarla ayrılmış düz metin (plain text) veya belirtilirse JSON formatında döndürebilir.
SMS gönderirken ve gönderim raporu alırken size dönen status sahalarında aşağıdaki tablodaki değerler olabilir:
Mesaj Gönderirken Dönebilecek Durumlar ve Açıklamaları
| Web_Arayüzü_Durumları | API | Açıklama |
|---|---|---|
| - | INVALID_SOURCE_ADDRESS | Başlık kabul edilmedi. |
| - | MISSING_MESSAGE | Gönderilecek mesaj verilmemiş. |
| - | MESSAGE_TOO_LONG | Mesaj çok uzun. |
| - | INVALID_PERIOD | Mesajın geçerlilik süresi (validity period) geçersiz. (1dk. ile 48 saat arasında değil). |
| - | INVALID_DELIVERY_TIME | "send_at" parametresi geçersiz veya geçmiş tarihe ait. |
| - | INVALID_DATACODING | datacoding parametresi hatalı verilmiş. |
| - | MISSING_IYS_BRAND_CODE | Ticari gönderimlerde başlığın marka kodunun tanımlanmış olması gereklidir |
| - | AHS_AUTHORIZATION_ERROR | Yetkilendirme hatası. Lütfen İYS ile iletişime geçip Verimor'a AHS izni veriniz. |
| - | NO_AHS_BRAND_ERROR | VKN'ye ait, İYS'de kayıtlı bir marka bulunamadı. |
| - | COMMERCIAL_SENDING_ERROR_UNDER_150K | 150 bin adedin altında ticari elektronik ileti onayı olan hesaplar için ticari gönderim 16 Temmuz 2021'de başlayacaktır. Bu tarihe kadar normal gönderimi kullanmalısınız. |
| - | INVALID_IYS_RECIPIENT_TYPE | iys_recipient_type "BIREYSEL" yada "TACIR" olmalıdır. |
| - | MISSING_DESTINATION_ADDRESS | Mesaj için alıcı verilmemiş. |
| Hatalı Numara | INVALID_DESTINATION_ADDRESS | Alıcı telefon numarasının formatı geçersiz. (905121234567 gibi olmalı) |
| INVALID_UTF8 | Encdoing UTF8 olmalıdır. | |
| MUKERRER_RAPORLAMA | 24 Saat içerisinde aynı sms zaten atılmış. | |
| Kredi Yetersiz | INSUFFICIENT_CREDITS | Mesajı göndermek için yeterli bakiyeniz yok. |
| Yasaklı içerik | FORBIDDEN_MESSAGE | Mesajınız yasak kelime(ler) içeriyor. |
| - | INVALID_CONSENT_DATE | "consent_date" 1 Mayıs 2015 tarihinden önce olamaz. "consent_date" ileri bir tarih olamaz. "consent_date" 3 günden eski olamaz. Kaynağı HS_2015 olan izinlerde "consent_date" 1 Mayıs 2015 olmalıdır. |
| - | MISSING_CONSENT | Eksik izin durumu. |
| - | MISSING_CONSENT_DATE | Gönderim tipi "BIREYSEL" olanlarda consent_date girilmelidir. |
| - | INVALID_RECIPIENT | Geçersiz gönderim tipi. |
| - | INVALID_JSON | Geçersiz JSON kullanımı |
| - | MESSAGE_COUNT_LIMIT_EXCEEDED | Maksimum mesaj sayısına ulaşıldı. Bir seferde maksimum 50.000 adet mesajdan daha fazlası kabul edilmez. |
Mesaj Durumu Alınırken Dönebilecek Durumlar ve Açıklamaları
| Web_Arayüzü_Durumları | API_Durumları | Açıklama |
|---|---|---|
| Gönderiliyor | SENDING | Mesaj gönderiliyor. |
| Bekliyor | WAITING | Mesaj gönderildi. Cevap bekleniyor. |
| İletildi | DELIVERED | Mesaj iletildi. |
| İletildi | SENT | Mesaj iletildi. Fakat operatör gönderim raporunu desteklemediği için teyit edilemiyor. (Uluslararası bazı yönlerde oluşur.) |
| İletilemedi | NOT_DELIVERED | Mesaj iletilemedi. (Genelde alıcı numaranın aktif olmamasından kaynaklanır.) |
| Zaman aşımı | EXPIRED | Zaman aşımı. Mesajınız belirlediğiniz geçerlilik süresi içinde alıcısına teslim edilemedi. |
| Hatalı Numara | INVALID_DESTINATION_ADDRESS | Alıcı telefon numarası geçersiz. (Hiçbir operatöre kayıtlı değil.) |
| Reddedildi | REJECTED | Mesajınızın gönderimi reddedildi. (Genelde gsm operatörü tarafından içerik kontrolü sonucu oluşur.) |
| Mükerrer Gönderim | DOUBLE_SEND_ERROR | Aynı içerik aynı gün aynı başlıkla aynı numaraya gönderilmiş. Mükerrer gönderim engellendi. |
| Karalistede | BLACKLISTED_DESTINATION_ADDRESS | Alıcı kara listenizde. |
| İYS izni yok | NOT_ALLOWED_BY_IYS | İYS izni yok. |
| Tarife Bulunamadı | MISSING_TARIFF | Alıcının operatörü tarifelerimiz arasında bulunamamıştır. (Uluslararası yönlerde oluşur.) |
| Geçersiz Şebeke | ROUTE_NOT_AVAILABLE | Hesabınız bu alıcıya mesaj gönderemez. (Uluslararası bazı yönlerde oluşur.) |
| Geçersiz Şebeke | NETWORK_NOTCOVERED | Hesabınız bu alıcıya mesaj gönderemez. (Uluslararası bazı yönlerde oluşur.) |
| Gönderim Hatası | SEND_ERROR | Mesajınız gönderilirken hata oluştu. (Sebebi çeşitli olabilir.) |
| Uluslararası Gönderim Kapalı | INTERNATIONAL_DENIED | OİM'de SMS ayarlarından "uluslararası gönderim" ayarı kapalı olduğu için gönderilmedi. |
Mesaj Hata Kodları (gsm_error)
İletilemeyen mesajlar için karşı operatörden alınan teknik hata kodları ve açıklamaları aşağıda verilmiştir.
| Hata No | Hata Kodu | Açıklama |
|---|---|---|
| 1 | EC_UNKNOWN_SUBSCRIBER | Numara karşı operatörün veritabanında bir aboneye tanımlı değil |
| 6 | EC_ABSENT_SUBSCRIBER_SM | Karşı aboneden sinyal alınamadı. Abonenin telefonunun kapalı olduğu durumda veya sinyalin zayıf olduğu durumda görülür |
| 11 | EC_TELESERVICE_NOT_PROVISIONED | Karşı abonenin mobil hizmeti operatörü tarafından durduruldu |
| 13 | EC_CALL_BARRED | Karşı abone "Rahatsız Etme" (DND) hizmetini açtı, hiç mesaj almamayı tercih etti |
| 27 | EC_ABSENT_SUBSCRIBER | Karşı abone çevrimiçi değil, telefon cihazı tarafından teyit edildi. Telefon kapatılınca görülür. |
| 31 | EC_SUBSCRIBER_BUSY_FOR_MT_SMS | Karşı operatör fazla trafikten dolayı meşgul olduğunu bildirdi |
| 32 | EC_SM_DELIVERY_FAILURE | Karşı operatör kısa mesajı abonesine iletemediğini bildirdi |
| 34 | EC_SYSTEM_FAILURE | Karşı operatör sistem hatası bildirdi |
| 256 | EC_SM_DF_MEMORYCAPACITYEXCEEDED | Karşı abonenin telefon cihazında mesajı kaydedecek yer kalmadı |
| 257 | EC_SM_DF_EQUIPMENTPROTOCOLERROR | Karşı operatör, abonenin telefon cihazında hata olduğunu bildirdi |
| 258 | EC_SM_DF_EQUIPMENTNOTSM_EQUIPPED | Karşı operatör, abonenin telefon cihazında hata olduğunu bildirdi |
| 500 | EC_PROVIDER_GENERAL_ERROR | Karşı operatör genel hata bildirdi |
| 502 | EC_NO_RESPONSE | Mesaj karşı operatöre iletildi fakat olumlu veya olumsuz bir iletim raporu dönmedi |
| 1030 | EC_OR_POTENTIALVERSIONINCOMPATIBILITY | Karşı operatör genel hata bildirdi |
| 1155 | EC_NNR_SUBSYSTEMFAILURE | Karşı operatör, sistem hatasından dolayı abonesine ulaşamadığını bildirdi |
| 1157 | EC_NNR_MTPFAILURE | Karşı operatör genel hata bildirdi |
| 1281 | EC_UA_USERSPECIFICREASON | Karşı operatör genel hata bildirdi |
| 1536 | EC_PA_PROVIDERMALFUNCTION | Karşı operatör genel hata bildirdi |
| 2048 | EC_TIME_OUT | Mesaj karşı operatöre geçerlilik süresi içinde iletilemedi |
| 2049 | EC_IMSI_BLACKLISTED | Karşı abonenin SIM kartı operatörünün karalistesinde |
| 2050 | EC_DEST_ADDRESS_BLACKLISTED | Numara karalistemizde olduğu için iletilemedi |
| 2051 | EC_INVALIDMSCADDRESS | Mesaj metni karalistemizde olduğu için iletilemedi |
| 2053 | EC_BLACKLISTED_SENDERADDRESS | Mesaj başlığının kullanımı için ek onay alınması gerekli |
| 4100 | EC_MESSAGE_CANCELED | Karşı operatör mesajı abonesine geçerlilik süresi içinde iletemedi |
| 4101 | EC_VALIDITYEXPIRED | Karşı operatör mesajı abonesine geçerlilik süresi içinde iletemedi |
| 4103 | EC_DESTINATION_FLOODING | Karşıdaki abone çok fazla mesaj almış olduğu için yeni mesaj kabul etmiyor |
| 4104 | EC_DESTINATION_TXT_FLOODING | Karşıdaki aboneye aynı mesaj çok defa gönderilmiş olduğu için yeni mesaj kabul etmiyor |
| Normal (datacoding=0) | Türkçe (datacoding=1) | Unicode (datacoding=2) | |
|---|---|---|---|
| 1 boy | 0-160 | 0-155 | 0-70 |
| 2 boy | 161-306 | 156-298 | 71-134 |
| 3 boy | 307-459 | 299-447 | 135-201 |
| 4 boy | 460-612 | 448-596 | 202-268 |
| 5 boy | 613-765 | 597-745 | 269-335 |
| 6 boy | 766-918 | 746-894 | 336-402 |
| 7 boy | 919-1071 | 895-1043 | 403-469 |
Not-1:datacoding=0 veya datacoding=1 gönderimlerde aşağıdaki karakterler 2 karakter sayılır. ^ { } \ [ ] ~ | €
Not-2:Sadece (Ş ş Ğ ğ ç ı İ) harfleri Türkçe olarak kabul edilir ve datacoding=1 olarak gönderilmelidir. Diğer Türkçe karakterleri (Ö ö Ü ü Ç) datacoding=0 olarak gönderebilirsiniz.
PUSH ile Gönderim Raporu Alımı
Push yönteminde mesajın durumu ile ilgili bilgi (teslim edildi, zaman aşımı, numara hatalı vb.) alınır alınmaz OİM üzerinden daha önce belirlediğiniz bir URL tetiklenir. Aşağıdaki gibi bir JSON POST edilir:
Content-Type: application/json
Accept: /
Not: API, sisteminize PUSH bildirimi yaptığında “HTTP/1.1 200 OK” cevabı bekler. Bu cevabı alamadığı zaman 5’er dakika bekleyerek 3 kere daha dener. Hala cevap alamazsa bu mesajı tekrar bildirmez.
Sisteminize gönderilecek JSON örneği ve alan açıklamaları:
| type | string Mesajın yönüdür. Gönderilen sms olduğu için outbound. |
| campaign_id | integer Mesajın kampanya ID’si. |
| campaign_custom_id | string Mesajın kampanyasına sizin tarafınızdan verilmiş özel ID. |
| message_id | string Mesaja API tarafından verilmiş ID. |
| message_custom_id | string Mesaja sizin tarafınızdan verilmiş özel ID. |
| dest | string Mesajın gönderildiği telefon numarası. Yurt dışı numaralarının başına 00 eklenmelidir. Örnek: 0049xxxxxxxx. |
| size | integer Mesajın boyu. |
| international_multiplier | integer Mesajın kredi çarpanı (bir boyunun kaç krediye denk geldiği). Uluslararası mesajlarda 1’den büyük olur. Ulusal mesajlarda daima 1 olur. |
| credits | integer Bu mesaj için hesabınızdan kaç kredi düşüldüğü. |
| status | string Mesajın durumu (olabilecek durumlar ve anlamları için dokümanın sonundaki durum listesine bakınız). |
| gsm_error | string Mesaj iletilemediyse operatörden dönen hata kodu. |
| sent_at | string Mesajın iletildiği tarih (mesaj iletilemediyse null olur). |
| done_at | string Mesajın son durumuna ulaştığı tarih (mesaj iletilemediyse de dolu olur). |
[- [
- {
- "type": "outbound",
- "campaign_id": 20121,
- "campaign_custom_id": "123456789",
- "message_id": "13582302",
- "message_custom_id": "1234",
- "dest": "905111111111",
- "size": 1,
- "international_multiplier": 1,
- "credits": 1,
- "status": "DELIVERED",
- "gsm_error": "0",
- "sent_at": "2015-02-20 16:06:00",
- "done_at": "2015-02-20 16:06:00"
}, - {
- "type": "outbound",
- "campaign_id": 20121,
- "campaign_custom_id": "123456789",
- "message_id": "13582303",
- "message_custom_id": "1235",
- "dest": "905111111112",
- "size": 1,
- "international_multiplier": 1,
- "credits": 1,
- "status": "DELIVERED",
- "gsm_error": "0",
- "sent_at": "2015-02-20 16:06:00",
- "done_at": "2015-02-20 16:06:00"
}
]
]Push yönteminde hesabınıza bir mesaj gelir gelmez OİM üzerinden daha önce belirlediğiniz bir URL tetiklenir. Aşağıdaki gibi bir JSON POST edilir:
Content-Type: application/json
Accept: /
Not: API, sisteminize PUSH bildirimi yaptığında “HTTP/1.1 200 OK” cevabı bekler. Bu cevabı alamadığı zaman 5’er dakika bekleyerek 3 kere daha dener. Hala cevap alamazsa bu mesajı tekrar bildirmez.
Sisteminize gönderilecek JSON örneği ve alan açıklamaları:
| message_id | integer Mesaja API tarafından verilmiş ID. |
| type | string Mesajın yönüdür. Gelen sms olduğu için inbound. |
| created_at | string Mesajın kayıt edildiği tarih saat. Tarih ve saat aralığına göre api isteklerinde filtre yapılacak alan. |
| network | string Mesajı gönderen operatör. TURKCELL, TTMOBIL, VODAFONE değerleri olabilir. |
| source_addr | string Mesajı gönderen numara. |
| destination_addr | string Mesajın gönderildiği numara (Verimor abone numarası veya 4 haneli Verimor ücretsiz kısa numarası). |
| keyword | string Ortak kullanımlı kısa numaralardaki ayırt edici anahtar kelime. Kısa numaraya değil doğrudan sizin numaranıza gelen sms'lerde boş olur. |
| content | string Gelen mesajın tam içeriği. |
| received_at | string Mesajın alındığı tarih saat. |
[- [
- {
- "message_id": 1234,
- "type": "inbound",
- "created_at": "2017-01-01 09:00:00",
- "network": "TURKCELL",
- "source_addr": "905111111112",
- "destination_addr": "908501234567",
- "keyword": "",
- "content": "verimor deneme",
- "received_at": "2017-01-01 09:00:00"
}
]
]Hergün gün sonunda vatandaşın İYS kanalları (E-Devlet, İYS Web/Mobil/Çağrı merkezi) üzerinden oluşturduğu hareketler için bir kampanya oluşturulur. Oluşturulan bu kampanya ile ilgili bilgiler, OİM üzerinden daha önce belirlediğiniz bir URL'ye (İYS Push URL) gönderilir.
Aşağıdaki örnekte olduğu gibi bir JSON string POST edilir.
Content-Type: application/json
Accept: /
Daha sonra istenirse, 'İYS İZİNLERİ RAPORU' başlığı altındaki dökümandan faydalanılarak, oluşturulan kampanya detayları alınabilir.
Sisteminize gönderilecek JSON örneği ve alan açıklamaları:
| iys_campaign_id | integer İYS kampanya ID'si. |
| report_date | string Rapor tarihi (YYYY-MM-DD formatında). |
| source_addr | string Kampanya başlığı veya kaynak adres. |
{- "iys_campaign_id": 1234,
- "report_date": "2021-01-18",
- "source_addr": "BASLIGIM"
}Smsapi gönderim için iki yöntemi destekler. Bunlar HTTP(S) GET (Plain de denir) ve HTTP(S) POST JSON’dır. İkisi de cevabını düz metin olarak döndürür.
| username required | string API kullanıcı adı |
| password required | string API şifresi |
| dest required | string Mesajın gönderileceği telefon numaraları. Birden fazla numara varsa virgül ile ayrılmalıdır. Yurt dışı numaralarının başına 00 veya + eklenmelidir. Örnek: 0049xxxxxxxx veya +49xxxxxxxx (+ işareti URL'lerde boşluk olarak yorumlanacağı için %2B olarak encode etmelisiniz, örn: %2B49xxxxxxxx). (zorunlu) |
| msg required | string Gönderilecek mesaj. Türkçe harf içerebilir. Maksimum uzunluğu Türkçe harf içeriyorsa 1043, içermiyorsa 1071 karakter’dir. (zorunlu). Encoding her zaman UTF8 beklenir. |
| source_addr | string Gönderici kimliği (Başlık). Source_addr boş ise sistemde kayıtlı ilk başlığınız kullanılır. |
| valid_for | string Mesajın geçerlilik süresi. SS:DD (veya S:DD) formatında olmalı. (Varsayılan değer 24:00, Minumum değer 00:01, Maksimum değer 48:00) |
| datacoding | integer Mesaj metni için kullanılacak karakter kodlaması. 0, 1 ve 2 değerlerini alabilir. Mesajda kullanılabilecek harfleri ve mesajın boy limitlerini belirler. Boş ise mesaj metnine bakılır, türkçe harf varsa 1, yoksa 0 kaydedilir. Mesaj boyları tablosu için dokümanın sonuna bakınız. Yurt dışına sms gönderiminde değeri 1 olarak gönderilmemelidir. |
| is_commercial | bool Opsiyonel. true | false değeri alır. Ticari gönderimlerde true olarak belirlemelisiniz. |
| iys_recipient_type | string BIREYSEL | TACIR değeri alır. Ticari gönderimlerde mutlaka belirlemelisiniz. |
| send_at | string Mesajın gönderilmesini istediğiniz tarih saat. ‘2015-02-20 16:06:00’ şeklinde veya ISO 8601 standardındaki formatlar kabul edilir (http://en.wikipedia.org/wiki/ISO_8601). Boş ise mesaj hemen gönderilir. |
123456JSON formatında toplu SMS gönderimi için kullanılır. Birden fazla farklı mesajı farklı numaralara gönderebilirsiniz.
| username required | string API kullanıcı adı |
| password required | string API şifresi |
| source_addr | string Gönderici başlığı |
| valid_for | string Mesajın geçerlilik süresi (varsayılan: 24:00) |
| datacoding | integer Enum: 0 1 2 Veri kodlama (0: GSM Basic, 1: GSM Turkish, 2: UCS2) |
| is_commercial | boolean Ticari mesaj mı |
| iys_recipient_type | string İYS alıcı tipi (BIREYSEL/TACIR) |
| send_at | string Gönderim zamanı (ISO 8601 formatında) |
| custom_id | string Özel kampanya ID'si |
required | Array of objects |
{- "username": "9085000000",
- "password": "111111",
- "source_addr": "VERIMOR",
- "valid_for": "",
- "datacoding": 0,
- "is_commercial": true,
- "iys_recipient_type": "BIREYSEL",
- "send_at": "111111",
- "custom_id": "123456",
- "messages": [
- {
- "dest": "905111111111,905111111112",
- "msg": "Deneme Mesaj",
- "id": "1234567",
- "iys_recipient_type": "BIREYSEL"
}
]
}123456İleri tarihli mesaj gönderimini iptal etmek için örnekte olduğu gibi bir JSON string POST edilir.
| id required | string Kampanya ID'si |
| username | string API kullanıcı adı |
| password | string API şifresi |
{- "username": "9085000000",
- "password": "111111"
}Kampanya silindi: 123456
Karaliste’deki numaraları listelemek için kullanılır.
Bu endpoint, kullanıcı adı ve şifre ile kimlik doğrulaması gerektirir.
Total değeri toplam kayıt sayısını verir, bir sorguda en fazla 100 adet kayıt dönülür. Devamını almak için offset değerini yükseltip tekrar sorgulamalısınız.
| username required | string Kullanıcı adı |
| password required | string Şifre |
| offset | integer Sayfalama Taban Değeri |
| limit | integer Sayfa Kayıt Sayısı |
{- "total": 2,
- "records": [
- {
- "created_at": "2019-11-25T11:13:24.988+03:00",
- "phone": "905111111111",
- "source": "ret_web"
}, - {
- "created_at": "2020-06-02T16:59:56.957+03:00",
- "phone": "905111111112",
- "source": "oim"
}
]
}Karalisteye numara eklemek için kullanılır.
Bu endpoint, kullanıcı adı ve şifre ile kimlik doğrulaması gerektirir.
| username required | string Kullanıcı adı |
| password required | string Şifre |
| phones | string Karalisteye eklenmeleri istenen numaralar, virgülle ayrılmış liste olarak girilmelidir. Örnek: 905111111111,905111111112 |
Karalisteden numara(lar)ı silmek için kullanılır.
Bu endpoint, kullanıcı adı ve şifre ile kimlik doğrulaması gerektirir.
| phones required | string Karalisteden silinmesi istenen numaralar, virgülle ayrılmış liste olarak girilmelidir. Örnek: 905111111111,905111111112 |
| username required | string kullanıcı adı |
| password required | string Şifre |
Gönderim Raporu almak için kullanılır.
| username required | string kullanıcı adı |
| password required | string Şifre |
| id required | integer Kampanya ID’si. Bu parametre zorunludur. Kampanya ID’si, API’nin gönderim sırasında ürettiği ID’dir. Bu ID ile sorgulama yapabilirsiniz. |
| dest | string Zorunlu değil. Kampanya’da belirli telefon numaralarına gönderilmiş mesajları sorgular |
| greater_than | integer Verilen message_id’den büyük mesajları sorgular. Bu parametre, içinde çok mesaj olan kampanyaların sorgulanması için zorunludur. Bu sorgu 100 mesaj döndürür, mesajların devamını almak için sonuçtaki son mesaj id’sini vererek ikinci bir sorgu yapmalısınız. |
[- {
- "campaign_id": 25388,
- "campaign_custom_id": null,
- "message_id": 23009861,
- "message_custom_id": null,
- "dest": "905111111111",
- "size": 1,
- "international_multiplier": 1,
- "credits": 1,
- "status": "EXPIRED",
- "gsm_error": null,
- "sent_at": null,
- "done_at": "2025-03-19T15:27:37.348+03:00"
}
]Gönderim Raporu almak için kullanılır.
| username required | string kullanıcı adı |
| password required | string Şifre |
| custom_id required | string Kampanya Custom ID’si. Bu parametre zorunludur. Kampanya Custom ID’si, API’nin gönderim sırasında ürettiği Custom ID’dir. Bu ID ile sorgulama yapabilirsiniz. |
| dest | string Zorunlu değil. Kampanya’da belirli telefon numaralarına gönderilmiş mesajları sorgular |
| greater_than | integer Verilen message_id’den büyük mesajları sorgular. Bu parametre, içinde çok mesaj olan kampanyaların sorgulanması için zorunludur. Bu sorgu 100 mesaj döndürür, mesajların devamını almak için sonuçtaki son mesaj id’sini vererek ikinci bir sorgu yapmalısınız. |
[- {
- "campaign_id": 25388,
- "campaign_custom_id": null,
- "message_id": 23009861,
- "message_custom_id": null,
- "dest": "905111111111",
- "size": 1,
- "international_multiplier": 1,
- "credits": 1,
- "status": "EXPIRED",
- "gsm_error": null,
- "sent_at": null,
- "done_at": "2025-03-19T15:27:37.348+03:00"
}
]Bu API, gelen SMS’lerinizi sorgulamak için kullanılır.
Smsapi hesabınıza gelen sms’leri iki farklı yöntemle teslim edebilir. Bunlar PUSH ve GET yöntemleridir.
Bu servis HTTP GET ile Gelen SMS Alımı hizmetini sağlar. PUSH ile Gelen SMS Alımı konusu için Webhooks Bölümü altındaki ilgili başlğıa bakabilirsiniz.
Sorgulama, belirli bir zaman aralığında veya belirli bir message_id’den büyük mesajları almak için yapılabilir.
| username required | string Kullanıcı adı |
| password required | string Şifre |
| from_time | string Sorgulanacak zaman aralığının başlangıcı (YYYY-MM-DD HH:MM:SS) |
| to_time | string Sorgulanacak zaman aralığının bitişi (YYYY-MM-DD HH:MM:SS) |
| greater_than | integer Verilen message_id’den büyük mesajları sorgular. Bu sorgu 100 mesaj döndürür, mesajların devamını almak için sonuçtaki son mesaj id’sini vererek ikinci bir sorgu yapmalısınız. |
[- {
- "message_id": 12345,
- "created_at": "2017-01-01T10:00:00+03:00",
- "network": "TURKCELL",
- "source_addr": "908500000000",
- "destination_addr": "4609",
- "keyword": "verimor",
- "content": "verimor deneme",
- "received_at": "2017-01-01T10:00:00+03:00"
}
]Ticari ileti göndermek için markalarınızı İYSye (İleti Yönetim Sistemi) kaydettirmiş olmalı ve OİM Başlık Yönetiminden ilgili başlığa İYS kodlarını girmiş olmanız gerekir. Bu işlemleri yaptıktan sonra müşterilerinizden aldığınız izinleri bu yöntemle İYSye bildirebilirsiniz.
Aşağıdaki örnekte olduğu gibi bir JSON string POST edilir.
Daha sonra istenirse, "İYS İZİNLERİ RAPORU" başlığı altındaki dökümandan faydalanılarak, gönderilen izinlerin durumları alınabilir.
| username required | string Kullanıcı Adı |
| password required | string Şifre |
| source_addr required | string Başlık |
required | Array of objects |
{- "username": "908501234567",
- "password": "xxxxxxx",
- "source_addr": "BASLIGIM",
- "consents": [
- {
- "type": "MESAJ",
- "source": "HS_WEB",
- "status": "ONAY",
- "recipient_type": "BIREYSEL",
- "consent_date": "2022-04-14 13:30:30",
- "recipient": "905111111111"
}, - {
- "type": "ARAMA",
- "source": "HS_MESAJ",
- "status": "RET",
- "recipient_type": "BIREYSEL",
- "consent_date": "2022-04-14 13:30:30",
- "recipient": "905111111112"
}, - {
- "type": "EPOSTA",
- "source": "HS_MESAJ",
- "status": "RET",
- "recipient_type": "BIREYSEL",
- "consent_date": "2022-04-14 13:30:30",
- "recipient": "arge@verimor.com.tr"
}
]
}Gönderilen İYS izinleri ve İYS günlük vatandaş izin değişiklikleri için kampanyalar oluşturulur. Bu kampanyalar bu servisi kullanarak görülebilir.
Total değeri toplam kayıt sayısını verir, bir sorguda en fazla 100 adet kayıt dönülür. Devamını almak için offset değerini yükseltip tekrar sorgulamalısınız.
| username required | string Kullanıcı adı |
| password required | string Şifre |
| offset | integer Sayfalama başlangıcı |
| limit | integer Sayfalama limiti |
| source | string Kaynak (e.g., list, csv, api, sms, web, iys) |
{- "records": [
- {
- "id": 103,
- "header_name": "VERIMOR",
- "iys_code": 627033,
- "iys_brand_code": 627033,
- "source": "iys",
- "created_at": "2021-02-10T11:58:57.508+03:00"
}, - {
- "id": 104,
- "header_name": "VERIMOR",
- "iys_code": 627033,
- "iys_brand_code": 627033,
- "source": "iys",
- "created_at": "2021-02-10T11:59:16.895+03:00"
}
], - "total": 2
}Gönderilen İYS izinleri ve İYS günlük vatandaş izin değişikliklerini kampanya idsi ile sorgulayabilirsiniz.
Total değeri toplam kayıt sayısını verir, bir sorguda en fazla 100 adet kayıt dönülür. Devamını almak için offset değerini yükseltip tekrar sorgulamalısınız.
| id required | integer Kapmanya ID |
| username required | string Kullanıcı adı |
| password required | string şifre |
| offset | integer Sayfalama başlangıcı |
| limit | integer Sayfalama limiti |
{- "total": 2,
- "source_addr": "BASLIGIM",
- "status": "Tamamlandı",
- "records": [
- {
- "type": "MESAJ",
- "source": "HS_WEB",
- "recipient": "905111111114",
- "status": "ONAY",
- "consent_date": "2020-06-11T22:14:00.000+03:00",
- "recipient_type": "BIREYSEL",
- "request_status": "Başarılı"
}, - {
- "type": "MESAJ",
- "source": "HS_WEB",
- "recipient": "905111111111",
- "status": "RET",
- "consent_date": "2020-06-11T22:14:00.000+03:00",
- "recipient_type": "BIREYSEL",
- "request_status": "Başarısız",
- "request_error": "H175 İlk defa kaydedilen bir iznin durum (status) bilgisi RET olmamalıdır."
}
]
}