BroadNet
Entwicklerhandbuch · REST API·OpenAPI 3.1

Die BroadNet API.

Eine einzige REST API für SMS, WhatsApp, RCS, Telegram, E-Mail, Messenger, Instagram und Push-Benachrichtigungen. Jede Anfrage wird über HTTPS gesendet und mit einem Bearer-Token authentifiziert. Jeder Kanal verfügt über eigene Pfade, und die gesamte API ist in einer herunterladbaren OpenAPI 3.1-Spezifikation beschrieben. Diese Seite beschreibt die Aufrufe, mit denen die meisten Integrationen beginnen, angefangen mit einer einzelnen SMS.

12 Minuten Lesezeit·Aktualisiert im September 2026Entwicklerzentrum

Überblick

Die BroadNet API ist eine REST API über HTTPS. Sie authentifizieren sich mit einem Bearer-Token, senden eine JSON oder Multipart-Anfrage an einen Kanalendpunkt und erhalten eine Nachrichten-ID oder eine Batch-Zusammenfassung zurück. Der Zustellungsstatus wird an die in Ihrem Konto konfigurierte Webhook-URL gesendet. Die vollständige API mit 329 Pfaden und 376 Operationen in acht Kanälen ist als OpenAPI 3.1-Spezifikation veröffentlicht. Die Beispiele auf dieser Seite verwenden curl, Node.js, Python, Java, C#, Go, Ruby und das offizielle TypeScript SDK.

Umgebungen

Die Beispiele auf dieser Seite rufen die Produktions-Basis-URL auf. Test-Zugangsdaten und die Angabe, wohin Sie Testverkehr senden, erhalten Sie mit Ihrem Testzugang: Fordern Sie ihn unter /signup an, wir antworten innerhalb eines Werktags.

UmgebungBasis-URL
Produktionhttps://api.broadnet.me

Authentifizierung

Jede Anfrage enthält Ihr Zugriffstoken im HTTP Header. Das Token wird pro Konto ausgestellt und stammt von Ihrem BroadNet-Konto. Die Beispiele auf dieser Seite lesen es aus einer Umgebungsvariablen namens BROADNET_TOKEN.

HTTP
Authorization: Bearer $BROADNET_TOKEN

Wenn das Token fehlt oder ungültig ist, antwortet die API mit HTTP 401 und einem JSON Fehlertext im unten beschriebenen Standardfehlerformat. Es gibt keinen Aufruf, der Benutzername und Passwort gegen ein Token austauscht.

Senden Sie eine SMS

Senden Sie eine SMS mit einem JSON Textkörper. Die vier erforderlichen Felder sind Absender, Empfänger, Text und Kodierung.

POSThttps://api.broadnet.me/sms/sendSms

Pflichtfelder

FeldDatentypBeschreibung
senderIdstringIhre genehmigte Absenderkennung, die dem Empfänger als Absender angezeigt wird.
destinationNumberstringEmpfängernummer mit Ländervorwahl, nur Ziffern, ohne Pluszeichen.
messagestringDer Nachrichtentext.
messageTypestringKodierung: TEXT für GSM-7-Text, UNICODE für Arabisch, Emojis und andere Schriftsysteme.

Optionale Felder

FeldDatentypBeschreibung
charCountintegerZeichenanzahl, wie von /sms/identify zurückgegeben.
smsPartsintegerAnzahl der Segmente, wie von /sms/identify zurückgegeben.
charLimitintegerZeichen pro Segment, wie von /sms/identify zurückgegeben.
expiryHourintegerGültigkeitsdauer in Stunden.
isSchedulebooleanAuf „true“ setzen, um die Nachricht zu einem späteren Zeitpunkt zu versenden, anstatt sie jetzt zu senden.
delaynumberBitte vor dem Absenden verzögern.
gmtstringGMT-Offset für die Terminplanung.
time—Geplanter Sendezeitpunkt (mit isSchedule).
repeat—Wiederholungseinstellung für geplante Sendungen.
peIdstringHauptniederlassungs-ID, sofern eine Aufsichtsbehörde eine solche verlangt.
templateIdstringRegistrierte Vorlagen-ID, sofern eine solche von einer Aufsichtsbehörde gefordert wird.
telemarketerIdstringTelemarketing-ID, sofern diese von einer Aufsichtsbehörde vorgeschrieben ist.
campaignNamestringIhr Etikett für die Berichterstattung.
curl
curl -X POST https://api.broadnet.me/sms/sendSms \
  -H "Authorization: Bearer $BROADNET_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "senderId": "BroadNet",
    "destinationNumber": "447700900123",
    "message": "Your verification code is 482913",
    "messageType": "TEXT"
  }'

