Warenkorb
0
Wagen 0
Telefonische Beratung +49 (0) 441-30 43 76 40
In diesem Fachartikel erläutern wir, wie Sie SMS-Nachrichten unter Verwendung des MBS Plugins direkt aus Ihrer FileMaker-Datenbank heraus versenden können. Dabei erstellen wir ein Teilscript, das durch einen Aufruf mit fünf Parametern beliebige SMS-Nachrichten an beliebige Empfänger senden kann. Als Gateway für den Versand von SMS-Nachrichten verwenden wir in diesem Beispiel den deutschen Anbieter smstrade.
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.
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.
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:
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‘.
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:
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.
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)
)
)
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.
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.
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…
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…
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…
Hinzufügen von {{itemName}} zum Warenkorb
Hinzugefügt {{EinkaufsName}} zum Warenkorb
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.