Legacy HTTP
Die sendtmsg.php-Schnittstelle für bestehende Integrationen. Diese API ist seit 2009 verfügbar und wird für Abwärtskompatibilität vollständig unterstützt.
Tipp
Für neue Integrationen empfehlen wir die moderne REST API mit JSON-Antworten und Bearer-Token-Authentifizierung. Siehe REST-API.
Endpunkt
URL
https://www.teammessage.de/mbr/sendtmsg.php
Unterstützt sowohl GET- als auch POST-Anfragen. GET ist üblich für einfache Integrationen; POST wird für längere Nachrichten oder bei URL-Längenbegrenzungen empfohlen.
Pflichtparameter
| Parameter | Beschreibung | Beispiel |
|---|---|---|
tm |
Team-ID (Kundennummer) | 100042 |
tn |
E-Mail-Adresse der Teamliste | myteam@tmsg.de |
msg |
Nachrichtentext (URL-kodiert) | Server+alert |
Optionale Parameter
| Parameter | Beschreibung | Beispiel |
|---|---|---|
tsms |
Empfänger-Telefonnummer(n), kommagetrennt | +4917012345678 |
fsms |
Absenderkennung (alphanumerisch max. 11 Zeichen, oder numerisch max. 16 Ziffern) | ALERT |
fm |
Absender-E-Mail zur Authentifizierung (wenn autorisierte Absender konfiguriert) | server@example.com |
ky |
Keyword zur Authentifizierung (wenn für die Teamliste konfiguriert) | secret123 |
date |
Geplantes Sendedatum (TT.MM.JJ oder JJJJ-MM-TT) | 25.12.25 |
time |
Geplante Sendezeit (HH:MM) | 08:00 |
test |
Testmodus – validiert Parameter ohne Versand (auf 1 setzen) | 1 |
utf |
Nachricht ist UTF-8-kodiert (auf 1 setzen) | 1 |
flash |
Als Flash-SMS senden (wird sofort angezeigt, auf 1 setzen) | 1 |
Antwortcodes
Die API gibt eine Klartext-Antwort mit einem Statuscode zurück:
| Code | Bedeutung |
|---|---|
+1 |
Erfolg – SMS zur Zustellung angenommen |
-1 |
Ungültige Team-ID (tm-Parameter) |
-2 |
Ungültiger Teamname (tn-Parameter) |
-3 |
Ungültige Absender-E-Mail (fm-Parameter) |
-4 |
Nachricht zu kurz |
-5 |
Keine Nachricht angegeben |
-10 |
Konto nicht gefunden (prüfen Sie tm, tn, ky) |
-11 |
SMS-Versand gesperrt oder ungültige Telefonnummer |
-12 |
IP-Adresse nicht in Whitelist |
Examples
Einfache SMS
An Teamliste senden
curl "https://www.teammessage.de/mbr/sendtmsg.php?tm=100042&tn=myteam@tmsg.de&msg=Server+alert"
Direkt an Telefonnummer
An bestimmten Empfänger senden
curl "https://www.teammessage.de/mbr/sendtmsg.php?tm=100042&tn=myteam@tmsg.de&tsms=+4917012345678&msg=Direct+message"
Mit Authentifizierung
Mit Keyword-Authentifizierung
curl "https://www.teammessage.de/mbr/sendtmsg.php?tm=100042&tn=myteam@tmsg.de&ky=secret123&msg=Authenticated+message"
Zeitgesteuerter Versand
Zu bestimmtem Datum und Uhrzeit senden
curl "https://www.teammessage.de/mbr/sendtmsg.php?tm=100042&tn=myteam@tmsg.de&msg=Reminder&date=25.12.25&time=08:00"
Mehrere Empfänger
Kommagetrennte Telefonnummern
curl "https://www.teammessage.de/mbr/sendtmsg.php?tm=100042&tn=myteam@tmsg.de&tsms=+4917012345678,+4917098765432&msg=Group+alert"
Eigene Absenderkennung
Alphanumerischer Absender
curl "https://www.teammessage.de/mbr/sendtmsg.php?tm=100042&tn=myteam@tmsg.de&tsms=+4917012345678&fsms=ALERT&msg=Server+down"
Testmodus
Validieren ohne Versand
curl "https://www.teammessage.de/mbr/sendtmsg.php?tm=100042&tn=myteam@tmsg.de&msg=Test&test=1"
Telefonnummer-Format
Telefonnummern können in verschiedenen Formaten angegeben werden. Sie werden automatisch normalisiert:
| Eingabe | Normalisiert |
|---|---|
+4917012345678 |
004917012345678 |
004917012345678 |
004917012345678 |
017012345678 |
004917012345678 |
0170-123 456 78 |
004917012345678 |
Hinweis
Leerzeichen, Bindestriche und Klammern werden automatisch entfernt. Nummern ohne Ländervorwahl werden als deutsch (+49) angenommen.
Zeichenkodierung
Standardmäßig werden Nachrichten in ISO-8859-15-Kodierung erwartet. Für Sonderzeichen oder nicht-lateinische Schriften:
- Verwenden Sie den Parameter utf=1 für UTF-8-kodierte Nachrichten
- URL-kodieren Sie Sonderzeichen (z.B. ä → %C3%A4 für UTF-8)
- Das System erkennt UTF-8 in den meisten Fällen automatisch
UTF-8-Nachricht mit Umlauten
curl "https://www.teammessage.de/mbr/sendtmsg.php?tm=100042&tn=myteam@tmsg.de&msg=M%C3%BCnchen+Gr%C3%BC%C3%9Fe&utf=1"
IP-Whitelist
Aus Sicherheitsgründen können Sie den API-Zugriff auf bestimmte IP-Adressen beschränken. Konfigurieren Sie die Whitelist in Ihren Teamlisten-Einstellungen.
Unterstützte Formate:
- Einzelne IP:
192.168.1.100 - CIDR-Notation:
192.168.1.0/24 - Subnetzmaske:
10.0.0.0/255.255.255.0 - Mehrere Einträge:
192.168.1.100, 10.0.0.0/24
Hinweis
Wenn eine Whitelist konfiguriert ist und Ihre IP nicht enthalten ist, erhalten Sie Fehler -12.
Integrationsbeispiele
Shell-Skript (Nagios/Icinga)
#!/bin/bash
TEAM_ID="100042"
TEAM_NAME="monitoring@tmsg.de"
RECIPIENT="$CONTACTPAGER$"
MESSAGE="$NOTIFICATIONTYPE$: $HOSTALIAS$ $SERVICEDESC$ is $SERVICESTATE$"
curl -s "https://www.teammessage.de/mbr/sendtmsg.php?tm=${TEAM_ID}&tn=${TEAM_NAME}&tsms=${RECIPIENT}&msg=$(echo -n "$MESSAGE" | jq -sRr @uri)"
Python
import requests
from urllib.parse import urlencode
params = {
'tm': '100042',
'tn': 'myteam@tmsg.de',
'tsms': '+4917012345678',
'msg': 'Alert from Python script'
}
response = requests.get(
'https://www.teammessage.de/mbr/sendtmsg.php',
params=params
)
if '+1' in response.text:
print('SMS sent successfully')
else:
print(f'Error: {response.text}')
PHP
<?php
$params = http_build_query([
'tm' => '100042',
'tn' => 'myteam@tmsg.de',
'tsms' => '+4917012345678',
'msg' => 'Alert from PHP'
]);
$response = file_get_contents(
"https://www.teammessage.de/mbr/sendtmsg.php?{$params}"
);
if (strpos($response, '+1') !== false) {
echo "SMS sent successfully\n";
} else {
echo "Error: {$response}\n";
}
Migration zur REST API
Erwägen Sie die Migration zur modernen REST API für:
- JSON-Antworten für einfacheres Parsen
- Bearer-Token-Authentifizierung (sicherer)
- IPv6-Unterstützung
- OpenAPI/Swagger-Dokumentation
- Zusätzliche Endpunkte (Zustellstatus, Guthaben)
See REST-API für die moderne API-Dokumentation.