
Ce service permet d'envoyer des messages SMS sur les réseaux allemands à partir de 1,6 centimes d'euro par message, et des messages SMS peuvent être envoyés dans le monde entier à partir de 4,9 centimes d'euro par message, TVA de 19% en sus. Après l'inscription, 30 messages SMS gratuits sont disponibles pour le démarrage et peuvent être envoyés à des fins de test. Il n'y a pas de frais mensuels chez ce fournisseur. Vous trouverez ci-dessous des informations sur l'envoi automatisé de messages SMS directement à partir de votre base de données FileMaker.
Inscription auprès de smstrade
Pour pouvoir envoyer des messages SMS via la passerelle SMS, vous devez d'abord vous inscrire auprès de smstrade. L'inscription est gratuite et comprend au départ l'envoi de jusqu'à 30 messages SMS gratuits.
Données de base pour la passerelle SMS
Tout d'abord, trois rubriques sont nécessaires dans votre base de données FileMaker, qui doivent contenir les données d'accès et les données de base pour la passerelle SMS. Ces rubriques s'appliquent globalement à l'utilisation dans l'ensemble de votre solution FileMaker. Vous pouvez également utiliser des variables globales à la place des rubriques, qui seront créées au démarrage de votre solution dans un fichier de configuration. Script doivent être initialisés. Pour l'envoi de messages SMS, les champs suivants sont nécessaires pour les données de base :
- Expéditeur - Identification de l'expéditeur du SMS, par exemple '0049123456789' ou '+49123456789'.
- Clé de passerelle - Clé de passerelle que vous recevez après l'enregistrement sur smstrade.fr.
- Route - smstrade propose trois options tarifaires :
- basic pour l'envoi de messages SMS en Allemagne
- or pour l'envoi dans le monde entier avec n'importe quel identifiant d'expéditeur
- direct pour l'envoi dans le monde entier directement via l'opérateur de réseau
Créez dans votre base de données trois champs ou variables globales auxquels vous aurez accès dans l'ensemble de votre solution. Après l'enregistrement chez smstrade, saisissez les données de base dans les champs correspondants. Pour l'envoi de messages SMS en Allemagne, nous vous recommandons l'option tarifaire 'basic'.
Le script pour l'envoi de SMS
Dans l'étape suivante, nous programmons un script permettant d'envoyer n'importe quel message SMS à n'importe quel destinataire à partir de l'ensemble de la base de données. Le script peut être appelé ultérieurement avec les cinq paramètres de script suivants :
- Récepteur - Numéro de téléphone du destinataire, par exemple '0049123456789' ou '+49123456789'.
- Texte - Texte du message SMS (jusqu'à 1.530 caractères en tant que SMS lié)
- Expéditeur - Identification de l'expéditeur, généralement générée à partir du champ des données de base.
- Clé de passerelle - Clé de passerelle, généralement générée à partir du champ des données de base.
- Route - Itinéraire (tarif), est généralement généré à partir du champ des données de base.
Si vous créez des champs 'Expéditeur', 'Gateway Key' et 'Route' à partir de champs de données de base, le script doit d'abord vérifier si ces champs ont également été gérés. C'est pourquoi notre script contient une requête correspondante au début. Vous trouverez ci-dessous le script complet pour l'envoi de messages SMS avec le soutien du plug-in MBS FileMaker.
Transmettre des paramètres de script
Lors de l'appel de ce script, cinq paramètres de script sont transmis dans une chaîne dont les valeurs sont séparées par un tiret (|). Pour la séparation de la chaîne, nous utilisons une fonction propre appelé "StringTrenn". Pour pouvoir utiliser le script comme indiqué, créez tout d'abord les éléments suivants Fonction personnalisée (fonction personnalisée) dans FileMaker Pro Advanced :
Séparer la chaîne (chaîne ; numéro)
Si(Numéro = 1 ;
CaractèreLiens ( Chaîne ; (Position ( Chaîne ; "|" ; 1 ; 1))-1) ;
CentreCaractère ( Chaîne ;
(Position ( Chaîne ; "|" ; 1 ; Numéro-1))+1 ;
(Position ( Chaîne ; "|" ; 1 ; Numéro)) - ((Position ( Chaîne ; "|" ; 1 ; Numéro-1))+1)
)
)
Script pour l'envoi de SMS
Si vous avez inséré la fonction personnalisée susmentionnée ou si vous disposez d'une autre fonction personnelle capable d'extraire des chaînes séparées par un caractère, créez un nouveau script dans l'éditeur de scripts et nommez-le en tant que sous-script selon votre schéma de dénomination personnel (par exemple 'ts.SMS_Versand').
Si [NON VIDE(Expéditeur) ET NON VIDE(Clé) ET NON VIDE(Route)].
#SParamètres de script : Tel | Text | From | Key | Route
Définition de la variable [$tel_nr ; Valeur:SéparerChaîne(Obtenir(ParamètreScript) ; 1)].
Définir la variable [$text ; Valeur:SéparerChaîne(Obtenir(ParamètreScript) ; 2)].
Définir la variable [$from ; Valeur:SéparerChaîne(Obtenir(ParamètreScript) ; 3)].
Définir la variable [$key ; Valeur:SéparerChaîne(Obtenir(ParamètreScript) ; 4)].
Définir la variable [$route ; Valeur:SéparerChaîne(Obtenir(ParamètreScript) ; 5)].
#
# Initialiser le transfert
Définir la variable [$r ; Valeur:MBS("Trace")]
Définir la variable [$to ; Valeur:MBS("String.EncodeURLComponent" ; $tel_nr ; "utf8")]
Définir la variable [$from ; Valeur:MBS("String.EncodeURLComponent" ; $from ; "utf8")]
Définir la variable [$body ; Valeur:Remplacer(MBS("String.EncodeURLComponent" ; $text ; "utf8") ; "" ; "+")]
Définir la variable [$curl ; Valeur:MBS("CURL.New")]
Définir la variable [$result ; Valeur:MBS("CURL.SetOptionpost" ; $curl ; 1)]
Définir la variable [$result ; Valeur:MBS("CURL.SetOptionVerbose" ; $curl ; 1)]
Définir la variable [$result ; Valeur:MBS("CURL.SetOptionURL" ; $curl ; "https://gateway.smstrade.de")]
#
# Définir l'entrée XML et les détails SMS
Définir la variable [$content ; valeur : "key=" & $key & "&" & "to=" & $to & "&" & "message=" & $body & "&" &
"route=" & $route & "&" & "from=" & $from & "&" & "charset=utf-8"]
Définir la variable [$content ; Valeur:MBS( "String.ReplaceNewline" ; $content ; 2 )]
Définir variable [$result ; Valeur:MBS("CURL.SetOptionPostFields" ; $curl ; $content)]
#
# Démarrer le transfert
Définir la variable [$result ; Valeur:MBS("CURL.Perform" ; $curl)]
#
# Vérifier le résultat
Définir la variable [$$debugText ; Valeur:MBS("String.ReplaceNewline" ; MBS("CURL.GetDebugAsText" ; $curl);1)]
Définir la variable [$$resultText ; Valeur:MBS("String.ReplaceNewline" ; MBS("CURL.GetResultAsText" ; $curl);1)]
Définir la variable [$r ; Valeur:MBS("CURL.Cleanup" ; $curl)]
Sinon
Afficher sa propre boîte de dialogue ["Passerelle SMS non configurée" ; "Aucune donnée de base saisie !"; "OK"].
Fin (si)
Dans la première partie du script, la chaîne de paramètres de script transmise est d'abord extraite en variables individuelles. Dans la deuxième partie, le moteur CURL de MBS Plugin FileMaker est initialisée dans la première partie. La troisième partie compose la chaîne qui devient Serveur de la passerelle SMS. L'envoi a lieu dans le sous-script "Démarrer le transfert". Dans la dernière partie, le statut d'envoi est écrit dans les variables globales $$result et $$debug et peut être lu ici après l'envoi.
Télécharger la base de données de démonstration
Pour vous éviter de devoir taper tout le code source à la manière du C=64, nous vous présentons la solution décrite dans cet article sous forme de Fichier d'exemple est disponible au téléchargement. Le fichier d'exemple est disponible dans le format fmp12 et met en place FileMaker 12, 13 ou 14 avec l'application installée Plugin MBS FileMaker à l'avance. Ceux qui ne disposent pas d'une licence de FileMaker Pro Advanced, mais seulement de FileMaker Pro normal, peuvent utiliser ce fichier d'exemple qui contient déjà la fonction personnalisée nécessaire pour séparer la chaîne de transfert.

Markus Schall développe depuis 1994 des bases de données individuelles, des interfaces et des applications commerciales sur la base de Claris FileMaker. Il est partenaire de Claris, lauréat du FMM-Award 2011 et développeur de la Logiciel ERP gFM-Business. Il est en outre auteur de livres et fondateur du M. Schall Verlags.


Cela semble merveilleux. Est-il également possible de RECEVOIR des SMS via FileMaker ?
Merci beaucoup,
Matthias
Il existe une solution "fmsms" sous https://www.fmsms.comLa fonction de réception des messages permet également de recevoir des messages SMS.