
Dieser Dienst bietet den Versand von SMS-Nachrichten in deutsche Netze ab 1,6 Cent pro Nachricht, weltweit können SMS-Nachrichten zu Preisen ab 4,9 Cent pro Nachricht versendet werden, jeweils zzgl. 19% Mehrwertsteuer. Nach der Registrierung stehen für den Start 30 kostenlose SMS-Nachrichten zur Verfügung, die zu Testzwecken versendet werden können. Eine monatliche Grundgebühr fällt bei diesem Anbieter nicht an. Im folgenden erfahren Sie, wie Sie SMS-Nachrichten automatisiert direkt aus Ihrer FileMaker-Datenbank heraus versenden können.
Anmeldung bei smstrade
Um SMS-Nachrichten über das SMS-Gateway versenden zu können, registrieren Sie sich zunächst bei smstrade. Die Registrierung ist kostenlos und beinhaltet zum Start den Versand von bis zu 30 kostenlosen SMS-Nachrichten.
Stammdaten für das SMS-Gateway
Zunächst werden in Ihrer FileMaker-Datenbank drei Felder benötigt, die die Zugangs- und Stammdaten für das SMS-Gateway enthalten sollen. Diese Felder gelten global für die Nutzung in Ihrer gesamten FileMaker-Lösung. Alternativ können Sie statt Feldern auch globale Variablen nutzen, die beim Start Ihrer Lösung in einem Script initialisiert werden. Für den Versand von SMS-Nachrichten werden folgende Felder für die Stammdaten benötigt:
- Absender – Absenderkennung der SMS, z.B. ‚0049123456789‘ oder ‚+49123456789‘
- Gateway Key – Gateway-Schlüssel, den Sie nach der Registrierung bei smstrade.de erhalten.
- Route – smstrade bietet drei Tarifoptionen an:
- basic für den Versand von SMS-Nachrichten innerhalb Deutschlands
- gold für den weltweiten Versand mit beliebiger Absenderkennung
- direct für den weltweiten Versand direkt über den Netzbetreiber
Erstellen Sie in Ihrer Datenbank drei Felder oder globale Variablen, auf die Sie in ihrer gesamten Lösung Zugriff haben. Nach der Registrierung bei smstrade tragen Sie die Stammdaten in die entsprechenden Felder ein. Für den Versand von SMS-Nachrichten innerhalb Deutschlands empfehlen wir die Tarifoption ‚basic‘.
Das Script für den SMS-Versand
Im nächsten Schritt programmieren wir ein Script, mit dem Sie beliebige SMS-Nachrichten an beliebige Empfänger aus der gesamten Datenbank heraus versenden können. Das Script kann später mit folgenden fünf Script-Parametern aufgerufen werden:
- Empfänger – Telefonnummer des Empfängers, z.B. ‚0049123456789‘ oder ‚+49123456789‘
- Text – Text der SMS-Nachricht (bis zu 1.530 Zeichen als verknüpfte SMS)
- Absender – Absenderkennung, wird i.d.R. aus Stammdatenfeld erzeugt.
- Gateway Key – Gateway-Schlüssel, wird i.d.R. aus Stammdatenfeld erzeugt.
- Route – Route (Tarif), wird i.d.R. aus Stammdatenfeld erzeugt.
Wenn Sie Felder ‚Absender‘, ‚Gateway Key‘ und ‚Route‘ aus Stammdatenfeldern erzeugen, sollte das Script zunächst prüfen, ob diese Felder auch gepflegt wurden. Aus diesem Grund enthält unser Script am Anfang eine entsprechende Abfrage. Im folgenden finden Sie das gesamte Script zum Versenden von SMS-Nachrichten mit Unterstützung des MBS FileMaker Plugins.
Script-Parameter übergeben
Beim Aufruf dieses Scripts werden fünf Script-Parameter in einem String übergeben, dessen Werte mit Hochstrich (|) getrennt werden. Für die Trennung des Strings nutzen wir eine eigene Funktion namens „StringTrennen“. Um das Script wie gezeigt verwenden zu können, legen Sie zunächst folgende Custom Function (eigene Funktion) in FileMaker Pro Advanced an:
StringTrennen (String; Nummer)
Falls(Nummer = 1;
ZeichenLinks ( String; (Position ( String; "|"; 1; 1))-1);
ZeichenMitte ( String;
(Position ( String; "|"; 1; Nummer-1))+1;
(Position ( String; "|"; 1; Nummer)) - ((Position ( String; "|"; 1; Nummer-1))+1)
)
)
Script für den SMS-Versand
Haben Sie die oben genannte Custom Function eingefügt oder verfügen über eine andere eigene Funktion, die durch ein Zeichen getrennte Strings extrahieren kann, legen Sie im Scripteditor ein neues Script an und benennen Sie es als Teilscript nach Ihrem persönlichen Namensschema (z.B. ‚ts.SMS_Versand‘).
Wenn [NICHT IstLeer(Absender) UND NICHT IstLeer(Key) UND NICHT IstLeer(Route)]
#Script-Parameter: Tel | Text | From | Key | Route
Variable setzen [$tel_nr; Wert:StringTrennen(Hole(ScriptParameter); 1)]
Variable setzen [$text; Wert:StringTrennen(Hole(ScriptParameter); 2)]
Variable setzen [$from; Wert:StringTrennen(Hole(ScriptParameter); 3)]
Variable setzen [$key; Wert:StringTrennen(Hole(ScriptParameter); 4)]
Variable setzen [$route; Wert:StringTrennen(Hole(ScriptParameter); 5)]
#
# Transfer initialisieren
Variable setzen [$r; Wert:MBS("Trace")]
Variable setzen [$to; Wert:MBS("String.EncodeURLComponent"; $tel_nr; "utf8")]
Variable setzen [$from; Wert:MBS("String.EncodeURLComponent"; $from; "utf8")]
Variable setzen [$body; Wert:Austauschen(MBS("String.EncodeURLComponent"; $text; "utf8"); "%20"; "+")]
Variable setzen [$curl; Wert:MBS("CURL.New")]
Variable setzen [$result; Wert:MBS("CURL.SetOptionpost"; $curl; 1)]
Variable setzen [$result; Wert:MBS("CURL.SetOptionVerbose"; $curl; 1)]
Variable setzen [$result; Wert:MBS("CURL.SetOptionURL"; $curl; "https://gateway.smstrade.de")]
#
# Input XML und SMS-Details setzen
Variable setzen [$content; Wert:"key=" & $key & "&" & "to=" & $to & "&" & "message=" & $body & "&" &
"route=" & $route & "&" & "from=" & $from & "&" & "charset=utf-8"]
Variable setzen [$content; Wert:MBS( "String.ReplaceNewline"; $content; 2 )]
Variable setzen [$result; Wert:MBS("CURL.SetOptionPostFields"; $curl; $content)]
#
# Transfer starten
Variable setzen [$result; Wert:MBS("CURL.Perform"; $curl)]
#
# Ergebnis prüfen
Variable setzen [$$debugText; Wert:MBS("String.ReplaceNewline"; MBS("CURL.GetDebugAsText"; $curl);1)]
Variable setzen [$$resultText; Wert:MBS("String.ReplaceNewline"; MBS("CURL.GetResultAsText"; $curl);1)]
Variable setzen [$r; Wert:MBS("CURL.Cleanup"; $curl)]
Sonst
Eigenes Dialogfeld anzeigen ["SMS-Gateway nicht eingerichtet"; "Keine Stammdaten eingetragen!"; "OK"]
Ende (wenn)
Im ersten Teil des Scriptes wird zunächst der übergebene Script-Parameter-String in einzelne Variablen extrahiert. Im zweiten Teil wird die CURL-Engine des MBS FileMaker Plugin initialisiert. Der dritte Teil setzt den String zusammen, der zum Server des SMS-Gateways gesendet wird. Der Versand findet im Teilscript „Transfer starten“ statt. Im letzten Teil wird der Versandstatus in die globalen Variablen $$result und $$debug geschrieben und kann hier nach dem Versand ausgelesen werden.
Download Demo-Datenbank
Damit Sie nicht in C=64-Manier den gesamten Quellcode abtippen müssen, stellen wir Ihnen die in diesem Artikel beschriebene Lösung als Beispieldatei zum Download zur Verfügung. Die Beispieldatei ist im fmp12-Format und setzt FileMaker 12, 13 oder 14 mit installiertem MBS FileMaker Plugin voraus. Wer nicht über eine Lizenz von FileMaker Pro Advanced, sondern nur über den normalen FileMaker Pro verfügt, kann diese Beispieldatei nutzen, die die benötigte Custom Function zum Trennen des Übergabestrings bereits enthält.