# 200 OK → response body is the message ID, e.g. 2603121407537573731
Node.js 18+ · fetch
// Node.js 18+ (fetch)
const res = await fetch("https://api.broadnet.me/sms/sendSms", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.BROADNET_TOKEN}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    senderId: "BroadNet",
    destinationNumber: "447700900123",
    message: "Your verification code is 482913",
    messageType: "TEXT",
  }),
});

console.log(await res.text()); // message ID
Python · requests
import os, requests

r = requests.post(
    "https://api.broadnet.me/sms/sendSms",
    headers={"Authorization": f"Bearer {os.environ['BROADNET_TOKEN']}"},
    json={
        "senderId": "BroadNet",
        "destinationNumber": "447700900123",
        "message": "Your verification code is 482913",
        "messageType": "TEXT",
    },
)

print(r.status_code, r.text)  # message ID
Java 11+ · java.net.http
// Java 11+ — java.net.http is built in, nothing to install
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class SendSms {
    public static void main(String[] args) throws Exception {
        String json = "{"
            + "\"senderId\": \"BroadNet\", "
            + "\"destinationNumber\": \"447700900123\", "
            + "\"message\": \"Your verification code is 482913\", "
            + "\"messageType\": \"TEXT\""
            + "}";

        HttpRequest req = HttpRequest.newBuilder(URI.create("https://api.broadnet.me/sms/sendSms"))
            .header("Authorization", "Bearer " + System.getenv("BROADNET_TOKEN"))
            .header("Content-Type", "application/json")
            .POST(HttpRequest.BodyPublishers.ofString(json))
            .build();

        HttpResponse<String> res = HttpClient.newHttpClient()
            .send(req, HttpResponse.BodyHandlers.ofString());

        System.out.println(res.statusCode() + " " + res.body()); // 200 + message ID
    }
}
C# · .NET 6+ HttpClient
// .NET 6+ console app (Program.cs) — HttpClient is built in, no NuGet package
using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Net.Http.Json;

using var http = new HttpClient();
http.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(
    "Bearer", Environment.GetEnvironmentVariable("BROADNET_TOKEN"));

// PostAsJsonAsync sends Content-Type: application/json
var res = await http.PostAsJsonAsync("https://api.broadnet.me/sms/sendSms", new
{
    senderId = "BroadNet",
    destinationNumber = "447700900123",
    message = "Your verification code is 482913",
    messageType = "TEXT",
});

var id = await res.Content.ReadAsStringAsync();
Console.WriteLine($"{(int)res.StatusCode} {id}"); // 200 + message ID
Go · net/http
package main

import (
	"bytes"
	"fmt"
	"io"
	"net/http"
	"os"
)

func main() {
	body := []byte(`{
		"senderId": "BroadNet",
		"destinationNumber": "447700900123",
		"message": "Your verification code is 482913",
		"messageType": "TEXT"
	}`)

	req, err := http.NewRequest(http.MethodPost, "https://api.broadnet.me/sms/sendSms", bytes.NewReader(body))
	if err != nil {
		panic(err)
	}
	req.Header.Set("Authorization", "Bearer "+os.Getenv("BROADNET_TOKEN"))
	req.Header.Set("Content-Type", "application/json")

	res, err := http.DefaultClient.Do(req)
	if err != nil {
		panic(err)
	}
	defer res.Body.Close()

	id, _ := io.ReadAll(res.Body)
	fmt.Println(res.StatusCode, string(id)) // 200 + message ID
}
Ruby · Net::HTTP
require "net/http"
require "json"

uri = URI("https://api.broadnet.me/sms/sendSms")
req = Net::HTTP::Post.new(uri)
req["Authorization"] = "Bearer #{ENV.fetch('BROADNET_TOKEN')}"
req["Content-Type"]  = "application/json"
req.body = {
  senderId:          "BroadNet",
  destinationNumber: "447700900123",
  message:           "Your verification code is 482913",
  messageType:       "TEXT"
}.to_json

res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) { |http| http.request(req) }
puts "#{res.code} #{res.body}" # 200 + message ID
TypeScript SDK · @broadnet/cpaas-sdk
// npm install @broadnet/cpaas-sdk axios
import { Configuration, SMSSMSApi } from "@broadnet/cpaas-sdk";

