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.

Menü