Delphi SMS API Entegrasyonu
Güvenlik, bilgilendirme ve tanıtım mesajlarınızı otomatikleştirin. Müşterilerinizi her durumda otomatik olarak gidecek mesajlarla anında haberdar edin, iletişiminiz ve marka değeriniz yükselsin. En çok kullanılan yazılım dillerine göre hazırladığımız örnek kodlarımızı inceleyin.
Delphi dilinde oluşturduğumuz SMS API servisimizi VatanSMS kullanıcı adı ve şifre bilgilerinizi girerek kolayca sisteminize entegre edebilir ve mesaj gönderimini otomatik hale getirebilirsiniz.
PHP SMS API SDK (Github):
ASP.NET SMS API SDK (Github):
Delphi SMS API SDK (Github):
VB.NET SMS API SDK (Github):
Kod Örnekleri
Sisteminize kolayca entegre edebileceğiniz Delphi SMS API servisimiz ile müşterilerinize şifre doğrulama, otomatik onay veya bilgi mesajları gönderin. Toplu SMS gönderimi gibi birçok avantaj elde edeceğiniz Delphi SMS API scripti örnek ve dokümanlarımızı inceleyin.
Hesabım - API Bilgilerimi Görüntüle kısmından api_id ve api_key bilgilerinize ulaşabilirsiniz.
1 - N
sender
olarak hesabınıza tanımlanmış olan gönderici adını göndermelisiniz.
Türkçe SMS gönderimi için 'message_type': turkce
olarak gönderilmelidir.
İleri tarihli SMS göndermek için datanın içerisine 'send_time' : '2021-05-25 12:00:00'
(Y-m-d H:i:s) şeklinde gönderilmelidir.
Hemen gönderim yapmak için send_time
'ı göndermemelisiniz.
program SmsApiExample;
uses
SysUtils, Classes, IdHTTP, IdSSLOpenSSL;
var
HTTP: TIdHTTP;
SSL: TIdSSLIOHandlerSocketOpenSSL;
JSONData, Response: TStringStream;
begin
HTTP := TIdHTTP.Create(nil);
SSL := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
JSONData := TStringStream.Create('{
"api_id": "API_ID",
"api_key": "API_KEY",
"sender": "SMSBASLIGINIZ",
"message_type": "normal",
"message": "Bu bir test mesajıdır.",
"message_content_type": "bilgi",
"phones": ["555555555"]
}', TEncoding.UTF8);
Response := TStringStream.Create;
try
HTTP.IOHandler := SSL;
HTTP.Request.ContentType := 'application/json';
HTTP.Post('https://api.vatansms.net/api/v1/1toN', JSONData, Response);
Writeln(Response.DataString);
except
on E: Exception do
Writeln('Error: ', E.Message);
end;
JSONData.Free;
Response.Free;
HTTP.Free;
SSL.Free;
end.
N - N
sender
olarak hesabınıza tanımlanmış olan gönderici adını göndermelisiniz.
Türkçe SMS gönderimi için 'message_type': turkce
olarak gönderilmelidir.
İleri tarihli SMS göndermek için datanın içerisine 'send_time' : '2021-05-25 12:00:00'
(Y-m-d H:i:s) şeklinde gönderilmelidir.
Hemen gönderim yapmak için send_time
'ı göndermemelisiniz.
program SmsApiExample;
uses
SysUtils, Classes, IdHTTP, IdSSLOpenSSL;
var
HTTP: TIdHTTP;
SSL: TIdSSLIOHandlerSocketOpenSSL;
JSONData, Response: TStringStream;
begin
HTTP := TIdHTTP.Create(nil);
SSL := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
JSONData := TStringStream.Create('{
"api_id": "API_ID",
"api_key": "API_KEY",
"sender": "SMSBASLIGINIZ",
"message_type": "normal",
"send_time": "2021-05-19 15:33:00",
"message_content_type": "bilgi",
"phones": [
{ "phone": "5xxxxxxxxx", "message": "Bu bir test mesajıdır." },
{ "phone": "5xxxxxxxxx", "message": "Bu bir test mesajıdır." }
]
}', TEncoding.UTF8);
Response := TStringStream.Create;
try
HTTP.IOHandler := SSL;
HTTP.Request.ContentType := 'application/json';
HTTP.Post('https://api.vatansms.net/api/v1/NtoN', JSONData, Response);
Writeln(Response.DataString);
except
on E: Exception do
Writeln('Error: ', E.Message);
end;
JSONData.Free;
Response.Free;
HTTP.Free;
SSL.Free;
end.
Gönderici Adı Sorgulama
program SmsApiExample;
uses
SysUtils, Classes, IdHTTP, IdSSLOpenSSL;
var
HTTP: TIdHTTP;
SSL: TIdSSLIOHandlerSocketOpenSSL;
JSONData, Response: TStringStream;
begin
HTTP := TIdHTTP.Create(nil);
SSL := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
JSONData := TStringStream.Create('{
"api_id": "API_ID",
"api_key": "API_KEY"
}', TEncoding.UTF8);
Response := TStringStream.Create;
try
HTTP.IOHandler := SSL;
HTTP.Request.ContentType := 'application/json';
HTTP.Post('https://api.vatansms.net/api/v1/senders', JSONData, Response);
Writeln(Response.DataString);
except
on E: Exception do
Writeln('Error: ', E.Message);
end;
JSONData.Free;
Response.Free;
HTTP.Free;
SSL.Free;
end.
Kullanıcı Bilgilerini Alma
program SmsApiExample;
uses
SysUtils, Classes, IdHTTP, IdSSLOpenSSL;
var
HTTP: TIdHTTP;
SSL: TIdSSLIOHandlerSocketOpenSSL;
JSONData, Response: TStringStream;
begin
HTTP := TIdHTTP.Create(nil);
SSL := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
JSONData := TStringStream.Create('{
"api_id": "API_ID",
"api_key": "API_KEY"
}', TEncoding.UTF8);
Response := TStringStream.Create;
try
HTTP.IOHandler := SSL;
HTTP.Request.ContentType := 'application/json';
HTTP.Post('https://api.vatansms.net/api/v1/user/information', JSONData, Response);
Writeln(Response.DataString);
except
on E: Exception do
Writeln('Error: ', E.Message);
end;
JSONData.Free;
Response.Free;
HTTP.Free;
SSL.Free;
end.
Rapor Sorgulama - Rapor Detayı
report_id
her SMS gönderimi sonrasında dönen id
değeridir.
Eğer datanın sayfalamalı dönmesini istiyorsana page
'i göndermeniz gerekmektedir. Sayfalar default olarak 20 şerli dönmektedir. Eğer isterseniz 1-100 arasında bir değeri pageSize
'da göndererek değiştirebilirsiniz.
Eğer direkt sayfalamasız olarak bütün datayı almak istemiyorsanız page
ve pageSize
göndermemelisiniz.
program SmsApiExample;
uses
SysUtils, Classes, IdHTTP, IdSSLOpenSSL;
var
HTTP: TIdHTTP;
SSL: TIdSSLIOHandlerSocketOpenSSL;
JSONData, Response: TStringStream;
begin
HTTP := TIdHTTP.Create(nil);
SSL := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
JSONData := TStringStream.Create('{
"api_id": "API_ID",
"api_key": "API_KEY",
"report_id": 926410
}', TEncoding.UTF8);
Response := TStringStream.Create;
try
HTTP.IOHandler := SSL;
HTTP.Request.ContentType := 'application/json';
HTTP.Post('https://api.vatansms.net/api/v1/report/detail?page=1&pageSize=20', JSONData, Response);
Writeln(Response.DataString);
except
on E: Exception do
Writeln('Error: ', E.Message);
end;
JSONData.Free;
Response.Free;
HTTP.Free;
SSL.Free;
end.
Rapor Sorgulama - Tarih Bazlı
program SmsApiExample;
uses
SysUtils, Classes, IdHTTP, IdSSLOpenSSL;
var
HTTP: TIdHTTP;
SSL: TIdSSLIOHandlerSocketOpenSSL;
JSONData, Response: TStringStream;
begin
HTTP := TIdHTTP.Create(nil);
SSL := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
JSONData := TStringStream.Create('{
"api_id": "API_ID",
"api_key": "API_KEY",
"start_date": "2021-05-17 11:22:00",
"end_date": "2021-05-18 11:31:00"
}', TEncoding.UTF8);
Response := TStringStream.Create;
try
HTTP.IOHandler := SSL;
HTTP.Request.ContentType := 'application/json';
HTTP.Post('https://api.vatansms.net/api/v1/report/between', JSONData, Response);
Writeln(Response.DataString);
except
on E: Exception do
Writeln('Error: ', E.Message);
end;
JSONData.Free;
Response.Free;
HTTP.Free;
SSL.Free;
end.
Rapor Sorgulama - Sonuç Sorgusu
report_id
her SMS gönderimi sonrasında dönen id
değeridir.
program SmsApiExample;
uses
SysUtils, Classes, IdHTTP, IdSSLOpenSSL;
var
HTTP: TIdHTTP;
SSL: TIdSSLIOHandlerSocketOpenSSL;
JSONData, Response: TStringStream;
begin
HTTP := TIdHTTP.Create(nil);
SSL := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
JSONData := TStringStream.Create('{
"api_id": "API_ID",
"api_key": "API_KEY",
"report_id": 926382
}', TEncoding.UTF8);
Response := TStringStream.Create;
try
HTTP.IOHandler := SSL;
HTTP.Request.ContentType := 'application/json';
HTTP.Post('https://api.vatansms.net/api/v1/report/single', JSONData, Response);
Writeln(Response.DataString);
except
on E: Exception do
Writeln('Error: ', E.Message);
end;
JSONData.Free;
Response.Free;
HTTP.Free;
SSL.Free;
end.
İleri Tarihli SMS İptal
İleri tarihli SMS iptal etmek için datanın içerisine 'id (Rapor ID)' : 'xxx'
şeklinde gönderilmelidir.
program SmsApiExample;
uses
SysUtils, Classes, IdHTTP, IdSSLOpenSSL;
var
HTTP: TIdHTTP;
SSL: TIdSSLIOHandlerSocketOpenSSL;
JSONData, Response: TStringStream;
begin
HTTP := TIdHTTP.Create(nil);
SSL := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
JSONData := TStringStream.Create('{
"api_id": "API_ID",
"api_key": "API_KEY",
"id": xxx
}', TEncoding.UTF8);
Response := TStringStream.Create;
try
HTTP.IOHandler := SSL;
HTTP.Request.ContentType := 'application/json';
HTTP.Post('https://api.vatansms.net/api/v1/cancel/future-sms', JSONData, Response);
Writeln(Response.DataString);
except
on E: Exception do
Writeln('Error: ', E.Message);
end;
JSONData.Free;
Response.Free;
HTTP.Free;
SSL.Free;
end.