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.

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.