const sms = new SMSSMSApi(
  new Configuration({
    basePath: "https://api.broadnet.me",
    accessToken: process.env.BROADNET_TOKEN!,
  }),
);

const res = await sms.smsSendsmsPost({
  sMSSmsRequest: {
    senderId: "BroadNet",
    destinationNumber: "447700900123",
    message: "Your verification code is 482913",
    messageType: "TEXT",
  },
});

console.log(res.data); // message ID

Ein erfolgreicher Aufruf liefert HTTP 200 und die Nachrichten-ID als Antworttext, ohne JSON-Envelope:

200 OK
HTTP/1.1 200 OK

2603121407537573731

Kodierung und Segmente

Das Feld „messageType“ legt die Kodierung fest, und die Kodierung bestimmt, wie viele Zeichen in ein SMS-Segment passen. Längere Nachrichten werden in Segmente aufgeteilt und auf dem Mobilgerät wieder zusammengesetzt.

messageTypeEinzelne SMSPro Segment (lange Nachricht)Verwendung für
TEXT160153Nur GSM-7-Zeichen.
UNICODE7067Alle anderen Schriftsysteme: Arabisch, Kyrillisch, Emojis, Sonderzeichen außerhalb von GSM-7.

Sie sind sich nicht sicher, welche Kodierung Sie verwenden sollen? Fragen Sie die API. Der Endpunkt „identify“ analysiert eine Nachricht und gibt deren Kodierung, Zeichenanzahl, Segmentanzahl und Zeichen pro Segment zurück. Diese Informationen können Sie direkt in die Sendeanfrage einfügen.

curl · /sms/identify
curl -X POST https://api.broadnet.me/sms/identify \
  -H "Authorization: Bearer $BROADNET_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "message": "Your verification code is 482913" }'
200 OK
{
  "message": "Your verification code is 482913",
  "messageType": "TEXT",
  "smscount": 1,
  "charCount": 32,
  "charLimit": 160
}

Probieren Sie es aus, ohne Code zu schreiben. SMS-Zeichenzähler.

Formate für Telefonnummern

Die Zielrufnummer setzt sich aus der Landesvorwahl und der nationalen Rufnummer (nur Ziffern) zusammen. Fügen Sie kein vorangestelltes Pluszeichen, keine Vorwahl 00, keine Leerzeichen, Bindestriche oder Klammern hinzu.

BeispielErgebnisWarum
447700900123GültigLändervorwahl 44 plus die nationale Rufnummer, nur Ziffern.
+44 7700 900123AblehnenEnthält ein Pluszeichen und Leerzeichen. Entfernen Sie diese zuerst.
07700900123AblehnenNationales Format mit führender Null und ohne Ländervorwahl.

Massen-SMS

Um eine Nachricht an mehrere Empfänger zu senden, laden Sie eine Nummerndatei in einer Multipart-Formularanfrage hoch. Die Anfrage besteht aus zwei Teilen. Der erste Teil, destinationNumberFile, ist eine CSV- oder TXT-Datei mit Nummern. Der zweite Teil, bulkRequest, ist eine JSON Zeichenkette mit Absender, Text, Kodierung und Kampagnennamen.

POSThttps://api.broadnet.me/sms/sendbulk
curl · /sms/sendbulk
curl -X POST https://api.broadnet.me/sms/sendbulk \
  -H "Authorization: Bearer $BROADNET_TOKEN" \
  -F destinationNumberFile=@recipients.csv \
  -F 'bulkRequest={"senderId":"BroadNet","message":"Your statement is ready","messageType":"TEXT","campaignName":"statements"}'
200 OK
{
  "status": "success",
  "bulkSessionId": "1_20260228105000887",
  "credits": "9966465.42850",
  "deductcredits": "0.60000",
  "bulkListInfo": {
    "total": 4,
    "validCount": 3,
    "invalidCount": 0,
    "duplicate": 1
  }
}

Das bulkListInfo-Objekt zeigt an, wie viele Zahlen akzeptiert, wie viele ungültig und wie viele Duplikate sind. Sobald ein Auftrag ausgeführt wird, können Sie ihn über seine Batch-ID verwalten:

HTTP-MethodeEndpunktpfadBeschreibung
GET/sms/listListen Sie Ihre Massenaufträge mit den jeweiligen Zählerständen (abgeschlossen und ausstehend) auf.
GET/sms/pause?batch_Id=…Einen laufenden Job anhalten.
GET/sms/resume?batch_Id=…Einen pausierten Job fortsetzen.
DELETE/sms/abort?batch_Id=…Auftrag abbrechen; ausstehende Nachrichten werden nicht gesendet.
POST/sms/resendNachrichten aus einem früheren Auftrag erneut senden.
POST/sms/send-nowEinen geplanten Auftrag sofort freigeben.
POST/sms/auto-scheduleEinen Massenauftrag automatisch planen.
curl · batch control
# List your bulk jobs (each entry's id is the batch_Id below)
curl https://api.broadnet.me/sms/list \
  -H "Authorization: Bearer $BROADNET_TOKEN"

# Pause, then resume, a running job
curl "https://api.broadnet.me/sms/pause?batch_Id=1024" \
  -H "Authorization: Bearer $BROADNET_TOKEN"
curl "https://api.broadnet.me/sms/resume?batch_Id=1024" \
  -H "Authorization: Bearer $BROADNET_TOKEN"

Nummernsuche

Prüfen Sie vor dem Senden den Status einer Rufnummer (HLR und MNP), beispielsweise um eine Liste zu bereinigen oder portierte Rufnummern zu verarbeiten. Übergeben Sie die Rufnummer als Abfrageparameter `destinationNumber`. Der optionale Parameter `reqType` wählt die Art der Rufnummernsuche aus.

POSThttps://api.broadnet.me/sms/lookup
curl · /sms/lookup
curl -X POST "https://api.broadnet.me/sms/lookup?destinationNumber=447700900123" \
  -H "Authorization: Bearer $BROADNET_TOKEN"

Lieferstatus

Der Zustellungsstatus wird an die in Ihrem BroadNet-Konto konfigurierte Webhook-URL gesendet, sobald eine Nachricht ihren Lebenszyklus durchläuft. Die Nachrichtenstatus folgen diesem Lebenszyklus:

  • SUBMITTED · Von BroadNet akzeptiert und in die Warteschlange des Netzwerks eingereiht.
  • SENT · Dem Bediener oder Kanal übergeben.
  • DELIVERED · Auf dem Mobilgerät bestätigt.
  • READ · Vom Empfänger geöffnet, auf Kanälen, die Lesevorgänge melden, wie zum Beispiel WhatsApp.
  • FAILED / REJECTED · Nicht zugestellt.

Sie können auch den Status abfragen. Bei WhatsApp liefert der Bulk-Insights-Endpunkt den Status jedes Empfängers in einem Batch. Bei SMS-Massenaufträgen liefert der Listen-Endpunkt die Anzahl der verarbeiteten und ausstehenden Sendungen.

Fehler

Ein fehlendes oder ungültiges Bearer-Token wird vom API Gateway abgelehnt, bevor die Anfrage die API erreicht. Das Gateway gibt HTTP 401 mit einem JSON Body zurück, der zwei Felder enthält: error und message.

401 Unauthorized
{
  "error": "Unauthorized",
  "message": "Missing Authorization token"
}

Fehler, die von der API selbst ausgelöst werden, wie beispielsweise ein 400-Validierungsfehler, liefern einen JSON Body namens ExceptionResponse mit fünf Feldern: status, error, message, errorCode und requestUri. Die folgenden Werte sind Platzhalter.

400 · ExceptionResponse
{
  "status": 400,
  "error": "Bad Request",
  "message": "…",
  "errorCode": "…",
  "requestUri": "/sms/sendSms"
}
StatusBedeutung
200Erfolg.
400Fehlerhafte Anfrage: ein Validierungsfehler oder ein fehlendes Pflichtfeld.
401Fehlendes oder ungültiges Bearer-Token.
403Das Token ist gültig, berechtigt aber nicht zum Aufruf dieser Operation.
500Unerwarteter Serverfehler. Bitte versuchen Sie es später erneut mit Backoff.

Wiederholen Sie den Vorgang nur bei Netzwerkfehlern und 5xx-Antworten mit exponentiellem Backoff. Beheben Sie 4xx-Fehler, anstatt sie erneut zu versuchen. Wenn Ihr Konto auch über SMPP gebunden ist, geben Übermittlungen dort die standardmäßigen SMPP Statuscodes zurück, die in der Liste aufgeführt sind. SMPP Protokollleitfaden.

Andere Messaging-Kanäle

Derselbe Token und dieselbe Basis-URL funktionieren für jeden Kanal. Dies sind die Sende-Endpunkte; die OpenAPI-Spezifikation dokumentiert deren Felder und die zugehörigen Verwaltungs-Endpunkte (Vorlagen, Kontakte, Berichte).

