SMS senden
Parameter
| Name | Pflicht | Beschreibung |
|---|---|---|
to | ja | Rufnummer: international +491711234567 oder national 01711234567. Mehrere durch Komma getrennt, höchstens 5 pro Sendung. Im JSON-Aufruf auch als Liste. |
text | ja | Nachrichtentext: höchstens 1 SMS (160 Zeichen, inkl. Absenderhinweis) ohne bestätigte Handynummer, sonst 3 SMS (459 Zeichen). Lange SMS werden automatisch geteilt (siehe Zeichen & Länge). |
dry | nein | dry=1 prüft Nummer, Länge, Limit und Sperrliste, ohne zu senden. Antwort 200 mit recipients (je Empfänger Text und SMS-Teile), skipped und remaining_today; Fehler wie beim echten Senden (422). Praktisch zum Einbauen und Testen. |
format | nein | Nur GET-URL: format=text liefert OK 123 bzw. ERROR … statt JSON – praktisch für Skripte. |
token | ja* | Nur GET-URL, wenn du keinen Header setzen kannst (siehe Authentifizierung). |
Per GET-URL
GET https://smsforge.de/api/send?token=TOKEN&to=%2B491711234567&text=Hallo%20Welt GET https://smsforge.de/api/send?token=TOKEN&to=%2B491711234567&text=Hallo&format=text
Sonderzeichen in der URL: Leerzeichen als %20 oder +. Ein + in der Rufnummer darf unkodiert stehen (to=+49…), im text wird + dagegen zum Leerzeichen – ein echtes Pluszeichen schreibst du als %2B. Auch &, #, ? und Umlaute müssen kodiert werden. Dafür gibt es den URL-Konverter.
Per POST (JSON)
curl -X POST https://smsforge.de/api/sms \
-H "Authorization: Bearer TOKEN" \
-H "Content-Type: application/json" \
-d '{"to":["+491711234567"],"text":"Hallo"}'
→ 202 {"messages":[{"id":123,"to":"+491711234567","status":"queued"}]}
Mit JSON brauchst du dich um die URL-Kodierung nicht zu kümmern – sende Umlaute und Sonderzeichen einfach als UTF-8.