<< Zurück zu SMSout.de

SMS in eigenen Anwendungen erstellen und versenden

Für den Versand von Einzel-SMS in eigenen Anwendungen, entwickelt z.B. in Borland Delphi, PHP, C++, Java usw., ist ein einfacher HTTP-Aufruf notwendig. Es ist ebenfalls möglich über die Mail2SMS-Schnittstelle Einzel-SMS per E-Mail zu versenden.

Wichtiger Hinweis: Nutzen Sie den HTTP-Aufruf nicht, um Massen-SMS zu versenden. Sollten Sie eine Schnittstelle für Massen-SMS benötigen, dann stellen wir Ihnen gern den Schnittstellen-Zugang der SMSout-Software zur Verfügung. Der Entwicklungsaufwand für den Massen-SMS-Versand ist jedoch höher und erfordert höhere Programmierkenntnisse.

 

Guthaben und aktuelles SMS-Paket abfragen

Mit Hilfe des Scripts sendsms.php kann ebenfalls das eigene Guthaben abgefragt werden. Infos dazu finden Sie am Ende dieser Seite.

 

Verwendung von Sonderzeichen

Beachten Sie bitte folgende Regeln zur Verwendung von Sonderzeichen:

 

Der HTTP-Aufruf

http://www.smsout.de/client/sendsms.php?Username=<smsout-username>&Password=<smsout-password>&SMSTo=<rufnummer>&SMSType=<smstype>&SMSText=<smstext 160 Zeichen urlencoded>

oder der Aufruf über https://

https://www.smsout.de/client/sendsms.php?Username=<smsout-username>&Password=<smsout-password>&SMSTo=<rufnummer>&SMSType=<smstype>&SMSText=<smstext 160 Zeichen urlencoded>

die Parameter

<smsout-username> Geben Sie den SMSout-Benutzernamen an.

 

<smsout-password> Geben Sie das SMSout-Passwort an.

Hinweis:
Sollte das Passwort Sonderzeichen enthalten, dann müssen diese urlencoded übergeben werden.

 

<rufnummer> Geben Sie die Mobilfunknummer in der Form 0049<handyvorwahl><rufnummer> oder <handyvorwahl><rufnummer> an, nicht in der Form +49 oder 0049. Z.B. 00491791234567 oder 01791234567

 

<smstype>

 

Folgende SMS-Typen können genutzt werden:

V1 um eine SMS ohne eigenem Absender zu versenden.

V2 um eine SMS ohne eigenem Absender aber mit Antwort-Option zu versenden.

V3 um eine SMS mit eigenem Absender oder Absender-Text zu versenden.

V4 um eine "LowCost" SMS ohne eigenem Absender zu versenden.

V5 um eine SMS ohne eigenem Absender mit Versandstatusbericht zu versenden.

V6 um eine "Maxi"-SMS mit bis zu 1560 Zeichen zu versenden, der Versand muss wegen der Länge des Texts per HTTP POST erfolgen.

 

<smstext urlencoded> Der Text der SMS muss urlencoded angegeben werden, siehe PHP Funktion urlencode().

Bei den SMS-Typen V1 bis V5 darf der SMS-Text die Länge von 160 Zeichen nicht überschreiten. Beim Typ V6 sind bis 1560 Zeichen zulässig, wobei der Versand per HTTP POST erfolgen muss. Mit Anzahl Zeichen ist immer der reine Text gemeint, nicht der urlencodede Text.

 

Optionaler Parameter
&SendDateTime=<senddatetime> Fügen Sie den optionalen Parameter &SendDateTime=<senddatetime> hinzu um die SMS zu einem bestimmten Zeitpunkt zu versenden. Das Datum und Uhrzeit muss im Format JJJJ-MM-TT HH:NN:SS übergeben werden.

JJJJ=Jahr 4stellig
MM=Monat 2stellig
TT=Tag 2stellig
HH=Stunde 2stellig
NN=Minute 2stellig
SS=Sekunde 2stellig

 

&AltDisplayText= Nur bei den SMS-Typen V3 und V6 (SMS mit eigenem Absender oder Absender-Text, bzw. Maxi-SMS).

Sie können einen 11stelligen Text angeben, der als Absender verwendet werden soll. Der Text darf nur die Buchstaben A-Z, die Ziffern 0-9 und den Punkt (.) enthalten.

Wird die Angabe AltDisplayText= weggelassen, dann wird entweder die im SMSout-Kundenbereich hinterlegte Mobilfunknummer oder der hinterlegte 11stellige Text verwendet.

 

 

Rückgabe-Werte

Prüfen Sie einfach ob in der zurückgegebenen Zeichenkette das Wort "ERROR" vorkommt, in diesem Fall wurde die SMS nicht versendet. Im Falle eines fehlerhaften Versands kann der zusätzliche Wert hinter dem Wort ErrorText: ausgewertet werden, dieser gibt den aufgetretenen Fehler an. z.B.

Return: ERROR
ErrorCode: 9999
ErrorText: Login fehlgeschlagen

Wurde die SMS versendet, wird OK zurückgegeben. Zusätzlich werden die Kosten der SMS zurückgegeben, z.B.

Return: OK
ErrorCode: 0
CustomerId: Kundennummer
SMSCosts: Kosten der SMS brutto (mit MwSt.),
SMSCostsWithOutVAT: Kosten der SMS netto (ohne MwSt.),
SessionId: diese Angabe ist leer

 

