
Este servicio ofrece el envío de mensajes SMS a redes alemanas a partir de 1,6 céntimos por mensaje; se pueden enviar mensajes SMS a todo el mundo a precios a partir de 4,9 céntimos por mensaje, más 19% de IVA en cada caso. Tras el registro, se dispone de 30 SMS gratuitos para empezar, que pueden enviarse a modo de prueba. Con este proveedor no hay cuota básica mensual. A continuación aprenderá cómo puede enviar mensajes SMS automáticamente directamente desde su base de datos FileMaker.
Inscripción en smstrade
Para poder enviar mensajes SMS a través de la pasarela SMS, primero debe registrarse en smstrade. El registro es gratuito e incluye el envío de hasta 30 mensajes SMS gratis para empezar.
Datos maestros de la pasarela SMS
En primer lugar, se necesitan tres campos en su base de datos FileMaker para contener los datos de acceso y los datos maestros de la pasarela SMS. Estos campos se aplican globalmente para su uso en toda la solución FileMaker. Como alternativa, también puede utilizar variables globales en lugar de campos, que se crean en un Guión debe estar inicializado. Los siguientes campos son necesarios para los datos maestros con el fin de enviar mensajes SMS:
- Remitente - Identificación del remitente del SMS, por ejemplo "0049123456789" o "+49123456789".
- Llave de acceso - Clave de la pasarela, que recibirá tras registrarse en smstrade.de.
- Ruta - smstrade ofrece tres opciones de tarifas:
- básico para enviar mensajes SMS dentro de Alemania
- oro para envíos a todo el mundo con cualquier identificación de remitente
- directo para envíos a todo el mundo directamente a través del operador de red
Cree tres campos o variables globales en su base de datos a los que pueda acceder en toda su solución. Después de registrarse en smstrade, introduzca los datos maestros en los campos correspondientes. Para enviar mensajes SMS dentro de Alemania, recomendamos la opción de tarifa "básica".
El script para enviar SMS
En el siguiente paso, programaremos un script con el que podrá enviar cualquier mensaje SMS a cualquier destinatario de toda la base de datos. El script se puede llamar posteriormente con los siguientes cinco parámetros de script:
- Receptor - Número de teléfono del destinatario, por ejemplo "0049123456789" o "+49123456789".
- Texto - Texto del mensaje SMS (hasta 1.530 caracteres como SMS enlazado)
- Remitente - ID del remitente, suele generarse a partir del campo de datos maestros.
- Llave de acceso - Clave de puerta de enlace, suele generarse a partir del campo de datos maestros.
- Ruta - Ruta (tarifa), suele generarse a partir del campo de datos maestros.
Si crea campos "Remitente", "Clave de puerta de enlace" y "Ruta" a partir de campos de datos maestros, el script debe comprobar primero si estos campos también se han actualizado. Por esta razón, nuestro script contiene una consulta correspondiente al principio. A continuación encontrará el script completo para enviar mensajes SMS con la ayuda del plugin MBS FileMaker.
Pasar parámetros de script
Cuando se llama a este script, se pasan cinco parámetros de script en una cadena cuyos valores están separados por un apóstrofo (|). Para separar la cadena, utilizamos un Función propia llamado "StringTrennen". Para poder utilizar el script como se muestra, cree primero lo siguiente Función personalizada (función independiente) en FileMaker Pro Advanced:
StringDisconnect (Cadena; Número)
Si(número = 1;
CharacterLinks ( String; (Posición ( String; "|"; 1; 1))-1);
CharacterCentre ( String;
(Posición ( Cadena; "|"; 1; Número-1))+1;
(Posición ( Cadena; "|"; 1; Número)) - ((Posición ( Cadena; "|"; 1; Número-1))+1)
)
)
Script para el envío de SMS
Si ha insertado la función personalizada mencionada anteriormente o tiene otra función personalizada que pueda extraer cadenas separadas por un carácter, cree una nueva secuencia de comandos en el editor de secuencias de comandos y nómbrela como subíndice según su esquema de nomenclatura personal (por ejemplo, 'ts.SMS_Versand').
Si [NOT IstLeer(Remitente) AND NOT IstLeer(Clave) AND NOT IstLeer(Ruta)]
Parámetros #Script: Tel | Texto | De | Clave | Ruta
Establecer variable [$tel_nr; Valor:StringTrennen(Get(ScriptParameter); 1)]
Establecer variable [$text; Valor:StringDisconnect(Get(ScriptParameter); 2)]
Establecer variable [$from; Valor:StringDisconnect(Get(ScriptParameter); 3)]
Establecer variable [$key; Valor:StringDisconnect(Get(ScriptParameter); 4)]
Establecer variable [$route; Valor:StringTrenn(Get(ScriptParameter); 5)]
#
# Inicializar transferencia
Establecer variable [$r; Valor:MBS("Traza")]
Establecer variable [$to; value:MBS("String.EncodeURLComponent"; $tel_nr; "utf8")]
Establece la variable [$from; value:MBS("String.EncodeURLComponent"; $from; "utf8")].
Establecer variable [$body; Value:Exchange(MBS("String.EncodeURLComponent"; $text; "utf8"); ""; "+")].
Establecer variable [$curl; Valor:MBS("CURL.New")]
Establecer variable [$result; value:MBS("CURL.SetOptionpost"; $curl; 1)].
Establecer variable [$result; Value:MBS("CURL.SetOptionVerbose"; $curl; 1)].
Establecer variable [$result; Value:MBS("CURL.SetOptionURL"; $curl; "https://gateway.smstrade.de")]
#
# Introducir datos XML y SMS
Establecer variable [$content; valor: "key=" & $key & "&" & "to=" & $to & "&" & "message=" & $body & "&" &
"route=" & $route & "&" & "from=" & $from & "&" & "charset=utf-8"].
Establecer variable [$content; Value:MBS("String.ReplaceNewline"; $content; 2 )]
Establecer variable [$result; Value:MBS("CURL.SetOptionPostFields"; $curl; $content)].
#
# Iniciar transferencia
Establecer variable [$result; Value:MBS("CURL.Perform"; $curl)]
#
# Comprobar resultado
Establecer variable [$$debugText; Value:MBS("String.ReplaceNewline"; MBS("CURL.GetDebugAsText"; $curl);1)].
Establecer variable [$$resultText; Value:MBS("String.ReplaceNewline"; MBS("CURL.GetResultAsText"; $curl);1)].
Establecer variable [$r; valor:MBS("CURL.Cleanup"; $curl)]
En caso contrario
Muestre su propio cuadro de diálogo ["Pasarela SMS no configurada"; "¡No se han introducido datos maestros!"; "OK"].
Fin (si)
En la primera parte del script, la cadena de parámetros de script pasada se extrae primero en variables individuales. En la segunda parte, el motor CURL del MBS Plugin de FileMaker se inicializa. La tercera parte compone la cadena que conduce al Servidor de la pasarela SMS se envía. El envío tiene lugar en el subíndice "Iniciar transferencia". En la última parte, el estado del envío se escribe en las variables globales $$result y $$debug y puede leerse aquí después del envío.
Descargar base de datos de demostración
Para que no tenga que teclear todo el código fuente en estilo C=64, le proporcionamos la solución descrita en este artículo en forma de Archivo de ejemplo disponible para su descarga. El archivo de muestra se encuentra en formato fmp12 y utiliza FileMaker 12, 13 o 14 con Plugin MBS FileMaker de antemano. Si no dispone de una licencia para FileMaker Pro Advanced, sino sólo para FileMaker Pro normal, puede utilizar este archivo de ejemplo, que ya contiene la función personalizada necesaria para separar la cadena de transferencia.

Markus Schall lleva desarrollando bases de datos personalizadas, interfaces y aplicaciones empresariales basadas en Claris FileMaker desde 1994. Es socio de Claris, ganador del premio FMM Award 2011 y desarrollador de la. Software ERP gFM-Business. También es autor de libros y fundador del M. Schall Editores.


Suena de maravilla. ¿Existe también alguna forma de RECIBIR SMS a través de FileMaker?
Muchas gracias,
Matthias
Existe una solución "fmsms" en https://www.fmsms.comque también puede utilizarse para recibir mensajes SMS.