Markus Schall entwickelt seit 1994 individuelle Datenbanken, Schnittstellen und Geschäftsanwendungen auf Basis von Claris FileMaker. Er ist Claris-Partner, FMM-Award-Gewinner 2011 und Entwickler der ERP-Software gFM-Business. Zudem ist er Buchautor und Gründer des M. Schall Verlags.
Verwandte Beiträge
-
MBS FileMaker Plugin 5.0 mit mehr als 3.000 Funktionen.
Monkeybread Software hat das beliebte MBS FileMaker Plugin in Version 5.0 veröffentlicht, das nun über mehr als 3.000 Funktionen verfügt. Mit der neuen HotKey-Funktion kann der Nutzer Tastenkombinationen festlegen, die Scripte in FileMaker starten, auch wenn sich die FileMaker-Lösung im Hintergrund befindet. Die MountNotification Funktion erlaubt die Ausführung von Scripten beim...
-
MBS FileMaker Plugin 6.3 mit über 4.000 Funktionen.
Monkeybread Software hat die neue Version 6.3 des MBS FileMaker Plugin veröffentlicht, das inzwischen über mehr als 4.000 Funktionen verfügt. In der neuen Version stehen ab sofort SSH-Funktionen zur Verfügung, mit denen sichere Verbindungen zu entfernten Servern über das Secure Shell Protokoll möglich sind. Die Authentifizierung am jeweiligen Server erfolgt dabei...
-
MBS FileMaker-Plugin mit mehr als 2.500 Funktionen.
MonkeyBread Software veröffentlicht heute das FileMaker MBS Plugin 4.2, das mit inzwischen mehr als 2.500 Funktionen eines der größten FileMaker-Plugins darstellt. Die neue Version stellt unter anderem eine neue Schaltfläche im Script-Editor zur Verfügung, mit der Scripte mit Formatierungen in die Zwischenablage kopiert und in anderen Anwendungen weiter verwendet werden...



Klingt wunderbar. Gibt es auch eine Nglichkeit SMS zu EMPFANGEN per FileMaker?
Lieben Dank,
Matthias
Es gibt eine Lösung „fmsms“ unter https://www.fmsms.com, mit der auch SMS-Nachrichten empfangen werden können.