Messaging-KanalHTTP-MethodeEndpunktpfadBeschreibung
SMSPOST/sms/sendSmsEinzelne Nachricht (JSON).
SMSPOST/sms/sendbulkMassenverarbeitung aus einer Datei (mehrteilig).
WhatsAppPOST/whatsapp/message/sendbulkText, Medien, Vorlagen, interaktiv (mehrteilig).
RCSPOST/rcs/message/sendbulkRCS Nachrichten (mehrteilig).
TelegramPOST/telegram-sms/sendTelegram-Nachrichten.
EmailPOST/email/email-service/sendE-Mail mit Betreff, Text und Empfängern.
MessengerPOST/messenger/message/sendbulkFacebook Messenger-Nachrichten (mehrteilig).
InstagramPOST/instagram/message/sendbulkInstagram-Nachrichten (mehrteilig).
PushPOST/push/message/sendPush-Benachrichtigungen (JSON).

Eine WhatsApp Vorlage zum Versenden, zum Beispiel:

curl · /whatsapp/message/sendbulk
curl -X POST https://api.broadnet.me/whatsapp/message/sendbulk \
  -H "Authorization: Bearer $BROADNET_TOKEN" \
  -F batchId=0 \
  -F campaignName=order-updates \
  -F destinationNo=447700900123 \
  -F messageType=TEMPLATE \
  -F templateName=order_update \
  -F templateLanguage=en_US \
  -F bodyTemplateVariables=INV-400

Setzen Sie batchId auf 0, um einen neuen Batch zu starten. Das Feld destinationNo akzeptiert mehrere durch Kommas getrennte Zahlen. Die Antwort enthält die Batch-ID, mit der Sie den Status jedes Empfängers abrufen können.

TypeScript SDK

BroadNet veröffentlicht ein offizielles SDK für TypeScript und Node.js : @broadnet/cpaas-sdk Es ist auf npm verfügbar. Es basiert auf der BroadNet OpenAPI-Spezifikation, enthält CommonJS- und ES-Module mit vollständigen Typdefinitionen und bietet eine API Klasse pro Kanalfunktion. Die einzige Laufzeitabhängigkeit ist axios, die npm mitinstalliert.

terminal
npm install @broadnet/cpaas-sdk axios
TypeScript · WhatsApp
import { Configuration, WhatsAppWhatsAppMessagingAPIApi } from "@broadnet/cpaas-sdk";

const wa = new WhatsAppWhatsAppMessagingAPIApi(
  new Configuration({
    basePath: "https://api.broadnet.me",
    accessToken: process.env.BROADNET_TOKEN!,
  }),
);

const res = await wa.whatsappMessageSendbulkPost({
  campaignName: "order-updates",
  messageType: "TEXT",
  destinationNo: "447700900123",
  content: "Your order has shipped.",
});

console.log(res.data); // batchId + per-file acceptance counts

