OTP / Doğrulama Kodu
Üyelik, giriş ve işlem onaylarında tek kullanımlık şifreyi /otp ile saniyeler içinde iletin; kısa ve Türkçe karaktersiz mesajlar otomatik hızlı kanaldan gider.
WaMessage SMS API; tekil ve toplu SMS gönderimi, OTP doğrulama, kişiye özel mesaj, ileri tarihli gönderim, teslimat raporu ve kara liste yönetimini tek REST API altında sunar. API anahtarınızı panelden alın, ilk SMS'inizi 5 dakikada gönderin — temsilci beklemeden.
POST https://api.toplusms.app/api/v1/1toN { "api_key": "YOUR_API_KEY", "sender": "SMS TEST", "message_type": "normal", "message_content_type": "bilgi", "message": "WaMessage test mesajıdır.", "phones": ["905551112233"], "add_cancel_link": true }
SMS API, yazılımınızın SMS altyapısıyla doğrudan konuşmasını sağlayan programlama arayüzüdür. Panele girmeden; sitenizden, mobil uygulamanızdan, CRM'inizden veya herhangi bir backend servisinizden tek bir HTTP isteğiyle SMS gönderirsiniz. Toplu SMS API ile aynı mesajı binlerce numaraya tek istekte iletebilir, OTP SMS API ile tek kullanımlık doğrulama kodlarını saniyeler içinde ulaştırabilirsiniz.
WaMessage SMS API, REST prensipleriyle çalışır: tüm uç noktalar POST metodunu ve JSON gövdesini kullanır. Kimlik doğrulama tek bir api_key alanıyla yapılır; SDK zorunluluğu yoktur — HTTP isteği atabilen her dil ve platformla (PHP, Node.js, Python, C#, Java, Go...) dakikalar içinde SMS API entegrasyonu tamamlanır.
Gönderim sonrası her isteğin teslimat sonucu rapor endpointlerinden alıcı bazında izlenir; ticari iletilerde mesaja otomatik iptal linki ekleme ve kara liste yönetimiyle mevzuata uygun gönderim yapılır.
Türkiye'de SMS API arayan geliştirici ve yazılım ekipleri için WaMessage; Turkcell, Vodafone ve Türk Telekom dahil tüm yurt içi operatörlere gönderim yapar, Türkçe karakter desteği ve yerel teknik destek sunar. Kısacası SMS API Türkiye ihtiyacınızın tamamı — gönderim, doğrulama, raporlama ve yönetim — tek panelde toplanır.
Aşağıdaki beş adımı sırayla uygulayan bir geliştirici, dış yardım almadan entegrasyonu tamamlar.
Ücretsiz kayıt olun, ardından WaMessage paneline giriş yapıp API bölümünden api_key değerinizi kopyalayın. Aynı anahtar tüm SMS API işlemlerinde kullanılır; her isteğin JSON gövdesinde api_key alanıyla gönderilir.
https://api.toplusms.app/api/v1 Tüm endpointler POST metodu ve JSON gövdesi kullanır.
SMS'leriniz hangi başlıkla (sender) gidecek? Hesabınıza tanımlı onaylı başlıkları sorgulayın; yanıttaki sender değerini gönderimlerde kullanacaksınız.
{
"api_key": "YOUR_API_KEY"
}{
"data": [
{
"id": 13230,
"sender": "SMS TEST",
"status": "1",
"description": "1 Günlük Gönderici Adı",
"created_at": "2026-08-06 09:28:06"
}
],
"status": 200
}Gönderim öncesi hesap durumunuzu ve kalan kredinizi görün; yanıttaki credit alanı kalan SMS kredinizdir.
{
"api_key": "YOUR_API_KEY"
}{
"code": 200,
"status": "success",
"data": {
"username": "firma_kullanicisi",
"cancel_link_end_date": "2027-02-24",
"credit": 981
}
}Kendi numaranıza test mesajı gönderin. Yanıttaki id değerini not edin — teslimat raporunu bu kimlikle sorgulayacaksınız.
{
"api_key": "YOUR_API_KEY",
"sender": "SMS TEST",
"message_type": "normal",
"message_content_type": "bilgi",
"message": "WaMessage test mesajıdır.",
"phones": ["905551112233"],
"add_cancel_link": true
}{
"id": 3411916,
"code": 200,
"status": "success",
"description": "SMS gönderimi başarıyla tamamlandı.",
"quantity": 982,
"numberCount": 1,
"amount": 1
}Gönderimin özetini ve alıcı bazlı sonucu alın; success / fail sayıları ve iletim zamanları yanıtta döner.
{
"api_key": "YOUR_API_KEY",
"report_id": 16589
}{
"code": 200,
"status": "success",
"data": {
"id": 3411758,
"message": "test",
"sender": "SMS TEST",
"count": 1,
"success": 1,
"fail": 0,
"created_at": "2026-08-06 09:29:59",
"completed_at": "2026-08-06 09:30:05"
}
}Aşağıdaki örneklerin tamamı /1toN endpointine aynı JSON gövdesini gönderir; kopyalayıp YOUR_API_KEY değerini değiştirmeniz yeterli.
curl -X POST "https://api.toplusms.app/api/v1/1toN" \
-H "Content-Type: application/json" \
-d '{
"api_key":"YOUR_API_KEY",
"sender":"SMS TEST",
"message_type":"normal",
"message_content_type":"bilgi",
"message":"WaMessage test mesajıdır.",
"phones":["905551112233"],
"add_cancel_link":true
}'<?php
$payload = [
"api_key" => "YOUR_API_KEY",
"sender" => "SMS TEST",
"message_type" => "normal",
"message_content_type" => "bilgi",
"message" => "WaMessage test mesajıdır.",
"phones" => ["905551112233"],
"add_cancel_link" => true
];
$ch = curl_init("https://api.toplusms.app/api/v1/1toN");
curl_setopt_array($ch, [
CURLOPT_POST => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ["Content-Type: application/json"],
CURLOPT_POSTFIELDS => json_encode($payload)
]);
$response = curl_exec($ch);
curl_close($ch);
echo $response;const response = await fetch("https://api.toplusms.app/api/v1/1toN", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
api_key: "YOUR_API_KEY",
sender: "SMS TEST",
message_type: "normal",
message_content_type: "bilgi",
message: "WaMessage test mesajıdır.",
phones: ["905551112233"],
add_cancel_link: true
})
});
const data = await response.json();
console.log(data);import requests
payload = {
"api_key": "YOUR_API_KEY",
"sender": "SMS TEST",
"message_type": "normal",
"message_content_type": "bilgi",
"message": "WaMessage test mesajıdır.",
"phones": ["905551112233"],
"add_cancel_link": True
}
response = requests.post("https://api.toplusms.app/api/v1/1toN", json=payload)
print(response.json())Gönderimden kara listeye 12 uç noktanın tamamı; her alanın açıklaması ve gerçek istek/yanıt örnekleriyle.
Tek kullanımlık şifre ve hızlı bilgilendirme kanalı. Mesaj 1 SMS uzunluğunda ve Türkçe karakter içermiyorsa sistem gönderimi otomatik olarak OTP kanalına yönlendirir; doğrulama kodları için en hızlı yol budur.
| Alan | Zorunlu | Açıklama |
|---|---|---|
api_key | Evet | Panelden alınan API anahtarı |
sender | Evet | Onaylı gönderici başlığı (/senders yanıtından) |
message_type | Evet | Mesaj tipi; örneklerde normal |
message | Evet | Gönderilecek mesaj içeriği |
phones | Evet | Alıcı numara listesi, örn. ["905551112233"] |
add_cancel_link | Hayır | true ise mesaja iptal linki eklenir |
{
"api_key": "YOUR_API_KEY",
"sender": "SMS TEST",
"message_type": "normal",
"message": "Dogrulama kodunuz: 482913",
"phones": ["905551112233"],
"add_cancel_link": false
}{
"id": 3411916,
"code": 200,
"status": "success",
"description": "SMS gönderimi başarıyla tamamlandı.",
"quantity": 982,
"numberCount": 1,
"amount": 1
}Tek mesaj, çok numara: aynı içeriği listedeki tüm numaralara gönderir. Kampanya ve toplu bilgilendirme için temel endpointtir. OTP koşullarını karşılayan mesajlar otomatik olarak hızlı kanala yönlendirilir.
| Alan | Zorunlu | Açıklama |
|---|---|---|
api_key | Evet | API anahtarı |
sender | Evet | Onaylı gönderici başlığı |
message_type | Evet | Mesaj tipi; örneklerde normal |
message_content_type | Evet | İçerik tipi; örneklerde bilgi |
message | Evet | Tüm alıcılara gidecek ortak mesaj |
phones | Evet | Alıcı numara listesi |
add_cancel_link | Hayır | Ticari iletilerde iptal linki ekler |
{
"api_key": "YOUR_API_KEY",
"sender": "SMS TEST",
"message_type": "normal",
"message_content_type": "bilgi",
"message": "Hafta sonuna özel %20 indirim!",
"phones": ["905551112233", "905554445566"],
"add_cancel_link": true
}{
"id": 3411916,
"code": 200,
"status": "success",
"description": "SMS gönderimi başarıyla tamamlandı.",
"quantity": 982,
"numberCount": 1,
"amount": 1
}Numaraya özel mesaj: her alıcıya farklı içerik gönderir (isim, sipariş no, randevu saati...). send_time alanıyla ileri tarihli gönderim planlanır.
| Alan | Zorunlu | Açıklama |
|---|---|---|
api_key | Evet | API anahtarı |
sender | Evet | Onaylı gönderici başlığı |
message_type | Evet | Mesaj tipi |
send_time | Hayır | İleri tarih; format YYYY-MM-DD HH:mm:ss, boşsa hemen gönderilir |
phones | Evet | Her öğesi {"phone": "...", "message": "..."} olan liste |
add_cancel_link | Hayır | İptal linki ekleme seçeneği |
{
"api_key": "YOUR_API_KEY",
"sender": "SMS TEST",
"message_type": "normal",
"send_time": "2026-12-17 13:15:00",
"phones": [
{"phone": "905551112233", "message": "Sayın Ali Bey, randevunuz yarın 14.00"},
{"phone": "905554445566", "message": "Sayın Ayşe Hanım, siparişiniz kargoda"}
],
"add_cancel_link": true
}{
"id": 3411916,
"code": 200,
"status": "success",
"description": "SMS gönderimi başarıyla tamamlandı.",
"quantity": 982,
"numberCount": 1,
"amount": 1
}Hesabınıza tanımlı onaylı gönderici başlıklarını listeler.
| Alan | Zorunlu | Açıklama |
|---|---|---|
api_key | Evet | API anahtarı |
{
"api_key": "YOUR_API_KEY"
}{
"data": [
{
"id": 13230,
"sender": "SMS TEST",
"status": "1",
"description": "1 Günlük Gönderici Adı",
"created_at": "2026-08-06 09:28:06"
}
],
"status": 200
}Hesap bilgilerinizi ve kalan kredinizi döndürür; credit alanı kalan SMS kredisidir.
| Alan | Zorunlu | Açıklama |
|---|---|---|
api_key | Evet | API anahtarı |
{
"api_key": "YOUR_API_KEY"
}{
"code": 200,
"status": "success",
"data": {
"id": 7895,
"username": "firma_kullanicisi",
"phone": "+905551112233",
"email": "[email protected]",
"cancel_link_end_date": "2027-02-24",
"require_login_otp": false,
"credit": 981
}
}Belirli bir gönderimin alıcı bazlı teslimat detayını döndürür: her numara için durum açıklaması ve iletim zamanı.
| Alan | Zorunlu | Açıklama |
|---|---|---|
api_key | Evet | API anahtarı |
report_id | Evet | Gönderim yanıtındaki kimlik |
{
"api_key": "YOUR_API_KEY",
"report_id": 16535
}{
"code": 200,
"status": "success",
"data": [
{
"id": 31359598,
"phone": "905551112233",
"message": "test",
"status_description": "İletim başarılı.",
"result_time": "2026-08-06 09:30:11",
"created_at": "2026-08-06 09:29:59"
}
]
}İki tarih arasındaki tüm gönderimlerin özet raporlarını döndürür.
| Alan | Zorunlu | Açıklama |
|---|---|---|
api_key | Evet | API anahtarı |
start_date | Evet | Başlangıç; YYYY-MM-DD HH:mm:ss |
end_date | Evet | Bitiş; YYYY-MM-DD HH:mm:ss |
{
"api_key": "YOUR_API_KEY",
"start_date": "2026-07-01 00:00:00",
"end_date": "2026-08-01 00:00:00"
}{
"code": 200,
"status": "success",
"data": [
{
"id": 3412025,
"message": "merhabalar",
"sender": "SMS TEST",
"credit_before": 982,
"count": 1,
"success": 1,
"fail": 0,
"created_at": "2026-08-06 09:33:43",
"completed_at": "2026-08-06 09:33:45"
}
]
}Tek bir gönderimin özet raporunu döndürür: toplam alıcı, başarılı/başarısız sayısı ve tamamlanma zamanı.
| Alan | Zorunlu | Açıklama |
|---|---|---|
api_key | Evet | API anahtarı |
report_id | Evet | Gönderim yanıtındaki kimlik |
{
"api_key": "YOUR_API_KEY",
"report_id": 16589
}{
"code": 200,
"status": "success",
"data": {
"id": 3411758,
"message": "test",
"sender": "SMS TEST",
"credit_before": 984,
"count": 1,
"success": 1,
"fail": 0,
"created_at": "2026-08-06 09:29:59",
"completed_at": "2026-08-06 09:30:05"
}
}Henüz gönderilmemiş, send_time ile planlanmış ileri tarihli bir gönderimi iptal eder.
| Alan | Zorunlu | Açıklama |
|---|---|---|
api_key | Evet | API anahtarı |
id | Evet | Planlanan gönderimin kimliği |
{
"api_key": "YOUR_API_KEY",
"id": 16589
}Kara listenizdeki numaraları listeler; bu numaralara gönderim yapılmaz.
| Alan | Zorunlu | Açıklama |
|---|---|---|
api_key | Evet | API anahtarı |
{
"api_key": "YOUR_API_KEY"
}{
"code": 200,
"status": "success",
"data": [
{
"id": 468079,
"phone": 5551112233,
"country_code": "90",
"added_type": "Panel üzerinden eklendi.",
"created_at": "2026-08-06 09:51:17"
}
]
}Bir numarayı kara listeye ekler; iptal talebi gelen alıcıları programatik olarak engelleyin.
| Alan | Zorunlu | Açıklama |
|---|---|---|
api_key | Evet | API anahtarı |
phone | Evet | Engellenecek numara |
{
"api_key": "YOUR_API_KEY",
"phone": "905551112233"
}{
"code": 200,
"status": "success",
"data": "Girdiğiniz telefon numarası başarıyla kara listenize eklendi."
}Bir numarayı kara listeden çıkarır.
| Alan | Zorunlu | Açıklama |
|---|---|---|
api_key | Evet | API anahtarı |
phone | Evet | Listeden çıkarılacak numara |
{
"api_key": "YOUR_API_KEY",
"phone": "905551112233"
}{
"code": 200,
"status": "success",
"data": "Girdiğiniz telefon numarası başarıyla kara listenizden kaldırıldı."
}| Alan | Açıklama | |
|---|---|---|
id | Gönderim kimliği; rapor sorgularında report_id olarak kullanılır | |
code | Yanıt kodu; başarılı isteklerde 200 | |
status | Başarılı isteklerde success | |
description | İşlem açıklaması | |
quantity | Gönderim sonrası kalan kredi | |
numberCount | Alıcı sayısı | |
amount | Bu gönderimde harcanan kredi |
Aynı API ile doğrulamadan kampanyaya tüm gönderim ihtiyaçları.
Üyelik, giriş ve işlem onaylarında tek kullanımlık şifreyi /otp ile saniyeler içinde iletin; kısa ve Türkçe karaktersiz mesajlar otomatik hızlı kanaldan gider.
E-ticaret altyapınızdan /NtoN ile her müşteriye kendi sipariş numarası ve kargo takip bilgisini gönderin.
/1toN ile tüm listeye tek istekte ulaşın; add_cancel_link ile ticari iletilere otomatik iptal linki ekleyin.
send_time ile SMS'leri randevudan bir gün önceye planlayın; plan değişirse /cancel/future-sms ile iptal edin.
Sunucu, ödeme veya stok uyarılarını nöbetçi ekibin telefonuna anında düşürün; teslimatı raporla doğrulayın.
Şifre sıfırlama, fatura hatırlatma, sözleşme bilgilendirmesi gibi işlemsel mesajları uygulamanızdan otomatik gönderin.
SDK zorunluluğu yok — HTTP isteği atabilen her platform bağlanır.
Backend'inize (PHP, Node.js, Python, C#, Java, Go...) yukarıdaki kod örnekleriyle doğrudan bağlanın; test için Postman koleksiyonunu kullanın.
Sipariş, üyelik ve destek olaylarınızı tetikleyici yapıp SMS gönderimini iş akışınıza ekleyin; her olayda tek bir POST isteği yeterli.
Aynı panelde WhatsApp API ve WhatsApp Business API ile çok kanallı bildirim kurun: kritik mesajı SMS, zengin içeriği WhatsApp taşısın.
api_key değerini panelden doğrulayın./user/information yanıtındaki credit alanını kontrol edin./senders listesindeki onaylı bir başlığı birebir kullanın./blacklists üzerinden alıcının engelli olup olmadığına bakın.905551112233 biçiminde gönderin./report/detail ile alıcı bazlı status_description açıklamasını inceleyin.Evet. Ücretsiz hesap açın; paneldeki API bölümünden anahtarınızı alıp test gönderimlerinizi hemen yapabilirsiniz.
WaMessage paneline giriş yaptıktan sonra API bölümünden api_key değerinizi kopyalayın. Aynı anahtar gönderim, rapor, hesap ve kara liste işlemlerinin tamamında kullanılır.
Tümüyle. API standart REST + JSON kullandığı için PHP, Node.js, Python, C#, Java, Go dahil HTTP isteği atabilen her dil ve platformla çalışır; SDK zorunluluğu yoktur.
/otp endpointini kullanın. Mesajınız 1 SMS uzunluğunda ve Türkçe karaktersizse sistem gönderimi otomatik olarak hızlı OTP kanalına yönlendirir.
Evet. /NtoN endpointinde her alıcı için ayrı phone ve message değeri gönderirsiniz — isim, sipariş numarası gibi kişiselleştirmeler için idealdir.
Evet. /NtoN isteğinde send_time alanını YYYY-MM-DD HH:mm:ss formatında doldurun; vazgeçerseniz /cancel/future-sms ile iptal edin.
Gönderim yanıtındaki id değeriyle /report/single (özet) veya /report/detail (alıcı bazlı) endpointlerini sorgulayın; tarih aralığı için /report/between kullanılır.
Evet. Gönderim isteklerinde add_cancel_link alanını true yapın; iptal talebi gelen numaraları /add/blacklist ile programatik olarak engelleyebilirsiniz.
Evet. /user/information yanıtındaki credit alanı kalan SMS kredinizi verir; ayrıca her gönderim yanıtındaki quantity alanı gönderim sonrası kalan krediyi döndürür.
Fiyatlandırma kredi paketlerine göre yapılır; her başarılı gönderimde harcanan kredi yanıttaki amount alanında görünür. Güncel paketler için bizimle iletişime geçin.
Ücretsiz hesabınızı açın, API anahtarınızı panelden alın; yukarıdaki adımlarla 5 dakikada entegrasyonu tamamlayın.