Utilizar API de Web SMS mediante el componente SMSSend

Rate this post

Te recomendamos usar la API mediante Webservice SMS, pero también puedes enviar SMS a móviles desde tus propios desarrollos utilizando el componente SMSSend. Este componente permite enviar un mensaje SMS a una lista de destinatarios o programar un nuevo mensaje para su envío en una fecha/hora determinada. Su utilización es muy sencilla:

  • Crea una instancia del objeto en tu script.
  • Utiliza uno de los métodos propuestos.
  • Si dispones de un Servidor Dedicado, necesitas permitir tráfico saliente al puerto 8080 TCP del Servidor SMS.

Método para realizar un envío

Método Descripción
setAccount (account as String) Establece el usuario (account) de la cuenta desde la que se va a realizar el envío. Este dato será la dirección de correo con que activó tu cuenta SMS.
setPwd (pwd as String) Establece la contraseña de la cuenta desde la que se va a realizar el envío.
setText (text as String) Establece el texto del mensaje SMS (máximo: 160 caracteres).
setFrom (text as String) Establece el remite para el SMS (máximo: 11 caracteres). No es obligatorio.
setTo (para as String) Establece los destinatarios del mensaje (separados por ;).

Método para programar un envío

Método Descripción
setDescriptionEP (text as String) Establece la descripción del Envío programado.
setDateEP (text as String) Establece la fecha del Envío programado («dd/mm/ aaaa«).
setTimeEP (text as String) Establece la hora del Envío programado («hh/mm«).
setPeriodEP (text as String) Establece la periodicidad del Envío programado. Los posibles valores son:
  • periodUnica
  • periodDiaria
  • periodSemanal
  • periodMensual
  • periodAnual

Método para obtener el estado de envío de un mensaje

Método Descripción
setIdEnvio (text as String) Establece el identificador del envío del mensaje cuyo estado se quiere consultar. El identificador del envío es devuelto por el método «Send» (ver
respuesta del método «Send» más adelante).

Método para obtener los identificadores y estado de los SMS enviados en un intervalo de tiempo

Método Descripción
setFechaIni (text as String) Establece la fecha y hora de inicio para la consulta. El formato debe ser «DD/ MM/ AAAA HH:MM:SS«.
setFechaFin (text as String) Establece la fecha y hora de inicio para la consulta. El formato debe ser «DD/ MM/ AAAA HH:MM:SS«.

Métodos para el envío

Método Respuesta Error en la conexión
(respuesta as String) = Send <SendSMS>
<result>(OK o KO)</ result>
<description>Descripción del resultado</ description>
<credit>Credito restante</ credit>
<idenvio>ID del envío</ idenvio>
</ SendSMS>
Si ha habido un error en la conexión y no se ha podido obtener respuesta,
el valor será =-1

Métodos para envío programado

Método Respuesta Error en la conexión
(respuesta as String) = Program <ProgramSMS>
<result>(OK o KO)</ result>
<description>Descripción del resultado</ description>
<credit>Credito restante</ credit>
</ Program>
Si ha habido un error en la conexión y no se ha podido obtener respuesta,
el valor será =-1

Métodos de consulta

Método Respuesta Error en la conexión
(respuesta as String) = Estado

Devuelve el estado de entrega al operador y al terminal de cada uno de los mensajes
incluidos en el envío.

<SendSMS>
<result>OK</ result>
<description>Estado del envío obtenido</ description>
<envio>
<item>
<phone>34666666666</ phone>
<estado_operador>entregado</ estado_operador>
<estado_terminal>entregado</ estado_term
inal>
</ item>
<item>
<phone>34666666667</ phone>
<estado_operador>entregado</ estado_operador>
<estado_terminal>entregado</ estado_term
inal>
</ item>
</ envio>
</ SendSMS>
Si ha habido un error en la conexión y no se ha podido obtener respuesta,
el valor será =-1
(respuesta as String) = Listado

Consulta el listado de SMS enviados entre una fecha y hora de inicio y otra de fin.

La duración del intervalo no debe ser mayor a 24 horas. El método Listado devuelve como respuesta el ID del envío, teléfono, fecha y hora y
estado de entrega al operador y al terminal de cada uno de los SMS enviados en dicho intervalo.

<SendSMS>
<result>OK</ result>
<description>Estado del envío obtenido</ description>
<listado>
<item>
<idenvio>9999991</ idenvio>
<phone>34666666666</ phone>
<timestamp>20/ 10/ 2009
18:46:16</ timestamp>
<estado_operador>entregado</ estado_operador>
<estado_terminal>entregado</ estado_term
inal>
</ item>
<item>
<idenvio>9999991</ idenvio>
<phone>34666666667</ phone>
<timestamp>20/ 10/ 2009
18:46:16</ timestamp>
<estado_operador>entregado</ estado_operador>
<estado_terminal>entregado</ estado_term
inal>
</ item>
<item>
<idenvio>9999992</ idenvio>
<phone>34666666666</ phone>
<timestamp>20/ 10/ 2009
20:30:00</ timestamp>
<estado_operador>entregado</ estado_operador>
<estado_terminal>entregado</ estado_term
inal>
</ item>
</ listado>
</ SendSMS>
Si ha habido un error en la conexión y no se ha podido obtener respuesta,
el valor será =-1
(respuesta as String) = ListadoEP

