Java SMS-API: ein HTTPS-Aufruf für mehrere Kanäle

Die meisten Messaging-SDKs für Java fügen Ihrem Projekt Dutzende zusätzlicher Klassen hinzu. Die SMS-API für Java von Esendex verfolgt einen anderen Ansatz: HttpURLConnection und einige wenige Klassen aus dem JDK reichen aus. Die Build-Konfiguration bleibt unverändert. Alle fünf Kommunikationskanäle lassen sich über denselben API-Aufruf nutzen. So ist die Integration schnell implementiert und funktioniert auch langfristig zuverlässig.

home portant un ordinateur entouré d'illustration coding api java
  • Funktioniert mit HttpURLConnection (im JDK integriert).
  • Es müssen keine Maven- oder Gradle-Pakete hinzugefügt werden.
  • Ein einziger Endpunkt für mehrere Kanäle:SMS und RCS (WhatsApp, E-Mail und Sprachanrufe folgen in Kürze)
  • HttpClient und .NET reichen aus, es muss kein NuGet-Paket installiert werden.
  • Integrierte Vorlagen, Webhooks, Zeitplanung und URL-Kürzung.
  • Nach ISO 27001 und Cyber Essentials zertifizierte Infrastruktur.

SMS in Java über die Esendex-API versenden

Ein POST-Aufruf an /v2/messages mit HttpURLConnection reicht aus, um Ihre erste SMS zu versenden.

import java.net.HttpURLConnection;
import java.net.URI;
import java.io.OutputStream;
import java.nio.charset.StandardCharsets;

public class SendSms {
    public static void main(String[] args) throws Exception {
        var url = URI.create("https://api.esendex.fr/v2/messages").toURL();
        var conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("POST");
        conn.setRequestProperty("X-Api-Key", "YOUR_KEY_HERE");
        conn.setRequestProperty("Content-Type", "application/json");
        conn.setDoOutput(true);

        String body = """
            {
              "accountReference": "xxxxxxxxxx",
              "channel": "SMS",
              "from": "MonEntreprise",
              "body": { "text": "Bonjour, votre commande #1234 a été expédiée." },
              "recipients": [{ "msisdn": "+33612345678" }]
            }
            """;

        try (var os = conn.getOutputStream()) {
            os.write(body.getBytes(StandardCharsets.UTF_8));
        }

        System.out.println("HTTP " + conn.getResponseCode());
        conn.disconnect();
    }
}

Der Code basiert vollständig auf dem JDK. Mit Textblöcken (Text Blocks, „““) können Sie JSON direkt in Ihren Code einfügen. Diese Funktion steht ab Java 15 zur Verfügung.

Drei Felder, die in JSON angepasst werden müssen

Das Feld from legt den Namen fest, der auf dem Telefon des Empfängers angezeigt wird. Geben Sie dort den Namen Ihres Unternehmens oder eine Telefonnummer an.

Das Feld channel: Passen Sie Ihre SMS- oder RCS-Nachrichten durch eine einfache Kanaländerung an.

Die Telefonnummern müssen dem internationalen E.164-Format entsprechen. Bei einer deutschen Mobilfunknummer wird die führende 0 durch die Ländervorwahl +49 ersetzt. So wird beispielsweise aus 01701234567 die Nummer +491701234567.

Um eine Nachricht an mehrere Empfänger zu versenden, fügen Sie dem JSON-Array recipients weitere Einträge hinzu.

Was die REST-API zurückgibt

Die API gibt den HTTP-Statuscode 202 zurück, wenn die Nachricht zur Verarbeitung angenommen wurde. Die JSON-Antwort enthält für jede Nachricht eine eindeutige ID. Diese wird verwendet, um den Zustellstatus über Webhooks nachzuverfolgen.

Ein 400er-Code weist auf einen Fehler in der Anfrage hin, beispielsweise auf ein fehlendes Feld oder ein ungültiges Format.

Ein Fehlercode 401 bedeutet, dass der API-Schlüssel fehlt oder falsch ist.

Eine Integration ohne externe Abhängigkeiten

HttpURLConnection ist Teil des JDK

