Java ile SMS gönderme: hazır örnek kodlar

Java 15+ HttpClient ile; Spring ve kurumsal uygulamalar. Her istek POST, gövde JSON; api_id ve api_key panelde Hesabım → API Bilgilerimi Görüntüle bölümünde.

Taban adres: https://api.toplusmspaketleri.com/api/v1 · Demo hesapta deneme için 10 kredi tanımlanır. Kodu tarayıcıda değil sunucuda çalıştırın; api_key gizli kalmalı.

1 - N gönderim

POST/1toN

Aynı mesajı bir ya da birden çok numaraya gönderir.

  • sender olarak hesabınıza tanımlı gönderici adını (başlık) ya da 850'li numaranızı gönderin.
  • Türkçe karakter için message_type değerini turkce yapın.
  • İleri tarihli gönderim için send_time alanını Y-m-d H:i:s biçiminde ekleyin; hemen gönderim için bu alanı yazmayın.
  • Ticari içerikte message_content_type değeri ticari, bilgilendirmede bilgi olmalıdır.
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class SmsApi {
  public static void main(String[] args) throws Exception {
    String url = "https://api.toplusmspaketleri.com/api/v1/1toN";
    String payload = """
        {
          "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": [
            "5xxxxxxxxx",
            "5xxxxxxxxx"
          ]
        }
        """;

    HttpRequest request = HttpRequest.newBuilder()
        .uri(URI.create(url))
        .header("Content-Type", "application/json")
        .POST(HttpRequest.BodyPublishers.ofString(payload))
        .build();

    HttpResponse<String> response = HttpClient.newHttpClient()
        .send(request, HttpResponse.BodyHandlers.ofString());
    System.out.println(response.statusCode() + " " + response.body());
  }
}

N - N gönderim

POST/NtoN

Her numaraya farklı mesaj gönderir (kişiye özel hitap, kod, tutar).

  • phones dizisindeki her öğe phone ve message alanı taşır.
  • send_time örneği ileri tarihli gönderimi gösterir; hemen gönderim için kaldırın.
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class SmsApi {
  public static void main(String[] args) throws Exception {
    String url = "https://api.toplusmspaketleri.com/api/v1/NtoN";
    String payload = """
        {
          "api_id": "API_ID",
          "api_key": "API_KEY",
          "sender": "SMSBASLIGINIZ",
          "message_type": "normal",
          "send_time": "2026-12-01 10:00:00",
          "message_content_type": "bilgi",
          "phones": [
            {
              "phone": "5xxxxxxxxx",
              "message": "Sayın Ayşe Yılmaz, siparişiniz kargoya verildi."
            },
            {
              "phone": "5xxxxxxxxx",
              "message": "Sayın Ali Kaya, randevunuz yarın 14:00."
            }
          ]
        }
        """;

    HttpRequest request = HttpRequest.newBuilder()
        .uri(URI.create(url))
        .header("Content-Type", "application/json")
        .POST(HttpRequest.BodyPublishers.ofString(payload))
        .build();

    HttpResponse<String> response = HttpClient.newHttpClient()
        .send(request, HttpResponse.BodyHandlers.ofString());
    System.out.println(response.statusCode() + " " + response.body());
  }
}

Gönderici adı sorgulama

POST/senders

Hesabınıza tanımlı gönderici adlarını (başlıkları) listeler.

import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class SmsApi {
  public static void main(String[] args) throws Exception {
    String url = "https://api.toplusmspaketleri.com/api/v1/senders";
    String payload = """
        {
          "api_id": "API_ID",
          "api_key": "API_KEY"
        }
        """;

    HttpRequest request = HttpRequest.newBuilder()
        .uri(URI.create(url))
        .header("Content-Type", "application/json")
        .POST(HttpRequest.BodyPublishers.ofString(payload))
        .build();

    HttpResponse<String> response = HttpClient.newHttpClient()
        .send(request, HttpResponse.BodyHandlers.ofString());
    System.out.println(response.statusCode() + " " + response.body());
  }
}

Kullanıcı bilgilerini alma

POST/user/information

Hesap bilgisi ve kalan kredi.

import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class SmsApi {
  public static void main(String[] args) throws Exception {
    String url = "https://api.toplusmspaketleri.com/api/v1/user/information";
    String payload = """
        {
          "api_id": "API_ID",
          "api_key": "API_KEY"
        }
        """;

    HttpRequest request = HttpRequest.newBuilder()
        .uri(URI.create(url))
        .header("Content-Type", "application/json")
        .POST(HttpRequest.BodyPublishers.ofString(payload))
        .build();

    HttpResponse<String> response = HttpClient.newHttpClient()
        .send(request, HttpResponse.BodyHandlers.ofString());
    System.out.println(response.statusCode() + " " + response.body());
  }
}

