inchorus SMS Plugin Dokumentation

Author: Thomas Gertler
Publication Date: September 2021

1 Einführung

Das SMS-Plugin bietet Ihnen die wesentlichsten Funktionen zum Versenden von SMS Nachrichten aus Ihren inchorus Gadgets über einen SMS-Server.

Folgende Funktionalitäten stehen zur Verfügung:

  • Versenden von SMS Nachrichten an beliebige Telefonnummern

  • Transformieren von XML Daten zu einem SMS Text über XSL Templates

  • Versenden von SMS Nachrichten in unterschiedlichen Sprachen und Zeichensätzen

  • Anpassung an verschiedene APIs

Die SMS Nachrichten werden mit dem SMS Plugin über die HTTP Schnittstelle des Providers mit der GET Methode an den Server übergeben, der die Nachrichten sendet.

2 Wie wird das Plugin verwendet?

Plugin einbinden

Öffnen Sie die Datei pom.xml Ihres inchorus Gadget Projektes und ergänzen Sie folgende Zeilen im Abschnitt "dependencies":

<dependency>
	<groupId>de.guh.plugin</groupId>
	<artifactId>inchorus-sms-plugin</artifactId>
	<version>2.x.x</version>
</dependency>

Passen Sie die Versionsnummer auf die aktuelle Version des Plugins an und die benötigten Abhängigkeiten werden automatisch aus dem Maven Repository heruntergeladen.

Initialisieren der SMS-Engine

SMSEngine smsengine = new SMSEngine(
	smsURL,
	smsStylepath,
	smsUser,
	smsPassword,
	sender
);

Folgende Parameter werden mindestens benötigt:

  • smsURL – Spezifiziert die IP-Adresse oder den DNS Namen inklusive dem Pfad zu dem Skript auf dem Server, dass die Anfrage um Senden einer SMS entgegen nimmt.

  • smsStylepath – An dieser Stelle wird der Verzeichnis-Pfad für die SMS Styles (XSL Templates) benötigt. Es muss der komplette Pfad angegeben werden. Dieser ist davon abhängig, wo Ihr Projekt liegt und sollte ebenfalls mit einem / enden.

  • smsUser - Hier muss der Benutzername für den SMS Server angegeben werden.

  • smsPassword - Dieser Parameter gibt das Passwort für den Nutzer am SMS Server an.

Der parameter sender ist optional, er bestimmt den Namen oder die Telefonnummer, die als Sender beim Empfänger angezeigt werden soll. Zu beachten ist hier die Beschränkung an die Wahl des Namens, beim Provider ClickSend ist der Name auf 11 alphanumerische Zeichen, ohne die Möglichkeit für Leerzeichen beschränkt. Wird kein Sender angegeben, wird die Nummer des Providers beim Empfänger angezeigt.

Definieren einer SMS

Eine mittels XSL formatierte SMS wird über die Klasse SMSMessage definiert, dabei werden der Name der Transformationsdatei, die Daten als XML, die Sprache als Ländercode und die Telefonnummer des Empfängers festgelegt:

XML xmlData = new XML("data");

SMSMessage simpleMessage = new SMSMessage(
	"simplesms.xsl",
	"de",
	"0123 456 78 90",
	xmlData
);

Die XSL Datei mit dem angegebenen Namen muss im Ordner zu finden sein, der bei der Initialisierung der SMS-Engine als smsStylepath festgelegt wurde. Die in xmlData gespeicherten Daten können in dieser XSL Datei transformiert und über die SMS-Engine versendet werden.

Versenden der SMS

Die Nachricht kann über den in der SMS-Engine definierten Server wie folgt versendet werden:

Boolean success = smsengine.sendMessage(simpleMessage);

Alternativ kann eine SMS als einfacher String definiert werden und zusammen mit der benötigten Codierung über die SMS-Engine versendet werden:

String text = "Dies ist der Inhalt der SMS";
Boolean success = smsengine.sendSMS(
	"0123 456 78 90",
	text,
	"UTF-8"
);

Anpassen an die Server API

Das SMS Plugin ist an die API des Providers ClickSend angepasst. Das Plugin erzeugt eine URL, an das der HTTP Request gesendet wird, die dazu verwendeten Parameter und ihre Bezeichnung hängen oft von der API des Providers ab. Im SMS Plugin sind in der Klasse SMSEngine für diese Parameter generische Namen hinterlegt: USERNAME, PASSWORD, MESSAGE, TO und FROM, die auf die entsprechenden Bezeichnungen abgebildet werden, die in der ClickSend API definiert sind. Beispielsweise verwendet ClickSend statt einem Passwort einen API Key, der den Parameternamen key besitzt und daher für PASSWORT verwendet wird. Um z.B. den Namen von PASSWORT auf einen für Ihre API passenden Wert zu setzen, kann die Methode changeParameterNameMapping(genericName, newName) verwendet werden. genericName ist dabei eine der generischen Konstanten und newName der Name den dieser Parameter für ihre API annehmen soll. Die initiale Belegung lautet wie folgt:

  • USERNAME = "username"

  • PASSWORD = "key"

  • MESSAGE = "message"

  • TO = "to"

  • FROM = "senderid"

Darüber hinaus können auch noch weitere Parameter hinzugefügt werden, dafür wird die Methode addParameter(name, value) verwendet. Bestehende Parameter können überschrieben werden, indem der selbe Name verwendet wird und Parameter werden gelöscht, indem ihr Wert auf null gesetzt wird.

3 Weitere Informationen

Nähere Informationen zu den Klassen und Methoden finden sie in der API Dokumentation.

Beispiele finden Sie im Ordner Beispiele.

Bei Fragen und Anregungen nutzen Sie unser inchorus Forum.

Dieses Dokument erhalten sie hier auch als PDF.

4 Ihr Kontakt

G+H Systems GmbH

Professionell, effizient und zuverlässig.

Ludwigstraße 8

63067 Offenbach am Main

Deutschland

Telefon: +49 (0) 69 85 00 02 - 0

Fax: +49 (0) 69 85 00 02 - 51

Email: info@guh-systems.de

Web: www.guh-systems.de

5 Rechtliche Hinweise

Die G+H Systems leistet keinerlei Gewähr bezüglich des Inhaltes oder Gebrauchs dieser Dokumentation. Insbesondere werden keine ausdrücklichen oder stillschweigenden Gewährleistungen hinsichtlich der handelsüblichen Qualität oder Eignung für einen bestimmten Zweck übernommen. Die G+H Systems behält sich weiterhin das Recht vor, diese Dokumentation zu revidieren und ihren Inhalt jederzeit und ohne vorherige Ankündigung zu ändern.

Des Weiteren übernimmt die G+H Systems für Software keinerlei Haftung und schließt insbesondere jegliche ausdrücklichen oder impliziten Gewährleistungsansprüche bezüglich der Marktfähigkeit oder der Eignung für einen bestimmten Zweck aus. Außerdem behält sich die G+H Systems das Recht vor, G+H Software ganz oder teilweise jederzeit inhaltlich zu ändern, ohne dass für die G+H Systems die Verpflichtung entsteht, Personen oder Organisationen von diesen Überarbeitungen oder Änderungen in Kenntnis zu setzen.

Copyright © inchorus ist ein Produkt der G+H Systems GmbH

Ohne ausdrückliche, schriftliche Genehmigung des Herausgebers darf kein Teil dieser Veröffentlichung reproduziert, fotokopiert, übertragen oder in einem Speichersystem verarbeitet werden.

Print this page