Giriş
Web uygulamanıza mesajlaşma yeteneklerini sorunsuz bir şekilde entegre edebileceğiniz SMS API belgelerimize hoş geldiniz. SMS API'miz, uygulamanızdan doğrudan mesaj göndermeyi kolaylaştıran basit bir uygulama sunar, böylece kullanıcı etkileşimini artırabilirsiniz.
Bildirimler, uyarılar veya diğer SMS türlerini göndermek istiyor olun, API'miz güvenilir ve verimli bir çözüm sunar. Bu belge, SMS API'mizi web uygulamanıza sorunsuz bir şekilde entegre etmek için gerekli adımları size rehberlik edecektir.
SMS API Hizmeti
SMS API hizmetimize hoş geldiniz. Bu hizmet, kapsamlı RESTful API'miz aracılığıyla web siteniz, uygulamanız veya müşteri ilişkileri yönetim platformunuz için SMS işlevselliğini kolayca etkinleştirmenizi sağlar.
API aracılığıyla programlama bağlantısı, mesajlaşma servisi hesabınız ile web siteleri, mobil uygulamalar, muhasebe programları ve müşteri yönetim sistemleri gibi harici uygulamalar arasında sorunsuz bağlantılar kurmanıza olanak tanır. SMS sistemi PHP, JAVA, C++ ve ASP dahil olmak üzere tüm önemli programlama dillerini destekler.
Giriş yaptıktan sonra hesabınızda doğrudan bağlantı seçeneğine erişerek bağlantı sürecini başlatabilirsiniz. Sistemimiz sizi bağlantı süreci boyunca sorunsuz bir şekilde yönlendirecektir.
Doğrudan bağlantı için ek maliyetler mi merak ediyorsunuz? Endişelenmeyin, programlı bağlantı süreci için ekstra ücretler bulunmamaktadır. Ayrıca, özel teknik destek ekibimiz SMS Başlık'ınızı tam olarak onaylamak ve yapılandırmak için size yardımcı olacaktır.
Gereksinimler
API hizmetini kullanmadan önce, hesabınızın aşağıdaki koşulları karşıladığından emin olun, böylece mesajlaşma servisi ile doğru ve sorunsuz bir bağlantı kurabilirsiniz:
Aktif Hesap |
Hesabınızın mesajlaşma servisinde aktif olması ve kontrol panelinizin tamamen etkinleştirilmiş olması gerekmektedir. |
---|---|
Mesaj Bakiyesi |
API'yi kullanmak için hesabınızda yeterli mesaj bakiyesini koruyun. |
Onaylı SMS Başlığı |
Hesabınızın tamamen onaylanmış bir SMS Başlığı'na sahip olduğundan emin olun. |
Başlarken
SMS API entegrasyonunuza başlamak için bu basit adımları takip edin:
- Hesabınıza giriş yapın.
- Ana menüye gidin ve "Hesabım" seçeneğini seçin, ardından "API Ayarları"nı seçin.
API Ayarları bölümünde, SMS API hizmetini etkili bir şekilde kullanmaya başlamak için gereken hesabınıza ait temel bilgileri bulacaksınız.
Kimlik Doğrulama
SMS API'ye bağlanmak için aşağıdaki URL adresini kullanın:
/api/v3/authenticate/login
Parametreler
$api_key = '';
$report = '';
$response_type = '';
Parametre Açıklamaları
$api_key |
varchar | Hesabınızdan aldığınız API anahtarı. |
---|---|---|
$report |
int | Gönderim sürecinin ayrıntılarını görüntüleme seçeneği (rapor için 1, iptal için 0). |
$response_type |
int | Yanıt türü (JSON veya Dizi). |
Örnek Yanıtlar (rapor seçeneği etkinleştirilmişse)
Yanıt Kodu
Array
(
[result] => true
[result_code] => TS-1046
[result_message] => operation_success
[user_id] => USERID
[account_name] => ACCOUNTNAME
)
Yanıt Ayrıntıları
result |
İşlem sonucu (başarı için true, başarısızlık için false). |
---|---|
result_code |
Durum kodu (kodlar listesi için Yanıt Koduna bakın). |
result_message |
İşlemin başarısı veya başarısızlığı hakkında mesaj. |
user_id |
Kimlik doğrulaması yapılan hesap kimliği API aracılığıyla gösterilir. |
account_name |
Kimlik doğrulaması yapılan hesap adı API aracılığıyla gösterilir. |
SMS Gönderme POST
SMS API'ye bağlanmak için aşağıdaki URL adresini kullanın:
turkeysms.com.tr/api/v3/gonder/add-content
Parametreler
$title = '';
$api_key = '';
$text = '';
$sentto = '';
$report = '';
$sms_lang = '';
$response_type = '';
$content_type = '';
Parametre Açıklamaları
$title |
varchar | Hesabınızda görünen Gönderici Kimliğiniz. |
---|---|---|
$api_key |
varchar | Hesabınızdan API anahtarınız. |
$text |
text | Mesaj metni. |
$sentto |
int | Alıcı mobil telefon numarası. |
$report |
int | Gönderim sürecinin detaylarını görüntüleme seçeneği (rapor için 1, iptal için 0). |
$sms_lang |
int | Mesaj metninin kodlaması, varsayılan olarak UTF-8. |
$response_type |
int | Yanıt türü (JSON veya Array). |
$content_type |
int |
SMS mesajında gönderilen içeriğin türü. Bu parametre, mesajın doğasını tanımlamaya yardımcı olur ve aşağıdaki değerleri kabul eder:
|
Örnek Yanıtlar (rapor seçeneği etkinse)
Yanıt Kodu
Array
(
[result] => true
[sms_id] => 1000007721
[total_has_sent_last_1_min] => 1
[number_of_sms] => 1
[result_code] => TS-1024
[result_message] => The message was sent successfully
[sms_lang] => Arabic
[content_type] => Transactional
[country] => Turkey-TR
)
Yanıt Detayları
result |
İşlem sonucu (başarı için true, başarısızlık için false). |
---|---|
sms_id |
Mesaj ID'si (uzunluğu değişebilir). |
number_of_sms |
Kullanılan kredi sayısı. |
result_code |
Durum kodu (kod listesi için Yanıt Kodu'na başvurun). |
result_message |
İşlemin başarı veya başarısızlık hakkında mesaj. |
sms_lang |
Gönderilen mesajın dili. |
content_type |
SMS mesajında gönderilen içeriğin türü (İşlem, Yüksek Kalite, Reklam). |
total_has_sent_last_1_min |
Son 1 dakikada gönderilen toplam mesaj sayısı. |
country |
Mesajın gönderildiği ülke. |
Birden Fazla Numaraya Tek Bir Metin Gönderme
Bu seçenek, birden fazla numaraya tek bir mesaj göndermenizi sağlar, bu da birçok kullanıcıyla etkili iletişim kurmanıza olanak tanır. Sayıdan bağımsız olarak mesajınızı kolaylıkla ve etkili bir şekilde gönderebilir, zaman ve çaba tasarrufu sağlayabilirsiniz.
Gönderim bağlantısı
/api/v3/gruba-gonder/post/tek-metin-gonderimi/
Bağlantı aracılığıyla gönderilen değişkenler şunları içerir:
$title = '';
$api_key = '';
$text = '';
$sentto = '';
$report = '';
$sms_lang = '';
$response_type = '';
Bağlantı üzerinden gönderilen değişkenlerin açıklamaları:
title$ |
varchar | Hesabınızda bulunan başlık bilgisini belirtir, harf durumunu dikkate alır. |
---|---|---|
api_key$ |
varchar | Hesabınızdaki gönderim anahtarını belirtir. |
text$ |
text | Göndermek istediğiniz mesajın metnini belirtir. |
sentto$ |
array | Gönderilecek numaraları bir DİZİ olarak ekler, örneğin: array('905000000001', '905000000002') |
report$ |
int | Gönderim işlem raporunu görüntüleme seçeneğini belirtir, değeri 1 ise rapor gösterilir, 0 ise gösterilmez. |
sms_lang$ |
int | Gönderilen mesajın içeriğinin dilini belirtir, 2 Arapça için ve 0 İngilizce için. |
response_type$ |
int | Gönderim sunucusu tarafından dönülen cevap dilini belirtir. |
Gönderim işleminden sonra sunucudan gelen yanıt, işlemin sonucunu açıklar. Rapor görüntüleme seçeneği aktifse, Gönderim Kodlarının Açıklaması sayfasından gönderim kodlarını takip edebilirsiniz.
Sunucudan gönderim işlemi sonrası gelen yanıt örneği:
Array
(
[result] => true
[rapor_id] => 123456
[total_mobile_num] => 2
[number_of_sms] => 1
[result_code] => TS-1024
[result_message] => The message was sent successfully
[sms_lang] => turkce
[country] => Turkey-TR
)
Sunucudan gelen yanıt değişkenlerinin açıklamaları:
result |
İşlemin sonucunu gösterir; başarılı ise true, başarısız ise false. |
---|---|
rapor_id |
Gönderim işlem rapor numarası. |
total_mobile_num |
Mesajın gönderildiği toplam numara sayısı. |
number_of_sms |
Mesaj gönderiminden sonra hesabınızdan düşülen SMS sayısı veya miktarı. |
result_code |
İşlem kodu; ayrıntılı bilgi için Gönderim Kodları bölümünü takip edebilirsiniz. |
result_message |
İşlem sonucunu açıklayan mesaj; işlem başarılı ise mesaj gönderildi, değilse gönderilemedi gibi. |
sms_lang |
Gönderilen mesajın içeriğinin dilini gösterir. |
country |
Mesajın gönderildiği ülkenin adı. |
Toplu Mesaj Gönderimi - Her Numara İçin Farklı Metinler
Bu seçenek, birçok numaraya özel mesaj gönderme imkanı sunar; her numara için farklı bir metin iletişimi sağlar. Bu, büyük bir kullanıcı grubuyla etkili ve hızlı iletişim kurmanızı sağlar, zaman ve çaba tasarrufu sağlar.
Toplu mesaj gönderimi için gönderim bağlantısı - Farklı numaralar ve metinler
/api/v3/gruba-gonder/post/coklu-metin-gonderimi/
Bağlantı üzerinden gönderilen değişkenler şunları içerir:
$title = '';
$api_key = '';
$text = '';
$sentto = '';
$report = '';
$sms_lang = '';
$response_type = '';
Bağlantı üzerinden gönderilen değişkenlerin açıklamaları:
title$ |
varchar | Hesabınızdaki başlık bilgisini belirtir, harf durumunu dikkate alır. |
---|---|---|
api_key$ |
varchar | Hesabınızdaki gönderim anahtarını belirtir. |
text$ |
array | Metinleri bir dizi içinde belirtir (ARRAY), örneğin: array('metin_01', 'metin_02'). Metin dizisindeki sıralamanın numara dizisindeki sıralamayla eşleştiğinden emin olunmalıdır. |
sentto$ |
array | Gönderilecek numaraları bir dizi içinde belirtir (ARRAY), örneğin: array('905000000001', '905000000002'). |
report$ |
int | Gönderim işlem raporunu görüntüleme seçeneğini belirtir, değeri 1 ise rapor gösterilir, 0 ise gösterilmez. |
sms_lang$ |
int | Gönderilen mesajın içeriğinin dilini belirtir, 2 Arapça için ve 0 İngilizce için. |
response_type$ |
int | Gönderim sunucusu tarafından dönülen cevap dilini belirtir. |
Gönderim işleminden sonra sunucudan gelen yanıt, işlemin sonucunu açıklar. Rapor görüntüleme seçeneği aktifse, Gönderim Kodlarının Açıklaması sayfasından gönderim kodlarını takip edebilirsiniz.
Sunucudan gönderim işlemi sonrası gelen yanıt örneği:
Array
(
[result] => true
[rapor_id] => 123456
[total_mobile_num] => 2
[number_of_sms] => 1
[result_code] => TS-1024
[result_message] => The message was sent successfully
[sms_lang] => turkce
[country] => Turkey-TR
)
Sunucudan gelen yanıt değişkenlerinin açıklamaları:
result |
İşlemin sonucunu gösterir; başarılı ise true, başarısız ise false. |
---|---|
rapor_id |
Gönderim işlem rapor numarası. |
total_mobile_num |
Mesajın gönderildiği toplam numara sayısı. |
number_of_sms |
Mesaj gönderiminden sonra hesabınızdan düşülen SMS sayısı veya miktarı. |
result_code |
İşlem kodu; ayrıntılı bilgi için Gönderim Kodları bölümünü takip edebilirsiniz. |
result_message |
İşlem sonucunu açıklayan mesaj; işlem başarılı ise mesaj gönderildi, değilse gönderilemedi gibi. |
sms_lang |
Gönderilen mesajın içeriğinin dilini gösterir. |
country |
Mesajın gönderildiği ülkenin adı. |
GET Format ile SMS Gönderme
API kullanarak mesaj göndermenin GET formatını kullanmayı öğrenin. Mesajları GET formatıyla göndermek basit ve anlaşılır bir süreçtir.
Değişkenler ve seçenekler yukarıda belirtilen örneklerde olduğu gibi linkin sonuna eklenir. Bağlantı yapısı aşağıdaki gibidir:
api/v3/get/get.php?
api_key=API_KEY_HERE&
mobile=MOBILE_HERE&
title=TITLE_HERE&
text=SMS_TEXT_HERE&
report=1&
lang=2&
response_type=json&
content_type=0
GET isteğinde veriler URL içinde gönderilir, bu da onları görünür ve anlaması kolay hale getirir. Parametreler, bir soru işaretinden (`?`) sonra URL'ye eklenir ve her parametre-değer çifti bir ampersand (`&`) ile ayrılır. Bu basitlik, test etmek ve hızlı entegrasyon için uygun kılar.
Önemli bir not olarak, URL içinde verilerin görünür olması nedeniyle güvenlik nedenleriyle hassas bilgiler GET istekleri aracılığıyla iletilmemelidir. Hassas veriler için POST yönteminin kullanılması önerilir.
OTP SMS Gönderme
OTP servisi, "Bir Kullanımlık Şifre" anlamına gelen kısaltmasıyla, bir defaya mahsus kullanılmak üzere rastgele oluşturulan bir kod üretir. Bu kod, SMS aracılığıyla gönderilir ve doğrulama işlemlerinde, giriş prosedürlerinde ve hesap onaylarında kullanılır. OTP, genellikle giriş süreçleriniz için güvenliği artırmak amacıyla iki faktörlü kimlik doğrulamada kullanılır. OTP'nin önemli bir özelliği, şifrenin yalnızca bir defa kullanılabilir olmasıdır, bu da siber saldırılara ve şifre tahmin girişimlerine karşı ek güvenlik sağlar.
Önemli Not: OTP servisi, diğer türlerdeki mesajlara kıyasla mesajları daha hızlı bir şekilde iletmekte üstün bir performans sergiler. Ayrıca, OTP servisi müşteri hesabında etkinleştirilmiş bir gönderen kimliği gerektirmez ve mesaj içeriği üzerinde kontrol sağlanamaz, çünkü sadece doğrulama kodu içindir.
SMS OTP gönderme için doğrudan API bağlantısı [GET] şu şekildedir:
/api/v3/otp/otp_get.php
Bağlantı üzerinden gönderilen değişkenler şunlardır:
$api_key = '';
$mobile = '';
$digits = '';
$report = '';
$lang = '';
$response_type = '';
Bağlantı üzerinden gönderilen değişkenlerin açıklamaları:
api_key$ |
varchar | API anahtarınız buraya yerleştirilir. |
---|---|---|
mobile$ |
int | Alıcı numarası. Harf veya semboller içermemelidir. |
digits$ |
int | Doğrulama kodundaki rakam sayısı. |
report$ |
int | Teslimat raporunu gösterme seçeneği. 1 göstermek için, 0 iptal etmek için. |
lang$ |
int | Gönderilen mesajın dil seçeneği. 2 Arapça, 0 İngilizce. |
response_type$ |
int | Sunucu yanıtını belirli bir programlama dilinde gösterme seçeneği. |
Gönderme işleminden sonra, sunucu aşağıdakilerle yanıt verecektir:
Gönderme işleminden sonra sunucunun örnek yanıtı:
Array
(
[result] => true
[otp_code] => 123456
[sms_id] => 1000007721
[number_of_sms] => 1
[result_code] => TS-1024
[result_message] => The message was sent successfully
[sms_lang] => English
[country] => Turkey-TR
)
Sunucudan gelen değişkenlerin açıklamaları:
result |
İşlemin sonucu. "true" başarıyı, "false" başarısızlığı gösterir. |
---|---|
otp_code |
Alıcıya gönderilen doğrulama kodu. |
sms_id |
İşlemin kaydedilen ID'si, mesajın durumunu takip etmeye olanak tanır. |
number_of_sms |
Mesajı gönderdikten sonra hesabınızdan düşülen mesaj sayısı veya kredi sayısı. |
result_code |
İşlem kodu. Tam ayrıntılar için gönderme kodları bölümüne başvurun. |
result_message |
Gönderilen işlemin mesajı. İşlemin başarısı veya başarısızlığı hakkında bir mesaj görüntüler. |
sms_lang |
Gönderilen mesajın dili. |
country |
Mesajın gönderildiği ülkenin adı. |
OTP SMS Seçenekleri
digits$ |
Gönderilecek kodun rakam sayısını belirtir.
Eğer değer 4 ise, kod 4 haneli olacaktır [0000].
Eğer değer 5 ise, kod 5 haneli olacaktır [00000].
Eğer değer 6 ise, kod 6 haneli olacaktır [000000].
|
---|
Mesaj İçeriği Dil Seçenekleri
sms_lang$ |
Bu değişkenin değeri 0 ise, mesaj içeriği İngilizce olacaktır (1 SMS = 160 karakter).
Değer 1 ise, mesaj içeriği Türkçe olacaktır ve Türkçe karakterleri destekleyecektir (1 SMS = 155 karakter.
Değer 2 ise, mesaj içeriği Arapça dilini destekleyecektir (1 SMS = 64 karakter).
|
---|
Yanıt Seçeneği
response_type$ |
Değişkenin değeri json ise, yanıt JSON formatında olacaktır.
Değer php ise, yanıt PHP formatında olacaktır.
|
---|
Yanıt Kodları (Response Codes)
Doğrudan API bağlantısı üzerinden bir mesaj gönderildiğinde, sunucu işlemin sonucunu belirtmek için bir kodla yanıt verecektir. Bu kodlar, gerçekleştirdiğiniz işlemin sonucu hakkında bilgi sağlar.
Yanıt Kodları
TS-1024 |
Mesaj başarıyla gönderildi |
---|---|
TS-1025 |
Cep telefonu numarası girilmemiş. Telefon numarası boş |
TS-1026 |
Mesaj metni boş .. Hiç mesaj metni yazılmamış |
TS-1027 |
Hesabınızda yeterli bakiye bulunmamaktadır |
TS-1028 |
Gönderici Kimlik hesabınız için aktif değil |
TS-1029 |
Gönderici Kimlik mevcut değil .. Lütfen doğru yazdığınızdan emin olun |
TS-1030 |
Hesabınız SMS servis sağlayıcısı ile etkin değil |
TS-1031 |
Api anahtarı geçersiz |
TS-1032 |
Mesajın gönderildiği numara Türkiye dışında uluslararasıdır. Hesabınız uluslararası SMS için etkinleştirilmemiştir |
TS-1033 |
Link aracılığıyla gönderilen veri yanlış |
TS-1034 |
Mesajın gönderildiği cep telefonu numarası geçersiz |
TS-1060 |
Son 1 dakikada gönderilen mesaj sayısı sınırını aştınız |
TS-1061 |
Gönderim için API Anahtarı etkin değil (POST) |
TS-1062 |
Gönderim için API Anahtarı etkin değil (GET) |
TS-1050 |
API anahtarı boş ve yazılmamış |
TS-1051 |
Gönderme başlığı boş ve yazılmamış |
TS-1052 |
Mesaj Kimliği yazılmamış |
TS-1063 |
API anahtarı için mesaj durumu kontrolü etkin değil |
TS-1064 |
Mesaj durumu kontrolü başarılı |
TS-1065 |
Hesabınızın API anahtarı için bakiye kontrolü etkin değil |
TS-1022 |
Numara mesajı almadı |
TS-1023 |
Kapsama alanı dışındaki numara henüz mesajı almadı |
TS-1070 |
Zamanlanmış Gönderim - Tarih belirtilmemiş veya geçersiz. Lütfen geçerli bir tarih girin. |
TS-1071 |
Zamanlanmış Gönderim - Saat belirtilmemiş veya geçersiz. Lütfen geçerli bir saat girin. |
TS-1072 |
Geçmiş bir tarih veya saat ile zamanlanmış mesaj gönderilemez. Lütfen tarihi ve saati tekrar kontrol edin. |
SMS Durumunu Kontrol Etme
Yetkilendirme kodu doğrulama, API'ye iki parametre ile POST isteği yaparak yapılabilir: alıcı cep telefonu numarası
turkeysms.com.tr/api/v3/sms-durumu/sms_durumu.php?api_key=API_KEY_HERE&sms_id=SMS_ID_HERE&response_type=php
Link üzerinden gönderilen değişkenler
$api_key = '';
$sms_id = '';
$response_type = '';
Parametre Açıklaması
api_key$ |
varchar | Hesabınızdaki API anahtarınız buraya yerleştirilecektir |
---|---|---|
sms_id$ |
int | Mesaj Kimliği |
response_type$ |
int | Yanıt JSON veya PHP olarak gönderiliyor |
Çağrı Geri Raporları
Örnek Yanıt
Array
(
[result] => true
[sender_id] => SenderID
[date_of_sending] => 2021-01-01
[time_of_sending] => 13:10:00
[sms_status] => Number received the message
[sms_status_code] => TS-1024
[sms_balance] => 1 SMS
[operator] => Turkcell
)
Parametre Açıklaması
result |
İşlemin sonucu, başarılı ise true görünür ve iletim başarısız olursa false görünür |
---|---|
sender_id |
Mesaj Kimliği. Bu parametrenin uzunluğu her istekte değişebilir |
date_of_sending |
Mesajın gönderildiği tarih |
time_of_sending |
Mesajın gönderildiği saat |
sms_status |
Mesaj Durumu - Teslim Edildi - Teslim Edilmedi - Numara kapsama dışında |
sms_status_code |
Durum Kodu |
sms_balance |
Kullanılan kredi sayısı |
operator |
Numaranın hangi şirkete ait olduğu |
Rapor Durumunu Sorgulama
Rapor durumunu sorgulama hizmeti, gönderilen kısa mesajların durumunu takip etmenizi sağlar. Sorgulama için iki seçenek mevcuttur: temel sorgulama ve detaylı sorgulama. Bu hizmeti, API'ye birkaç parametre ile POST
isteği yaparak kolayca kullanabilirsiniz.
Birinci Seçenek: Rapor Sorgulama (Temel)
Bu seçenek, gönderilen kısa mesajların raporunu almanızı sağlar, ancak numara bilgilerini içermez. Aşağıdaki bağlantıya istek göndererek raporu alabilirsiniz:
https://www.turkeysms.com.tr/api/v3/rapor/temel
İstekle birlikte gönderilecek değişkenler:
$api_key = ''; // Hesabınızın API anahtarı
$raporid = ''; // Rapor kimliği
$response_type = ''; // Yanıt türü (JSON veya PHP)
Değişkenlerin Açıklaması:
$api_key |
Hesabınıza ait API anahtarı. Bu anahtar, isteğin güvenilir bir kaynaktan geldiğini doğrular. |
---|---|
$raporid |
Sorgulamak istediğiniz raporun kimliği. |
$response_type |
Yanıt formatı (JSON veya PHP) ihtiyacınıza göre seçilebilir. |
Örnek Temel Yanıt:
Array
(
"result" => true,
"status_code" => "TS-1064",
"report_id" => "123456",
"sending_date" => "2024-09-19",
"sending_time" => "19:35:38",
"report_status" => "Report dispatched successfully.",
"number_verification_status" => "Undergoing number verification.",
"total_mobile_numbers" => "2492",
"sms_sender_id" => "TURKEY SMS",
"numbers_received" => "1968",
"numbers_not_received" => "0",
"invalid_numbers" => "0",
"blocked_numbers" => "0",
"turkcell_count" => "860",
"turktelekom_count" => "566",
"vodafone_count" => "320",
"message_validity_duration" => "1440"
)
İkinci Seçenek: Rapor Sorgulama (Detaylı)
Bu seçenek, raporun yanı sıra gönderilen numaraların detaylı listesini içerir. Aşağıdaki bağlantı üzerinden istek yaparak detaylı rapor alabilirsiniz:
turkeysms.com.tr/api/v3/rapor/detayli
Gönderilen değişkenler temel seçenektekiyle aynıdır, ancak yanıt daha detaylı olup her bir numaranın durumunu gösterir.
Örnek Detaylı Yanıt:
Array
(
"result" => true,
"status_code" => "TS-1064",
"report_id" => "123456",
"sending_date" => "2024-09-19",
"sending_time" => "19:35:38",
"report_status" => "Report dispatched successfully.",
"number_verification_status" => "Undergoing number verification.",
"total_mobile_numbers" => "2492",
"sms_sender_id" => "TURKEY SMS",
"numbers" => array(
array(
"number_id" => 1,
"phone_number" => "5551234567",
"sent_at" => "2024-09-19 19:35:38",
"done_at" => "2024-09-19 19:36:01",
"sms_count" => 1,
"sms_status" => "Number received the message",
"operator" => "TURKCELL"
),
// Diğer numaralar aynı formatta gösterilir
)
)
Bu hizmet, toplu kısa mesajların durumunu takip etmenizi sağlar ve mesajların hedef numaralara ulaşıp ulaşmadığını kontrol etmek için kullanılır. Detaylı sorgulama, her bir numaranın durumunu görmek isteyen kullanıcılar için idealdir.
Bakiye Sorgulama [POST]
Hesabınızdaki mevcut bakiyeyi sorgulayabilirsiniz, hem yerel hem de uluslararası.
turkeysms.com.tr/api/v3/bakiye_sorgulama/add-content
Gönderilen sorgu için değişkenler:
$api_key = '';
$response_type = '';
Bağlantı üzerinden gönderilen değişkenlerin açıklaması:
api_key$ |
varchar | Buraya API anahtarınızı yerleştirin. |
---|---|---|
response_type$ |
int | Sunucu yanıtını belirli bir programlama dilinde görüntüleme seçeneği. |
Sorgulama işleminden sonra sunucu şu şekilde yanıt verecektir:
Sunucudan gelen örnek yanıt:
Array
(
[result] => true
[result_code] => TS-1040
[result_message] => operation_success
[api_key] => api_key
[local_balance_sms] => 1
[international_balance_tl] => 1
)
Sunucudan gelen değişkenlerin açıklaması:
result |
İşlemin sonucu. "true" başarıyı, "false" başarısızlığı gösterir. |
---|---|
result_code |
İşlem kodu. |
result_message |
İşlem mesajının içeriği. |
api_key |
Burada hesabın bağlantı anahtarı görünür. |
local_balance_sms |
Yerel bakiye - Türkiye içinde, mesaj sayısı olarak görüntülenir. |
international_balance_tl |
Uluslararası bakiye - Türk Lirası cinsinden finansal bir değer olarak görüntülenir. |
Uluslararası SMS
"Uluslararası mesajlar" terimi, Türkiye Cumhuriyeti sınırları dışına gönderilen mesajları ifade eder.
Bu mesajlar, uluslararası kod ile başlamayan (+90-0090) tüm numaraları içerir.
Türkiye SMS servisi, hesabınız aracılığıyla dünya genelinde herhangi bir ülkeye SMS göndermenize olanak tanır.
Ancak, herhangi bir ülkeye mesaj göndermek için hesabınıza uluslararası bakiye yüklemeniz gerekmektedir.
Mesajın fiyatı ülkeden ülkeye değişir ve uluslararası mesajın teslim süresi de değişiklik gösterir.
Uluslararası gönderim yapabilmek için hesabınızı etkinleştirmek için Türkiye SMS servisinin Teknik Destek Merkezi ile iletişime geçmelisiniz.
Nasıl API aracılığıyla uluslararası bir mesaj gönderirim?
API aracılığıyla uluslararası bir mesaj gönderme süreci, Türkiye içindeki yerel bir mesaj gönderme süreciyle aynıdır, aynı bağlantıyı ve tüm mevcut seçenekleri kullanır.
Ancak hesabınızı uluslararası bakiye ile doldurmanız gerekmektedir.
Alıcının numarası uluslararası kod ile yazılmalıdır.
Örnek
Metin mesajlaşma sistemi, sorunsuz entegrasyon için çeşitli programlama dillerini destekler. Aşağıda farklı programlama dilleri için örnekler bulunmaktadır:
PHP Java JavaScript NodeJS Python CSharp C(LibCURL) Go ObjectiveC Ruby SwiftPHP
function sendRequest($site, $data)
{
$json = json_encode($data);
$ch = curl_init($site);
$header = array('Content-Type: application/json');
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $json);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
$api_key = '';
$title = '';
$text = '';
$sentto = '';
$body = array("api_key" => $api_key, "title"=>$title, "text"=>$text,"sentto"=>$sentto);
$result = sendRequest('/api/v3/gonder/add-content', $body);
//http://www.lalit.org/lab/convert-xml-to-array-in-php-xml2array/
JAVA
Unirest.setTimeouts(0, 0);
HttpResponse response = Unirest.post("/api/v3/gonder/add-content")
.header("Content-Type", "application/json")
.body("{\"api_key\":\"API_KEY_HERE\",\"title\":\"SMS_TITLE_HERE\",\"text\":\"TEXT_SMS\",\"sentto\":\"90500000000\"}")
.asString();
JavaScript
var myHeaders = new Headers();
myHeaders.append("Content-Type", "application/json");
var raw = JSON.stringify({"api_key":"API_KEY_HERE","title":"SMS_TITLE_HERE","text":"TEXT_SMS","sentto":"90500000000"});
var requestOptions = {
method: 'POST',
headers: myHeaders,
body: raw,
redirect: 'follow'
};
fetch("/api/v3/gonder/add-content", requestOptions)
.then(response => response.text())
.then(result => console.log(result))
.catch(error => console.log('error', error));
Python
import requests
url = "/api/v3/gonder/add-content"
payload = "{\"api_key\":\"API_KEY_HERE\",\"title\":\"SMS_TITLE_HERE\",\"text\":\"TEXT_SMS\",\"sentto\":\"90500000000\"}"
headers = {
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data = payload)
print(response.text.encode('utf8'))
Ruby
require "uri"
require "net/http"
url = URI("/api/v3/gonder/add-content")
https = Net::HTTP.new(url.host, url.port);
https.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = "application/json"
request.body = "{\"api_key\":\"API_KEY_HERE\",\"title\":\"SMS_TITLE_HERE\",\"text\":\"TEXT_SMS\",\"sentto\":\"90500000000\"}"
response = https.request(request)
puts response.read_body
CSharp
var client = new RestClient("/api/v3/gonder/add-content");
client.Timeout = -1;
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "{\"api_key\":\"API_KEY_HERE\",\"title\":\"SMS_TITLE_HERE\",\"text\":\"TEXT_SMS\",\"sentto\":\"90500000000\"}", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);
C(LibCURL)
CURL *curl;
CURLcode res;
curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(curl, CURLOPT_URL, "/api/v3/gonder/add-content");
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
curl_easy_setopt(curl, CURLOPT_DEFAULT_PROTOCOL, "https");
struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Content-Type: application/json");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);
const char *data = "{\"api_key\":\"API_KEY_HERE\",\"title\":\"SMS_TITLE_HERE\",\"text\":\"TEXT_SMS\",\"sentto\":\"90500000000\"}";
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data);
res = curl_easy_perform(curl);
}
curl_easy_cleanup(curl);
NodeJS
var unirest = require('unirest');
var req = unirest('POST', '/api/v3/gonder/add-content')
.headers({
'Content-Type': 'application/json'
})
.send(JSON.stringify({"api_key":"API_KEY_HERE","title":"SMS_TITLE_HERE","text":"TEXT_SMS","sentto":"90500000000"}))
.end(function (res) {
if (res.error) throw new Error(res.error);
console.log(res.raw_body);
});
ObjectiveC
#import Foundation/Foundation.h>
dispatch_semaphore_t sema = dispatch_semaphore_create(0);
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"/api/v3/gonder/add-content"]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
NSDictionary *headers = @{
@"Content-Type": @"application/json"
};
[request setAllHTTPHeaderFields:headers];
NSData *postData = [[NSData alloc] initWithData:[@"{\"api_key\":\"API_KEY_HERE\",\"title\":\"SMS_TITLE_HERE\",\"text\":\"TEXT_SMS\",\"sentto\":\"90500000000\"}" dataUsingEncoding:NSUTF8StringEncoding]];
[request setHTTPBody:postData];
[request setHTTPMethod:@"POST"];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"%@", error);
} else {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
NSError *parseError = nil;
NSDictionary *responseDictionary = [NSJSONSerialization JSONObjectWithData:data options:0 error:&parseError];
NSLog(@"%@",responseDictionary);
dispatch_semaphore_signal(sema);
}
}];
[dataTask resume];
dispatch_semaphore_wait(sema, DISPATCH_TIME_FOREVER);
Go
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := ""/api/v3/gonder/add-content"
method := "POST"
payload := strings.NewReader("{\"api_key\":\"API_KEY_HERE\",\"title\":\"SMS_TITLE_HERE\",\"text\":\"TEXT_SMS\",\"sentto\":\"90500000000\"}")
client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
}
req.Header.Add("Content-Type", "application/json")
res, err := client.Do(req)
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
fmt.Println(string(body))
}
Swift
import Foundation
var semaphore = DispatchSemaphore (value: 0)
let parameters = "{\"api_key\":\"API_KEY_HERE\",\"title\":\"SMS_TITLE_HERE\",\"text\":\"TEXT_SMS\",\"sentto\":\"90500000000\"}"
let postData = parameters.data(using: .utf8)
var request = URLRequest(url: URL(string: "/api/v3/gonder/add-content")!,timeoutInterval: Double.infinity)
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpMethod = "POST"
request.httpBody = postData
let task = URLSession.shared.dataTask(with: request) { data, response, error in
guard let data = data else {
print(String(describing: error))
return
}
print(String(data: data, encoding: .utf8)!)
semaphore.signal()
}
task.resume()
semaphore.wait()
SMS Kütüphaneleri
Kullanmak istediğiniz programlama dilinde hazır dosyaları indirebilirsiniz.