Die erste SMS per API in 5 Minuten senden – der komplette Leitfaden
Die meisten „SMS-Gateways" brauchen Tage zur Einrichtung: Antrag, Vertrag, Vertriebsgespräch, proprietäres SDK. Wir gehen den anderen Weg – Ihre erste SMS über die API geht in 5 Minuten raus: Konto anlegen, Token erzeugen, eine HTTP-Anfrage. In diesem Leitfaden gehen wir den ganzen Weg: vom Konto über funktionierenden Code in vier Sprachen bis zu Webhooks, Idempotenz und Fehlerbehandlung – die Dinge, die über den Produktionseinsatz entscheiden.
Schritt 1: Konto und Bearer Token
Erstellen Sie ein Konto auf der Registrierungsseite – Sie erhalten 100 Gratis-SMS, ohne Kreditkarte und ohne Vertrag. Die Aktivierung ist sofort. Im Panel unter Einstellungen → API → Generieren erzeugen Sie einen Bearer Token. Behandeln Sie ihn wie ein Passwort – in Umgebungsvariablen (z. B. ACTIO_TOKEN), nie im Repository oder im Frontend. Bei einem Leck widerrufen Sie ihn im Panel und erzeugen einen neuen.
Schritt 2: die erste Anfrage (curl)
Der schnellste Test ist ein einzelner Aufruf aus dem Terminal. Der Endpoint nimmt JSON an und gibt Message ID und Status zurück:
curl -X POST https://msg-api.actio.pl/api/sms \
-H "Authorization: Bearer $ACTIO_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"from": "IhreMarke",
"to": "48732129000",
"body": "Ihr Login-Code: 482910"
}'Drei Felder machen die Arbeit: from (Absendername oder E.164-Nummer), to (Empfänger in E.164 ohne „+") und body (UTF-8-Text). Volle Referenz inklusive optionaler Felder wie scheduled_at und idempotency_key in der Dokumentation.
Schritt 3: Integration in Ihren Stack
Die API ist reines REST und funktioniert mit jeder Sprache, die HTTP spricht – ohne geschlossene Bibliotheken. In Node.js genügt das eingebaute fetch, in Python requests.post(...), in PHP cURL, in Go das Standard-net/http. Fertige Snippets in fünf Sprachen finden Sie in der Dokumentation – kopieren, Token tauschen, fertig.
Schritt 4: Webhooks statt Polling
Eine SMS zu senden ist nur die halbe Geschichte – Sie wollen wissen, ob sie ankam. Statt die API in einer Schleife abzufragen, konfigurieren Sie einen Webhook: Sie geben Ihre URL an, wir senden ein Event bei jeder Statusänderung – sms.delivered, sms.failed, sms.expired, sms.bounced. Der Payload enthält message_id, Zeitstempel und Zielnetzbetreiber, sodass Ihr System in Echtzeit reagiert.
Idempotenz und Fehlerbehandlung
In der Produktion zählt Robustheit gegen Wiederholungen. Sendet Ihr Server dieselbe Anfrage zweimal (Timeout, Queue-Retry), erhält der Empfänger ohne Schutz zwei SMS. Die Lösung ist das Feld idempotency_key (UUID v4): derselbe Schlüssel garantiert genau eine Zustellung. Behandeln Sie auch die häufigen Statuscodes: 401 (falscher Token), 402 (kein Guthaben), 422 (ungültige Nummer/Text), 429 (Limit – siehe Header Retry-After).
Eine API, drei häufige Anwendungsfälle
Dieselbe API deckt drei sehr unterschiedliche Szenarien ohne Integrationsänderung ab: Transaktionsbenachrichtigungen, 2FA-/OTP-Codes und Massenkampagnen an Tausende Empfänger. Abrechnung pay-as-you-go, ohne Abo und Einstiegsschwelle – den Tarif für Ihr Volumen sehen Sie in den Preisen.
FAQ
Brauche ich einen Vertrag, um die API zu testen?+
Nein. Sie registrieren sich per E-Mail, erhalten 100 Gratis-SMS und testen sofort – ohne Vertrag und ohne Kreditkarte.
In welchen Sprachen gibt es Code-Beispiele?+
curl, Node.js, Python, PHP und Go – alle in der Dokumentation, fertig zum Kopieren.
Woher weiß ich, dass eine SMS zugestellt wurde?+
Ein Webhook sendet bei jeder Statusänderung (delivered, failed, expired, bounced) ein Event an Ihre URL, in Echtzeit und ohne Aufpreis.
Wie vermeide ich Doppelversand bei Retry?+
Nutzen Sie das Feld idempotency_key (UUID v4). Derselbe Schlüssel garantiert genau eine Zustellung, auch bei mehrfachem Request.