Permite de manera opcional especificar una fecha y hora de inicio y otra de fin.

El método ListadoEP devuelve como respuesta el ID del envío, el destinatario, el estado del envío programado, la fecha en la que está programado el primer envío, la fecha en la que está programado el próximo envío, la fecha en la que se creó el envío
programado, el nº de reintentos, la descripción del envío y el error si es que
se ha producido.

<listadoep>
<result>ok</ result>
<description>estado de envíos programados
obtenidos</ description>
<listado>
<item>
<idenvio>9999991</ idenvio>
<destinatarios>34666666666</ destinatarios>
<estado>finalizado</ estado>
<fecha_primer_envio>20/ 10/ 2010
18:46:16</ fecha_primer_envio>
<fecha_proximo_envio>20/ 10/ 2010
18:46:16</ fecha_proximo_envio>
<fecha_creacion_envio>20/ 10/ 2010
14:46:16</ fecha_creacion_envio>
<reintentos>1</ reintentos>
<descripcion>descripción del
envío</ descripcion>
<error></ error>
</ item>
<item>
<idenvio>9999992</ idenvio>
<destinatarios>34666666667</ destinatarios>
<estado>finalizado</ estado>
<fecha_primer_envio>20/ 10/ 2010
18:46:16</ fecha_primer_envio>
<fecha_proximo_envio>20/ 10/ 2010
18:46:16</ fecha_proximo_envio>
<fecha_creacion_envio>20/ 10/ 2010
14:46:16</ fecha_creacion_envio>
<reintentos>1</ reintentos>
<descripcion>descripción del
envío</ descripcion>
<error></ error>
</ item> </ listado>
</ listadoep>
Si ha habido un error en la conexión y no se ha podido obtener respuesta,
el valor será =-1
(respuesta as String) = ListadoEnvios

Permite, de manera opcional, filtrar la búsqueda por una fecha y hora de inicio y otra de fin, por un destinatario y por parte del contenido de un mensaje.

El método ListadoEnvios devuelve como respuesta el ID del envío, el destinatario, la fecha del envío, el número de destinatarios del envío y el contenido del mensaje

<ListadoSMS>
<result>ok</ result>
<description>estado de envíos programados
obtenidos</ description>
<listado>
<item>
<idenvio>9999991</ idenvio>
<phone>34666666666</ phone>
<timestamp>20/ 10/ 2010 18:46:16</ timestamp>
<num_envios>1</ num_envios>
<text>Texto de mensaje</ text>
</ item>
<item>
<idenvio>9999992</ idenvio>
<phone>34666666667</ phone>
<timestamp>23/ 10/ 2010 18:46:16</ timestamp>
<num_envios>1</ num_envios>
<text>Texto de mensaje 2</ text>
</ item>
</ listado>
</ ListadoSMS>
Si ha habido un error en la conexión y no se ha podido obtener respuesta,
el valor será =-1

…..

Método Descripción
(descripcion as String) = getDescription Recupera lo que hay entre <description></ description>.
(credit as String) = getCredit Recupera lo que hay entre <credit></ credit> tras enviar un SMS con «Send» o programarlo con «Program».
(envio as String) = getIdEnvio Recupera lo que hay entre <idenvio></ idenvio> al realizar el envío de un sms con «Send».

Métodos opcionales

No es necesaria su utilización para realizar el envío SMS.

Método Descripción
(account as String) = getAccount Recupera el usuario de la cuenta desde la que se va a realizar el envío.
(pwd as String) = getPwd Recupera la contraseña la cuenta desde la que se va a realizar el envío.
(text as String) = getText Recupera el texto del mensaje SMS. Máximo: 160 caracteres.
(para as String) = getTo Recupera los destinatarios del mensaje (separados por ;).
(Remite as String) = getFrom Recupera el remite configurado para el mensaje.
(DescriptionEP as String) = getDescriptionEP Recupera la descripción configurada para el envío programado.
(DateEP as String) = getDateEP Recupera la fecha configurada para el envío programado.
(TimeEP as String) = getTimeEP Recupera la hora configurada para el envío programado.
(PeriodEP as String) = getPeriodEP Recupera el ID de la periodicidad configurada para el envío programado.

Ejemplos de uso

Puedes consultar varios ejemplos de uso del componente para sus diferentes versiones.