
Questo servizio offre l'invio di messaggi SMS verso le reti tedesche a partire da 1,6 centesimi di euro per messaggio; i messaggi SMS possono essere inviati in tutto il mondo a partire da 4,9 centesimi di euro per messaggio, più 19% di IVA in ogni caso. Dopo la registrazione, sono disponibili 30 messaggi SMS gratuiti, che possono essere inviati a scopo di prova. Questo provider non prevede un canone mensile di base. Di seguito potete scoprire come inviare automaticamente messaggi SMS direttamente dal vostro database FileMaker.
Registrazione con smstrade
Per poter inviare messaggi SMS tramite il gateway SMS, è necessario prima registrarsi con smstrade. La registrazione è gratuita e comprende l'invio di un massimo di 30 messaggi SMS gratuiti.
Dati anagrafici per il gateway SMS
Innanzitutto, nel database FileMaker sono necessari tre campi che contengono i dati di accesso e i dati anagrafici per il gateway SMS. Questi campi sono validi a livello globale per l'intera soluzione FileMaker. In alternativa, al posto dei campi è possibile utilizzare le variabili globali, che vengono create in un file di tipo Scrittura deve essere inizializzato. Per l'invio di messaggi SMS sono necessari i seguenti campi per i dati anagrafici:
- Mittente - Identificazione del mittente dell'SMS, ad esempio "0049123456789" o "+49123456789".
- Chiave di accesso - Chiave Gateway, che riceverete dopo la registrazione su smstrade.de.
- Percorso - smstrade offre tre opzioni tariffarie:
- di base per l'invio di messaggi SMS in Germania
- oro per la spedizione in tutto il mondo con qualsiasi identificazione del mittente
- diretto per la spedizione in tutto il mondo direttamente tramite l'operatore di rete
Creare tre campi o variabili globali nel database a cui si possa accedere in tutta la soluzione. Dopo la registrazione a smstrade, inserite i dati anagrafici nei campi corrispondenti. Per l'invio di messaggi SMS in Germania, si consiglia l'opzione tariffaria "base".
Lo script per l'invio di SMS
Nella fase successiva, programmeremo uno script con il quale sarà possibile inviare qualsiasi messaggio SMS a qualsiasi destinatario dell'intero database. Lo script può essere richiamato con i seguenti cinque parametri:
- Ricevitore - Numero di telefono del destinatario, ad esempio "0049123456789" o "+49123456789".
- Testo - Testo del messaggio SMS (fino a 1.530 caratteri come SMS collegato)
- Mittente - L'ID del mittente viene solitamente generato dal campo dei dati anagrafici.
- Chiave di accesso - La chiave gateway, di solito, è generata dal campo dei dati anagrafici.
- Percorso - Il percorso (tariffa), di solito, viene generato dal campo dei dati anagrafici.
Se si creano i campi "Mittente", "Chiave gateway" e "Percorso" dai campi dei dati anagrafici, lo script deve prima verificare se anche questi campi sono stati mantenuti. Per questo motivo, il nostro script contiene una query corrispondente all'inizio. Di seguito troverete l'intero script per l'invio di messaggi SMS con il supporto del plugin MBS FileMaker.
Passare i parametri dello script
Quando questo script viene richiamato, vengono passati cinque parametri di script in una stringa i cui valori sono separati da un apostrofo (|). Per separare la stringa, si usa un Funzione propria chiamato "StringTrennen". Per poter utilizzare lo script come mostrato, creare prima il seguente file Funzione personalizzata (funzione separata) in FileMaker Pro Advanced:
StringaDisconnessione (stringa; numero)
Se(numero = 1;
CharacterLinks ( String; (Posizione ( String; "|"; 1; 1))-1);
Centro caratteri ( String;
(Posizione (Stringa; "|"; 1; Numero-1))+1;
(Posizione (Stringa; "|"; 1; Numero)) - ((Posizione (Stringa; "|"; 1; Numero-1))+1)
)
)
Script per l'invio di SMS
Se avete inserito la funzione personalizzata di cui sopra o avete un'altra funzione personalizzata in grado di estrarre stringhe separate da un carattere, create un nuovo script nell'editor di script e nominatelo come pedice secondo il vostro schema di denominazione personale (ad esempio, 'ts.SMS_Versand').
Se [NOT IstLeer(Sender) AND NOT IstLeer(Key) AND NOT IstLeer(Route)]
Parametri #Script: Tel | Testo | Da | Chiave | Percorso
Impostare la variabile [$tel_nr; Value:StringTrennen(Get(ScriptParameter); 1)].
Impostare la variabile [$text; Value:StringDisconnect(Get(ScriptParameter); 2)].
Impostare la variabile [$from; Value:StringDisconnect(Get(ScriptParameter); 3)].
Impostare la variabile [$key; Value:StringDisconnect(Get(ScriptParameter); 4)].
Impostare la variabile [$route; Value:StringTrenn(Get(ScriptParameter); 5)].
#
# Trasferimento iniziale
Impostare la variabile [$r; Valore:MBS("Trace")].
Impostare la variabile [$to; value:MBS("String.EncodeURLComponent"; $tel_nr; "utf8")].
Impostare la variabile [$from; value:MBS("String.EncodeURLComponent"; $from; "utf8")].
Impostare la variabile [$body; Value:Exchange(MBS("String.EncodeURLComponent"; $text; "utf8"); ""; "+")].
Impostare la variabile [$curl; Valore:MBS("CURL.New")].
Impostare la variabile [$result; value:MBS("CURL.SetOptionpost"; $curl; 1)].
Impostare la variabile [$result; Value:MBS("CURL.SetOptionVerbose"; $curl; 1)].
Impostare la variabile [$result; Value:MBS("CURL.SetOptionURL"; $curl; "https://gateway.smstrade.de")].
#
# Impostare i dettagli di input XML e SMS
Impostare la variabile [$content; valore: "key=" & $key & "&" & "to=" & $to & "&" & "message=" & $body & "&" & "&" & "route=" & $route & "&" & "from=" & $from & "&" & "charset=ut-8"].
"route=" & $route & "&" & "from=" & $from & "&" & "charset=utf-8"]
Impostare la variabile [$content; Value:MBS( "String.ReplaceNewline"; $content; 2 )].
Impostare la variabile [$result; Value:MBS("CURL.SetOptionPostFields"; $curl; $content)].
#
# Avviare il trasferimento
Impostare la variabile [$result; Value:MBS("CURL.Perform"; $curl)].
#
# Risultato del controllo
Impostare la variabile [$$debugText; Value:MBS("String.ReplaceNewline"; MBS("CURL.GetDebugAsText"; $curl);1)].
Impostare la variabile [$$resultText; Value:MBS("String.ReplaceNewline"; MBS("CURL.GetResultAsText"; $curl);1)].
Impostare la variabile [$r; valore:MBS("CURL.Cleanup"; $curl)].
Altrimenti
Visualizzare la propria finestra di dialogo ["Gateway SMS non impostato"; "Non sono stati inseriti dati anagrafici!"; "OK"].
Fine (se)
Nella prima parte dello script, la stringa di parametri dello script passato viene prima estratta in singole variabili. Nella seconda parte, il motore CURL dell'MBS Plugin FileMaker è inizializzato. La terza parte compone la stringa che porta all'indirizzo Server del gateway SMS viene inviato. L'invio avviene nel pedice "Avvia trasferimento". Nell'ultima parte, lo stato dell'invio viene scritto nelle variabili globali $$result e $$debug e può essere letto qui dopo l'invio.
Scarica il database demo
Per evitare di dover digitare l'intero codice sorgente in stile C=64, vi forniamo la soluzione descritta in questo articolo come un File di esempio disponibile per il download. Il file di esempio si trova nella cartella formato fmp12 e utilizza FileMaker 12, 13 o 14 con installato Plugin MBS FileMaker in anticipo. Se non avete una licenza per FileMaker Pro Advanced, ma solo per il normale FileMaker Pro, potete utilizzare questo file di esempio, che contiene già la funzione personalizzata necessaria per separare la stringa di trasferimento.

Markus Schall sviluppa database personalizzati, interfacce e applicazioni aziendali basate su Claris FileMaker dal 1994. È un partner di Claris, vincitore del premio FMM 2011 e sviluppatore del programma Software ERP gFM-Business. È anche autore di libri e fondatore dell'associazione M. Schall Editore.


Sembra meraviglioso. Esiste anche un modo per RICEVERE SMS tramite FileMaker?
Grazie mille,
Mattia
Esiste una soluzione "fmsms" all'indirizzo https://www.fmsms.comche può essere utilizzato anche per ricevere messaggi SMS.