Rapor sorgulama: rapor detayı

POST/report/detail?page=1&pageSize=20

Bir gönderimin numara bazında teslimat durumu, sayfalı.

  • report_id her gönderimden sonra dönen kimliktir.
  • Sayfalama için adrese page ekleyin; varsayılan sayfa 20 kayıt, pageSize ile 1-100 arası.
  • Tüm veriyi sayfasız almak için page ve pageSize göndermeyin.
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class SmsApi {
  public static void main(String[] args) throws Exception {
    String url = "https://api.toplusmspaketleri.com/api/v1/report/detail?page=1&pageSize=20";
    String payload = """
        {
          "api_id": "API_ID",
          "api_key": "API_KEY",
          "report_id": 926410
        }
        """;

    HttpRequest request = HttpRequest.newBuilder()
        .uri(URI.create(url))
        .header("Content-Type", "application/json")
        .POST(HttpRequest.BodyPublishers.ofString(payload))
        .build();

    HttpResponse<String> response = HttpClient.newHttpClient()
        .send(request, HttpResponse.BodyHandlers.ofString());
    System.out.println(response.statusCode() + " " + response.body());
  }
}

Rapor sorgulama: tarih bazlı

POST/report/between

Tarih aralığındaki gönderimlerin raporu.

  • start_date ve end_date Y-m-d H:i:s biçiminde olmalıdır.
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class SmsApi {
  public static void main(String[] args) throws Exception {
    String url = "https://api.toplusmspaketleri.com/api/v1/report/between";
    String payload = """
        {
          "api_id": "API_ID",
          "api_key": "API_KEY",
          "start_date": "2026-11-01 00:00:00",
          "end_date": "2026-11-30 23:59:59"
        }
        """;

    HttpRequest request = HttpRequest.newBuilder()
        .uri(URI.create(url))
        .header("Content-Type", "application/json")
        .POST(HttpRequest.BodyPublishers.ofString(payload))
        .build();

    HttpResponse<String> response = HttpClient.newHttpClient()
        .send(request, HttpResponse.BodyHandlers.ofString());
    System.out.println(response.statusCode() + " " + response.body());
  }
}

Rapor sorgulama: sonuç sorgusu

POST/report/single

Tek gönderimin sonuç özeti.

  • report_id her gönderimden sonra dönen kimliktir.
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class SmsApi {
  public static void main(String[] args) throws Exception {
    String url = "https://api.toplusmspaketleri.com/api/v1/report/single";
    String payload = """
        {
          "api_id": "API_ID",
          "api_key": "API_KEY",
          "report_id": 926382
        }
        """;

    HttpRequest request = HttpRequest.newBuilder()
        .uri(URI.create(url))
        .header("Content-Type", "application/json")
        .POST(HttpRequest.BodyPublishers.ofString(payload))
        .build();

    HttpResponse<String> response = HttpClient.newHttpClient()
        .send(request, HttpResponse.BodyHandlers.ofString());
    System.out.println(response.statusCode() + " " + response.body());
  }
}

İleri tarihli SMS iptali

POST/cancel/future-sms

Henüz gitmemiş ileri tarihli gönderimi iptal eder.

  • id alanına iptal edilecek gönderimin rapor kimliğini yazın.
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class SmsApi {
  public static void main(String[] args) throws Exception {
    String url = "https://api.toplusmspaketleri.com/api/v1/cancel/future-sms";
    String payload = """
        {
          "api_id": "API_ID",
          "api_key": "API_KEY",
          "id": 926382
        }
        """;

    HttpRequest request = HttpRequest.newBuilder()
        .uri(URI.create(url))
        .header("Content-Type", "application/json")
        .POST(HttpRequest.BodyPublishers.ofString(payload))
        .build();

    HttpResponse<String> response = HttpClient.newHttpClient()
        .send(request, HttpResponse.BodyHandlers.ofString());
    System.out.println(response.statusCode() + " " + response.body());
  }
}
Yanıt kodları

200 başarılı (report_id döner) · 401 api bilgileri hatalı · 422 eksik alan ya da onaysız gönderici adı · 404 rapor bulunamadı.

API Soruları →

Java entegrasyonunuz bugün çalışsın

Ücretsiz üyelik, anında api_id ve api_key, takıldığınızda teknik destek.