Handbuch Versendung von SMS per URL Aufruf über http oder https-Request
- Parameter für Text-SMS, Unicode SMS
- Parameter für WAP-Push
- Statuscodes
- Sendeberichte empfangen
- Antworten empfangen
- Guthabenabfrage
- Programmier-Beispiele
- Beispiel SMS mit PHP versenden
- Beispiel SMS mit Perl versenden
- Beispiel SMS mit ASP versenden
- Beispiel SMS mit JSP (Java Server Pages) versenden
- Beispiel SMS mit JAVA versenden
- Beispiel SMS mit C# versenden
- Beispiel SMS mit C++ versenden
- Beispiel SMS mit Visual Basic / VBA versenden
- Beispiele SMS mit Kommandozeile versenden
Sie können über die Eingabe einer Adresse in Ihrem Browser, bzw. über einen automatischen Aufruf der Adresse
http://www.sms4.de/cgi-bin/sms_out.plmit den folgenden Parametern eine SMS versenden:
1.) Parameter für Text-SMS
| Parameter | Beispiel | Beschreibung |
|---|---|---|
| handynr (Pflicht) | handynr=491743333333 | Die Zielnummer. Bitte immer mit Ländercode ohne + oder führende Nullen. |
| user (Pflicht) | user=XYZ | Ihr SMS4.de Benutzername. |
| pwd (Pflicht) | pwd=XYZ | Das Passwort Ihres Benutzers. |
| kdnr (Pflicht) | kdnr=XY12345 | Ihre SMS4.de Kundennummer hier kostenlos beantragen |
| text (Pflicht) | text=hier+k%F6nnte+der+Text+stehen | Der Text der SMS, 160 Zeichen (ISO-8859-1). |
| tarif (optional) | tarif=4 | Bei Tarif ist 1,2,3,4 oder 5 möglich. Details zu den Tarifen finden Sie in der Preisliste (Der Vorgabewert ist 3). |
| absender (optional) | absender=Der-Peter | Die Absenderkennnung nur für Tarif 1 und 5: 6 bis 11 Zeichen Text (keine Sonderzeichen) oder 6 bis 14 Ziffern, bei Tarif 5 - SMS ins Festnetz - sind nur Ziffern erlaubt (Den Vorgabewert können Sie in den Einstellungen angeben). |
| v (optional) | v=1 | Bei v=1 liefert der URL-Aufruf zusätzlich eine eindeutige SMS-Id zurück. Diese Id können Sie z.B. für Nachfragen verwenden (analog der Id in den CSV-Logfiles). |
| kodierung (optional) | text=0442043504410442&kodierung=ucs Das Wort тест (Test) in kyrillischer Schrift | Nur bei Tarif 1: Um SMS mit internationalen Schriftzeichen bzw. Sprachen zu senden, kann der Parameter kodierung auf ucs gesetzt werden. Dann muss der Text in Unicode (UCS, Unicode Character Set) kodiert sein. Die Länge von UCS kodierten SMS ist auf 70 Zeichen begrenzt. Übersicht UCS-Zeichen: http://www.unicode.org/charts/ Lesen Sie auch in unseren FAQ: Wie versende ich Unicode / UCS Nachrichten? |
| guthaben (optional) | guthaben=1 | Bei guthaben=1 liefert der URL-Aufruf zusätzlich das aktuelle Restguthaben in Euro (nur für Prepaidkunden) nach Versand der SMS zurück. |
| replyto (optional) | replyto=an@1andere.de | Antworten (Tarif 2 u. 4) und Sendeberichte (Tarif 1,2 u. 5) werden nicht an die E-Mail des Benutzers, sondern an die angegebene REPLYTO E-Mail-Adresse gesendet. |
| test (optional) | test=1 | test=1 aktiviert den Testmodus. SMS werden nicht versendet und nicht berechnet. |
Bitte Benutzername, Passwort und Kundennummer mit Ihren Daten ersetzen.
Falls Sie noch keine Zugangsdaten haben, bekommen Sie diese hier.
Beispiel-Aufruf Text-SMS (GET)
Beispiel-Aufruf für Unicode (UCS-kodierte) Text-SMS, nur mit Tarif 1 möglich:
Der HTTP-Aufruf muss URL-encoded sein, also kein Ä sondern %C4 etc.
Eine vollständige Übersicht gibt es hier: urlencode-chart.
Normalerweise werden die Texte unter PHP und Perl mit entsprechenden Funktionsaufrufen
automatisch codiert (urlencode).
Die URL rufen Sie in PHP mit fopen() auf, in Perl mit HTTP::Request (siehe Beispiele).
Die Parameter können per GET oder POST übertragen werden.
2.) Parameter für WAP-Push (nur mit Tarif 1 möglich!)
| Parameter | Beispiel | Beschreibung |
|---|---|---|
| handynr (Pflicht) | handynr=491743333333 | Die Zielnummer. Bitte immer mit Ländercode ohne + oder führende Nullen. |
| user (Pflicht) | user=XYZ | Ihr SMS4.de Benutzername. |
| pwd (Pflicht) | pwd=XYZ | Das Passwort Ihres Benutzers. |
| kdnr (Pflicht) | kdnr=XY12345 | Ihre SMS4.de Kundennummer hier kostenlos beantragen |
| text (Pflicht) | text=SMS4,http://wap.sms4.de |
Parameter text in folgendem Format: text=Titel,WAP-URL Der Titel ist optional (wird auf dem Endgerät angezeigt). Verwenden Sie zum Trennen des Titels und der URL ein Komma. Setzen Sie im Titel kein Komma. Wird kein Titel angegeben, dann ist die URL gleichzeitig auch der Titel. Es stehen insgesamt 160 Zeichen zur Verfügung (160 Zeichen = Titel + Komma + WAP-URL). |
| wappush | wappush=1 | Der Parameter wappush muss auf 1 gesetzt sein, sonst wird lediglich eine Text-SMS versendet. |
| tarif | tarif=1 | Für WAP-Push bitte immer Tarif 1 angeben, sonst wird lediglich eine Text-SMS versendet. Details zu den Tarifen finden Sie in der Preisliste (Der Vorgabewert ist 3). |
| v (optional) | v=1 | Bei v=1 liefert der URL-Aufruf zusätzlich eine eindeutige SMS-Id zurück. Diese Id können Sie z.B. für Nachfragen verwenden (analog der Id in den CSV-Logfiles). |
| guthaben (optional) | guthaben=1 | Bei guthaben=1 liefert der URL-Aufruf zusätzlich das aktuelle Restguthaben in Euro (nur für Prepaidkunden) nach Versand der SMS zurück. |
| replyto (optional) | replyto=an@1andere.de | Sendeberichte (Tarif 1,2 u. 5) werden nicht an die E-Mail des Benutzers, sondern an die angegebene REPLYTO E-Mail-Adresse gesendet. |
| test (optional) | test=1 | test=1 aktiviert den Testmodus. SMS werden nicht versendet und nicht berechnet. |
Bitte Benutzername, Passwort und Kundennummer mit Ihren Daten ersetzen.
Falls Sie noch keine Zugangsdaten haben, bekommen Sie diese hier.
3.) Statuscodes
Der Aufruf der URL liefert im Erfolgsfall zurück:
<smsout> <status>0</status> <statustext>SMS erfolgreich versendet</statustext> </smsout>oder im erweiterten Format mit v=1:
<smsout> <status>0</status> <statustext>SMS erfolgreich versendet</statustext> <smsid>123456789</smsid> </smsout>oder mit Anzeige des Restguthabens guthaben=1:
<smsout> <status>0</status> <statustext>SMS erfolgreich versendet</statustext> <guthaben>23.35</guthaben> </smsout>Definierte Statuscodes derzeit:
0 = SMS erfolgreich versendet 10 = Falsche Authentifizierung, Ungueltige Kombination User/Passwort/Kundennummer 11 = Falsche Authentifizierung, User fehlt 12 = Falsche Authentifizierung, Passwort fehlt 13 = Falsche Authentifizierung, Kundennr fehlt 20 = Handynummer fehlt 21 = Ungueltige Handynr 22 = Handynummer zu kurz 23 = Handynummer zu lang 25 = SMS Text fehlt 30 = Ungueltiger Tarif 31 = Ungueltige Kombination Tarif/Handynummer 40 = Test SMS aufgebraucht 41 = Guthaben aufgebraucht 42 = Monatslimit erreicht 51 = Ungueltige Absenderkennung 52 = Absenderkennung zu kurz 99 = Stoerung beim SMSCLesen Sie auch in unseren FAQ: Wie kann ich den Statuscode der HTTP-Schnittstelle verarbeiten?
4.) Sendeberichte empfangen
Siehe unter Handbuch Sendeberichte über HTTP Push
5.) Antworten empfangen
Siehe unter Handbuch Antworten über HTTP Push
6.) Guthabenabfrage
Siehe unter Handbuch Guthabenabfrage über http oder https-Request
7.) Programmier-Beispiele
Beispielcode für PHP:
<?php
/* ================================================
Beispielcode für den Versand von SMS über URL-Aufruf
Autor: Andre Probst a.probst@alphaQuest.de
für www.sms4.de
===================================================*/
$kdnr = "XY12345"; // Bitte mit Ihrer Kundennr ersetzen
$pw = "8899"; // Bitte mit Ihrem Passwort ersetzen
$user = "Andre"; // Bitte mit Ihrem Usernamen ersetzen
// Ihre Absenderkennung ( 6 bis 11 Zeichen Text oder 6 bis 14 Ziffern )
// nur relevant für Tarif 1 und Tarif 5
$absender="017488997766";
// Handynummer inklusive Landesvorwahl und Netz
$handynr = "491741234567";
$text = "Das ist ein Test mit PHP"; // Text der SMS
$tarif = 1; // mit Absenderkennung und Sendeberichten, direkte Terminierung im SMSC
// URL zusammenbauen
$url = "http://www.sms4.de/cgi-bin/sms_out.pl?"
. "handynr=" . UrlEncode($handynr)
. "&user=" . UrlEncode($user)
. "&pwd=" . UrlEncode($pw)
. "&kdnr=" . UrlEncode($kdnr)
. "&text=" . UrlEncode($text)
. "&tarif=" . UrlEncode($tarif)
. "&absender=" . UrlEncode($absender)
;
// echo $url;
/* Aufrufen der URL */
$message="";
if ( ($f = @fopen($url, "r"))) {
$max_zeichen=256;
$daten = fgets($f, $max_zeichen);
while ($daten) {
$message.= $daten;
$daten = fgets($f, $max_zeichen);
}
}
else {
echo "Fehler: URL $url konnte nicht geöffnet werden.";
/*
Wenn Sie Dateien nicht mit fopen() öffnen können, sollten Sie
Ihre Server-Konfiguration überprüfen. Die Option allow_url_fopen in
der php.ini muss auf TRUE gesetzt sein.
Wichtige Hinweise zu fopen siehe
http://www.php.net/manual/de/wrappers.http.php
*/
}
echo $message;
?>
Beispielcode für Perl:
#!/usr/bin/perl
#############################################################
#Beispielcode für den Versand von SMS über einen POST-Request
#Autor: Joachim Nenning info@alphaQuest.de
#für www.sms4.de
#############################################################
# Standard-CGI-Routinen laden
use CGI;
$kdnr= 'XY12345';# Bitte mit Ihrer Kundennr ersetzen
$pw= '8899';# Bitte mit Ihrem Passwort ersetzen
$user = 'Andre';# Bitte mit Ihrem Usernamen ersetzen
# Ihre Absenderkennung ( 6 bis 11 Zeichen Text oder 6 bis 14 Ziffern )
# nur relevant für Tarif 1 und Tarif 5
$absender = 'Der Peter';
# Handynummer inklusive Landesvorwahl und Netz
$handynr = "491741234567";
$tarif = 1; # mit Absenderkennung und Sendeberichten, direkte Terminierung im SMSC
$text = 'Das ist ein Test mit Perl'; # Text der SMS
# Aufrufen der URL via POST
use HTTP::Request::Common;
use LWP::UserAgent;
$ua = new LWP::UserAgent;
$res = $ua->request(
POST 'http://www.sms4.de/cgi-bin/sms_out.pl',
[
handynr => $handynr,
user => $user,
pwd => $pw,
kdnr => $kdnr,
text => $text,
tarif => $tarif,
absender => $absender
]
);
if ($res->is_error) {
# HTTP error
}
my $output = new CGI;
print $output->header();
# Meldung ausgeben
if ($res->is_success) {
print $res->content;
}
else {
die $res->status_line;
}
Beispielcode für ASP:
<%@LANGUAGE="VBScript"%>
<%
'Beispielcode für den Versand von SMS über einen POST-Request
'Autor: Joachim Nenning info@alphaQuest.de
'für www.sms4.de
Dim xmlobj, url
Dim kdnr
Dim pw
Dim user
Dim absender
Dim handynr
Dim tarif
Dim text
kdnr = "XY12345" 'Bitte mit Ihrer Kundennr ersetzen
pw = "8899" 'Bitte mit Ihrem Passwort ersetzen
user = "Andre" 'Bitte mit Ihrem Usernamen ersetzen
'Ihre Absenderkennung ( 6 bis 11 Zeichen Text oder 6 bis 14 Ziffern )
'nur relevant für Tarif 1 und Tarif 5
absender = "Der Peter"
'Handynummer inklusive Landesvorwahl und Netz
handynr="491741234567"
tarif = 1 'mit Absenderkennung und Sendeberichten, direkte Terminierung im SMSC
text = "Das ist ein Test mit ASP" 'Text der SMS
' URL zusammenbauen
url = "handynr=" & Server.URLEncode(handynr)
url = url & "&user=" & Server.URLEncode(user)
url = url & "&pwd=" & Server.URLEncode(pw)
url = url & "&kdnr=" & Server.URLEncode(kdnr)
url = url & "&text=" & Server.URLEncode(text)
url = url & "&tarif=" & Server.URLEncode(tarif)
url = url & "&absender=" & Server.URLEncode(absender)
'Aufrufen der URL via POST
set xmlobj = Server.CreateObject("Msxml2.ServerXMLHTTP")
' set xmlobj = Server.CreateObject("Msxml2.ServerXMLHTTP.4.0")
' set xmlobj = Server.CreateObject("Microsoft.XMLHTTP")
xmlobj.open "POST", "http://www.sms4.de/cgi-bin/sms_out.pl", false
xmlobj.setRequestHeader "Content-type", "application/x-www-form-urlencoded"
xmlobj.Send url
'Meldung ausgeben
if (xmlobj.status <> 200 ) then
' HTTP error
else
Response.write(xmlobj.responseText)
end if
set xmlobj = nothing
%>
Beispielcode für JSP:
<%@ page import="java.util.*" %>
<%@ page import="java.net.*" %>
<%@ page import="java.io.*" %>
<%
/* ========================================================
Beispielcode für den Versand von SMS über einen POST-Request
Autor: Joachim Nenning info@alphaQuest.de
für www.sms4.de
===========================================================*/
String kdnr = "XY12345"; // Bitte mit Ihrer Kundennr ersetzen
String pw = "8899"; // Bitte mit Ihrem Passwort ersetzen
String user = "Andre"; // Bitte mit Ihrem Usernamen ersetzen
// Ihre Absenderkennung ( 6 bis 11 Zeichen Text oder 6 bis 14 Ziffern )
// nur relevant für Tarif 1 und Tarif 5
String absender = "Der Peter";
// Handynummer inklusive Landesvorwahl und Netz
String handynr = "491741234567";
String tarif = "1"; // mit Absenderkennung und Sendeberichten, direkte Terminierung im SMSC
String text = "Das ist ein Test mit JSP"; // Text der SMS
// URL zusammenbauen
String uri = "handynr=" + URLEncoder.encode(handynr);
uri = uri + "&user=" + URLEncoder.encode(user);
uri = uri + "&pwd=" + URLEncoder.encode(pw);
uri = uri + "&kdnr=" + URLEncoder.encode(kdnr);
uri = uri + "&text=" + URLEncoder.encode(text);
uri = uri + "&tarif=" + URLEncoder.encode(tarif);
uri = uri + "&absender=" + URLEncoder.encode(absender);
// Aufrufen der URL via POST
try {
URL http = new URL("http://www.sms4.de/cgi-bin/sms_out.pl");
try {
URLConnection connect = http.openConnection();
connect.setDoOutput(true);
connect.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
PrintWriter output = new PrintWriter(connect.getOutputStream());
output.println(uri);
output.close();
BufferedReader input = new BufferedReader(new InputStreamReader(connect.getInputStream()));
String res = input.readLine();
input.close();
//Meldung ausgeben
out.println(res);
}
catch (IOException ex) {
//HTTP error
out.println(ex);
}
}
catch(MalformedURLException e) {
out.println(e);
}
%>
Beispiel für JAVA 6
Download QuellcodeParameter: -a,--a Absenderkennung -d,--debug Debugmodus -h,--help Diese Hilfe anzeigen. -hnr,--handynummer Handynummer (Pflicht) -kdnr,--kundennummer Kundennummer (Pflicht) -pw,--passwort Passwort (Pflicht) -t,--tarif Tarif 1-5 -txt,--text Text der SMS (Pflicht). -u,--user User (Pflicht) Beispielaufruf: java SMS4 -hnr=491743333333 -u=XYZ -pw=XYZ -kdnr=XY12345 -txt="Dies ist ein Text" -t=1
Beispiel für Visual C# 2008
Download QuellcodeParameter: -a,--a Absenderkennung -d,--d Debugmodus -h,--h Diese Hilfe anzeigen. -hnr,--hnr Handynummer (Pflicht) -kdnr,--kdnr Kundennummer (Pflicht) -pw,--pw Passwort (Pflicht) -t,--t Tarif 1-5 -txt,--txt Text der SMS (Pflicht). -u,--u User (Pflicht) Beispielaufruf: SMS4 -hnr=491743333333 -u=XYZ -pw=XYZ -kdnr=XY12345 -txt="Dies ist ein Text" -t=1
Beispiel für Visual C++ 6.0
Download QuellcodeParameter: User Passwort Kundennr Handynr "Text" [Absender] [Tarif] Beispielaufruf: SMS4 XYZ XYZ XY12345 491743333333 "Dies ist ein Text" Peter 1
Beispiel für Visual Basic
Download Quellcode
Private Sub CommandButton1_Click()
Dim res
' Aufruf der SMS Sendefunktion: User, Passwort, Kundennr, Handynr, Text, Absender, Tarif
res = SMS4("XYZ", "XYZ", "XY12345", "491743333333", "Dies ist ein Text", "Der Peter", 1)
MsgBox res
End Sub
Beispiele für Aufruf aus Kommandozeile
mit Wget:wget -q -O - "http://www.sms4.de/cgi-bin/sms_out.pl?handynr=491743333333&user=XYZ&pwd=XYZ&kdnr=XY12345&text=Dies+ist+ein+Text&tarif=1" oder per POST-Request: wget -q -O - --post-data "handynr=491743333333&user=XYZ&pwd=XYZ&kdnr=XY12345&text=Dies+ist+ein+Text&tarif=4" http://www.sms4.de/cgi-bin/sms_out.plmit Lynx:
lynx -source "http://www.sms4.de/cgi-bin/sms_out.pl?handynr=491743333333&user=XYZ&pwd=XYZ&kdnr=XY12345&text=Dies+ist+ein+Text&tarif=1"mit cURL:
curl "http://www.sms4.de/cgi-bin/sms_out.pl?handynr=491743333333&user=XYZ&pwd=XYZ&kdnr=XY12345&text=Dies+ist+ein+Text&tarif=1" oder per POST-Request und via SSL: curl -k --data-urlencode "handynr=491743333333" --data-urlencode "user=XYZ" --data-urlencode "pwd=XYZ" --data-urlencode "kdnr=XY12345" --data-urlencode "text=Dies ist ein Text via SSL" https://www.sms4.de/cgi-bin/sms_out.pl