Beispiel-URLs

Versand einer SMS ohne Absender and die Mobilfunknummer 01791234567 und SMS-Text Das ist eine Test SMS.

http://www.smsout.de/client/sendsms.php?Username=smsout-username&Password=smsout-password&SMSTo=01791234567&SMSType=V1&SMSText=Das+ist+eine+Test+SMS

 

Beispiel Versand einer SMS mit eigenem Absender and die Mobilfunknummer 01791234567 und SMS-Text Das ist eine Test SMS.

http://www.smsout.de/client/sendsms.php?Username=smsout-username&Password=smsout-password&SMSTo=01791234567&SMSType=V3&SMSText=Das+ist+eine+Test+SMS

 

Beispiel Versand einer SMS mit eigenem Absender aber mit dem Absender-Text SMSout_SMS and die Mobilfunknummer 01791234567 und SMS-Text Das ist eine Test SMS.

http://www.smsout.de/client/sendsms.php?Username=smsout-username&Password=smsout-password&SMSTo=01791234567&SMSType=V3&AltDisplayText=SMSout_SMS&SMSText=Das+ist+eine+Test+SMS

 

 

Einfaches Beispiel in Delphi 7 mit den Indy-Internet-Komponenten (Indy Komponenten)

// Funktion für URLEncode
function UrlEncode(Src : String) : String;
var
I : Integer;
begin
Result := '';
For I := 1 to Length(Src) Do
begin
If Src[I] = '+' then
 Result := Result + '%' + IntToHex(ord(Src[I]), 2)
else
If Src[I] = ' ' then
 Result := Result + '+'
else
If Src[I] in ['a'..'z', 'A'..'Z', '0'..'9'] Then
 Result := Result + Src[I]
else
If (Ord(Src[I]) < 32) or (Ord(Src[I]) >= 127) Or (Src[I] in [':', '/', '\', '<', '>', '?', ';', '=', '&']) Then
 Result := Result + '%' + IntToHex(ord(Src[I]), 2)
else
 Result := Result + Src [I]
end;
end;

// SMSTyp darf nur 1, 2, 3, 4, 5 sein.
// SMSText maximal 160 Zeichen
// Indy HTTP Komponente wird für den SMS-Versand genutzt

// Für SMSTyp 6 muss der Aufruf mit HTTP.Post() ausgeführt werden

function SendSMS(const SMSoutUsername, SMSoutPassword: String; const SMSTyp: Integer; const SMSText: String): String;
Var
HTTP : TIdHTTP;


begin

   HTTP := TIdHTTP.Create(NIL);
   try
    Data := Format('?Username=%s&Password=%s&SMSTo=%s&SMSType=V%d&SMSText=%s', [SMSoutUsername,
                             UrlEncode(SMSoutPassword), SMSTo, SMSTyp, UrlEncode(SMSText)] );

    Result := HTTP.Get('http://www.smsout.de/client/sendsms.php' +  Data)
  finally

    HTTP.Free;
  end;
end;

// Testen

var
 S: String;

S := SendSMS('username', 'password', 1, 'Das ist eine Test-SMS');

If Pos('ERROR', S) > 0 Then
  ShowMessage('SMS-Versand fehlgeschlagen, Fehler: ' + S)
else
  ShowMessage('Die SMS wurde versendet, Rückgabe: ' + S);

Beispiel in PHP 4/5

<?php

# Zugangsdaten
$Username = "smsout-username";
$Password = urlencode("smsout-passwort");

# Zielrufnummer korrekt angeben!
$SMSTo = "01791234";

# Text der SMS, maximal 160 Zeichen
# beim Typ V6 bis zu 1560 Zeichen, wobei der Aufruf beim Typ 6 per HTTP Post erfolgen muss
$SMSText = urlencode("Das ist eine Test SMS");

# SMS ohne eigenem Absender versenden, andere Werte V2, V3, V4, V5
$SMSType = "V1";

# Aufruf für den Versand der SMS
# Rückgabe ein Array mit dem Versandstatus
$result = file("http://www.smsout.de/client/sendsms.php?Username=$Username&Password=$Password&SMSTo=$SMSTo&SMSType=$SMSType&SMSText=$SMSText");

if(is_array($result)) # falls es kein array ist, dann einfach so ausgeben
print join("<br>", $result);
else
print $result;

?>

 

Guthaben und aktuelles SMS-Paket abfragen

Mit dem Aufruf

http://www.smsout.de/client/sendsms.php?Username=<smsout-username>&Password=<smsout-password>&GetAccountData=1

oder der Aufruf über https://

https://www.smsout.de/client/sendsms.php?Username=<smsout-username>&Password=<smsout-password>&GetAccountData=1

kann das Guthaben und das aktuelle SMS-Paket abgefragt werden.

Als Rückgabewert bei korrekter Angabe von Benutzername/Passwort erhalten Sie diese Daten:

Return: OK
ErrorCode: 0
CustomerId: Kundennummer
AvailMoney: Verfügbares Guthaben mit MwSt.
AvailMoneyWithOutVAT: Verfügbares Guthaben ohne MwSt.
SMSPackageName: Aktuelles SMS-Paket
SessionId:

 

 

Siehe auch

Mail2SMS-Schnittstelle

Integration der SMS-Newsletter-An-/Abmeldung in Joomla

 

<< Zurück zu SMSout.de