Ejemplo de script para Usuario de Base de Datos de Autorespuesta
El archivo de script 'sqlscript.txt' se genera automáticamente en la carpeta de
cada Usuario de Base de Datos de Autorespuesta.
Este script de ejemplo muestra cómo filtrar mensajes SMS entrantes y reenviarlos o
responderlos
a partir de las filas generadas con la ayuda de una o más sentencias SQL SELECT.
###########################################################################
# Archivo de script predeterminado para la configuración de Autorespuesta. Este script
# se ejecuta cada vez que se envía un nuevo mensaje al sistema
# desde un teléfono móvil
#
# Entrada:
# Una entrada contiene una única línea de condición que comienza
# con una opción de condición. La línea de condición va seguida
# de una o más líneas de acción. Las líneas de acción contienen comandos SQL.
# La entrada se cierra con una línea vacía
#
# Opciones de condición:
# n - si el número de teléfono del remitente coincide con el patrón
# m - si el texto del mensaje coincide con el patrón
# k - si la palabra clave coincide con el patrón. (La palabra clave es la primera palabra
# del mensaje. La palabra clave se convierte a mayúsculas)
#
# Acción:
# Cada línea contiene un comando SQL. Antes de ejecutar los comandos SQL:
# se reemplazan las siguientes palabras:
# $originator - se reemplaza por el número de teléfono del remitente del mensaje
# $sender - se reemplaza por el número de teléfono del remitente del mensaje
# (un alias para originator)
# $recipient - se reemplaza por el número de teléfono que recibió el mensaje
# $receiver - se reemplaza por el número de teléfono que recibió
# el mensaje (un alias para recipient)
# $messagedata - se reemplaza por el texto del mensaje
# $keyword - se reemplaza por la palabra clave del mensaje
# $after - se reemplaza por el texto del mensaje después de la palabra clave
# $senttime - se reemplaza por la marca de tiempo que representa cuándo se envió el mensaje
# $receivedtime - se reemplaza por la marca de tiempo que representa cuándo se recibió el mensaje
# $messagetype - se reemplaza por el tipo de mensaje (en la mayoría de los casos será SMS:TEXT)
# $id - se reemplaza por el identificador único de cadena del mensaje
# $operator - se reemplaza por el nombre del proveedor de servicios
# de la conexión que recibió el mensaje
#
# Respuesta:
# Los comandos SQL en la sección de Acción pueden devolver uno o más mensajes de respuesta.
# Un mensaje de respuesta es una fila en el conjunto de resultados del SQL select. Una fila en el conjunto de resultados
# debe contener las siguientes columnas:
# recipient - La 1ª columna del conjunto de resultados (Obligatoria)
# messageData - La 2ª columna del conjunto de resultados (Obligatoria)
# messageType - La 3ª columna del conjunto de resultados (Opcional)
# sender - La 4ª columna del conjunto de resultados (Opcional)
# operatorNames - La 5ª columna del conjunto de resultados (Opcional)
#
# Comentarios:
# El signo de almohadilla (#) marca un comentario de una línea
###########################################################################
###########################################################################
#Condición:
# El número del remitente comienza con +44
#Acción:
# Se especifica una sentencia SQL. Antes de ejecutar la sentencia,
# la palabra '$sender' se reemplaza por el
# número de teléfono de la persona que envió el mensaje al
# sistema.
#
n^+44.*
SELECT '$sender',messagetext FROM defaultresponse
###########################################################################
#Condición:
# El mensaje comienza con la palabra clave: RED
#Acción:
# Se ejecutan dos sentencias SQL, la primera
# actualiza una tabla de la base de datos, la segunda devuelve un
# mensaje de respuesta
k^RED
UPDATE stats SET incoming = incoming+1 WHERE keyword='RED';
SELECT '$sender',messagetext from defaultresponse where keyword='RED'
###########################################################################
#Condición:
# El texto del mensaje contiene la palabra ALERT
#Acción:
# Se enviarán muchos mensajes a los destinatarios almacenados en
# la tabla de la base de datos alertrecipients
m.*ALERT.*
SELECT recipients,'¡Alerta, alguien ha entrado!' FROM alertrecipients
###########################################################################
#Condición:
# Todos los mensajes entrantes (provenientes de cualquier número de teléfono)
#Acción:
# Seleccionar una respuesta basada en la palabra clave
n.*
SELECT '$sender',messagetext from keywordresponse where keyword='$keyword'