Für jede andere Sprache rufen Sie die REST API direkt auf (die obigen Beispiele für Node.js, Python, Java, C#, Go und Ruby verwenden keine BroadNet-Bibliothek) oder generieren Sie einen Client aus der OpenAPI-Spezifikation.

OpenAPI-Spezifikation

Die vollständige API ist in einer OpenAPI 3.1-Datei beschrieben: 329 Pfade und 376 Operationen über acht Kanäle. Dies ist eine öffentliche Version der Spezifikation, in der interne Beispiele entfernt wurden. Importieren Sie sie in Postman oder Insomnia, durchsuchen Sie sie in Swagger UI oder generieren Sie einen Client.

terminal
curl -O https://www.broadnet.me/developers/openapi.yaml

# Generate a client in any language, e.g. Python
npx @openapitools/openapi-generator-cli generate \
  -i openapi.yaml -g python -o broadnet-python

Bevorzugen Sie Postman? Importieren Sie die Spezifikation, um alle Operationen zu erhalten, oder beginnen Sie mit einer kleinen Sammlung der wichtigsten Aufrufe.

Legacy HTTP API (/websmpp)

Konten, die auf der BroadNet-Plattform aus der SMPP-Ära eingerichtet wurden, können die ältere HTTP API unter dem Pfad `/websmpp` verwenden. Diese bleibt für bestehende Integrationen aktiv und ist in der OpenAPI-Spezifikation dokumentiert. Sie akzeptiert Anmeldeinformationen (Benutzername und Passwort oder Zugriffsschlüssel) als Anfrageparameter anstelle eines Bearer-Tokens. Neue Integrationen sollten die oben beschriebene REST API verwenden.

HTTP-MethodeEndpunktpfadBeschreibung
GET/websmpp/websmsSenden Sie eine SMS. Fügen Sie eine Uhrzeit und die GMT-Abweichung hinzu, um den Versand zu planen.user, pass (or accesskey), sid, mno, type, text, schtime, gmt
POST/websmpp/json/smsSenden Sie die Sendung mit einem JSON-Kampagnenobjekt, das die Anmeldeinformationen, den Absender, die Telefonnummern und den Text enthält.campaign { username, password, sender, gsm, text, type }
GET/websmpp/websmsstatusStatus einer übermittelten Nachricht anhand ihrer Antwort-ID.respid, format
POST/websmpp/api/dlrreportLieferbericht für einen Datumsbereich als Tabellenkalkulation.username, pass, from_date, to_date
GET/websmpp/hlr/lookupHLR Suche nach einer Nummer.username, password, destination
curl · legacy
# Legacy HTTP API — credentials as query parameters (existing integrations only)
curl "https://api.broadnet.me/websmpp/websms?user=USERNAME&pass=PASSWORD&sid=BroadNet&mno=447700900123&type=1&text=Hello"

# Status of a submitted message
curl "https://api.broadnet.me/websmpp/websmsstatus?respid=MESSAGE_ID&format=json"

Häufig gestellte Fragen

Wie authentifiziere ich mich?

Senden Sie Ihr Zugriffstoken bei jeder Anfrage im Header „Authorization: Bearer“. Das Token stammt von Ihrem BroadNet-Konto; die API generiert keine Tokens. Ein fehlendes oder ungültiges Token wird am API Gateway mit HTTP 401 und einem JSON Body mit den beiden Feldern error und message zurückgewiesen. Speichern Sie das Token in einer Umgebungsvariablen oder einem Geheimnismanager, niemals in der Quellcodeverwaltung oder im clientseitigen Code.

Wie lautet die Basis-URL?

Jedes Beispiel ruft die Produktion https://api.broadnet.me auf. Test-Zugangsdaten und die Angabe, wohin Sie Testverkehr senden, erhalten Sie mit Ihrem Testzugang: Fordern Sie ihn unter /signup an, wir antworten innerhalb eines Werktags.

Wie kann ich arabischen oder anderen Unicode-Text versenden?

Setzen Sie den Nachrichtentyp auf UNICODE. Verwenden Sie TEXT nur, wenn alle Zeichen aus dem GSM-7-Alphabet stammen. Im Zweifelsfall rufen Sie POST /sms/identify mit der Nachricht auf: Diese Funktion gibt den Nachrichtentyp, die Zeichenanzahl, die Segmentanzahl und die Zeichen pro Segment zurück.

Was liefert ein erfolgreicher Sendevorgang zurück?

POST /sms/sendSms liefert HTTP 200 und die Nachrichten-ID als Antworttext. Massenversände liefern ein JSON-Objekt mit status, bulkSessionId, credits, deductcredits und bulkListInfo.

Wie kann ich eine SMS an viele Empfänger senden?

Verwenden Sie POST /sms/sendbulk mit einem Multipart-Upload: destinationNumberFile ist eine CSV- oder TXT-Datei mit Telefonnummern und bulkRequest ist ein JSON String mit senderId, message, messageType und campaignName. Aufträge können dann anhand der Batch-ID aufgelistet, pausiert, fortgesetzt oder abgebrochen werden.

Wie erhalte ich den Lieferstatus?

Der Zustellstatus wird an die in Ihrem Konto konfigurierte Webhook-URL gesendet. Bei WhatsApp kann der Status jedes Empfängers auch unter /whatsapp/message/bulk-insights abgerufen werden.

Gibt es ein SDK ?

Ja, genau: das offizielle TypeScript / Node.js SDK, @broadnet/cpaas-sdk auf npm, das aus der BroadNet OpenAPI-Spezifikation generiert wurde. Für alle anderen Sprachen rufen Sie die REST API direkt auf oder generieren Sie einen Client aus der OpenAPI 3.1-Spezifikation unter /developers/openapi.yaml.

Was ist die /websmpp-API ?

Die Legacy HTTP API wird für bestehende SMPP-Integrationen beibehalten. Sie benötigt Anmeldeinformationen als Anfrageparameter. Neue Integrationen sollten die auf dieser Seite dokumentierte Bearer-Token REST API verwenden.