Die meisten Messaging-APIs stellen ein SDK oder einen eigenen HTTPS-Client bereit. Die API von Esendex funktioniert hingegen mit HttpsURLConnection. Diese Klasse ist seit Java 1.4 im JDK enthalten. Sie müssen nichts zusätzlich installieren und keine Drittanbieterbibliotheken einbinden.

Ein schlankeres Projekt ohne vorgeschriebenes SDK

Wenn Sie ein Messaging-SDK in Ihr Java-Projekt integrieren, müssen Sie einen zusätzlichen Eintrag in Ihrer pom.xml oder build.gradle vornehmen. Damit kommen weitere Abhängigkeiten hinzu, die Sie überwachen, aktualisieren und sichern müssen. Mit der API von Esendex entfällt dieser zusätzliche Aufwand. Ihre pom.xml oder build.gradle bleibt unverändert.

Weniger Drittanbieter-Code, weniger Risiken

Jede externe Abhängigkeit, die Sie Ihrem Java-Projekt hinzufügen, stellt ein potenzielles Sicherheitsrisiko dar. Die API von Esendex nutzt die im JDK enthaltenen Funktionen. So benötigen Sie keinen zusätzlichen Drittanbieter-Code für den Nachrichtenversand aus Ihrer Anwendung.

Entdecken Sie die Esendex-API

Die SMS-API für Java von Esendex bietet Ihnen einen einzigen API-Endpunkt, fünf Kommunikationskanäle und keine zusätzlichen Abhängigkeiten. Erstellen Sie Ihr kostenloses Testkonto und versenden Sie Ihre erste Nachricht innerhalb weniger Minuten.

Häufig gestellte Fragen | Alles, was Sie über die Java-SMS-API wissen müssen

Wie lässt sich in Java eine SMS ohne externe Bibliotheken versenden?

In Java lässt sich die Esendex-SMS‑API mit HttpURLConnection nutzen, die bereits im JDK enthalten ist. Senden Sie einfach einen POST-Request an den Endpunkt /v2/messages, übermitteln Sie Ihren API-Key im Header und den Nachrichteninhalt als JSON. Eine Installation von Drittanbieter-Bibliotheken ist nicht erforderlich.

Brauche ich ein SDK, um die Esendex-API in Java nutzen zu können?

Nein. Für die Esendex-API brauchen Sie kein SDK. Sie können HttpURLConnection oder einen beliebigen Java-HTTPS-Client Ihrer Wahl verwenden (z. B. „OkHttp“ oder „Apache HttpClient“).

Ist die Esendex-API kompatibel mit Spring Boot?

Ja. Die API funktioniert mit jedem Java-Projekt: Spring Boot, Jakarta EE, Quarkus, Micronaut oder einer Standard-main()-Methode. Für die Kommunikation genügt ein HTTPS-POST-Request. Framework-spezifische Abhängigkeiten sind nicht erforderlich.

Kann ich in Java mit derselben API sowohl SMS- als auch RCS-Nachrichten versenden?

 Ja. Die Esendex-API nutzt denselben Endpunkt sowohl für SMS als auch für RCS (WhatsApp, E-Mail und Sprachanrufe demnächst verfügbar). Sie müssen dafür lediglich den Wert des Felds channel in Ihrer JSON-Payload ändern – der Rest Ihres Java-Codes bleibt unverändert.

Wie lassen sich in Java Massen-SMS versenden?

Die Esendex-API unterstützt mehrere Empfängerinnen und Empfänger in einer einzigen Anfrage. Fügen Sie dazu einfach die entsprechenden Telefonnummern zum recipients-Array Ihrer JSON-Payload hinzu. Bei hohem Versandvolumen können Sie den Versand zeitlich planen oder Nachrichten gebündelt versenden.

Wie viel kostet der Versand von SMS über die API?

Bei Esendex richten sich die Preise nach dem Nachrichtenvolumen und den von Ihnen gewählten Kanälen. Wir erstellen gerne ein individuelles Angebot, das genau auf Ihre Bedürfnisse zugeschnitten ist.

Lassen Sie uns gemeinsam mit dem Versand starten.