Como enviar SMS desde ASP clásico

Código ASP clásico

Enviar mensajes SMS desde una aplicación web puede parecer una tarea compleja, especialmente si estamos trabajando con tecnologías más antiguas como ASP Clásico (también conocido como ASP 3.0). Sin embargo, gracias a servicios como Altiria, esta funcionalidad se vuelve bastante accesible. En este artículo te enseñaremos paso a paso cómo enviar SMS desde un sitio web que utiliza ASP Clásico, incluyendo la lógica del proceso, fundamentos técnicos y un ejemplo funcional de código.


¿Por Qué Usar SMS Desde una Aplicación Web?

  • Alto nivel de apertura: más del 90% de los SMS se leen en menos de 5 minutos.
  • No requiere internet: a diferencia de WhatsApp o Telegram.
  • Ideal para autenticación, recordatorios o alertas automáticas.

Si tu aplicación web está construida sobre tecnologías legadas como ASP Clásico, aún puedes aprovechar estas ventajas.


Requisitos Previos

  • Un proveedor de servicios de SMS, como Altiria.
  • Credenciales de autenticación (usuario y contraseña) proporcionadas por Altiria.
  • Componente MSXML2.XMLHTTP habilitado en el servidor.
  • Permisos para editar el código ASP del sitio.


Lógica de Envío de SMS en ASP Clásico

El proceso general consiste en:

  1. Preparar credenciales, número de teléfono y mensaje.
  2. Armar los parámetros para una petición HTTP POST.
  3. Enviar la solicitud a la API del proveedor.
  4. Capturar la respuesta y mostrarla o procesarla.


Estructura del Código: Paso a Paso

1. Definir Credenciales y Datos del Mensaje

login = "YY"
passwd = "ZZ"
dest1 = "346xxxxxxxx"
msg = "Mensaje de prueba"

2. Preparar los Parámetros

params = "cmd=sendsms" & _
         "&login=" & login & _
         "&passwd=" & passwd & _
         "&dest=" & dest1 & _
         "&msg=" & Server.URLEncode(msg)
  

3. Enviar la Solicitud

Set objHttp = Server.CreateObject("MSXML2.XMLHTTP")
objHttp.Open "POST", url, False
objHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
objHttp.Send params
  

4. Manejar la Respuesta

If Err.Number <> 0 Then
    Response.Write "Error en la solicitud: " & Err.Description
Else
    responseText = objHttp.responseText
    Response.Write "Respuesta del servidor: " & responseText
End If  

Código Completo: Ejemplo Funcional

<%
Dim objHttp, url, params, responseText
Dim login, passwd, dest1, msgurl = "http://www.altiria.net/api/http"
login = "YY"
passwd = "ZZ"
dest1 = "346xxxxxxxx"
msg = "Mensaje de prueba"
params = "cmd=sendsms" & _
         "&login=" & login & _
         "&passwd=" & passwd & _
         "&dest=" & dest1 & _
         "&msg=" & Server.URLEncode(msg)
Set objHttp = Server.CreateObject("MSXML2.XMLHTTP")On Error Resume NextobjHttp.Open "POST", url, False
objHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
objHttp.Send params
If Err.Number <> 0 Then
    Response.Write "Error en la solicitud: " & Err.Description
Else    responseText = objHttp.responseText
    Response.Write "Respuesta del servidor: " & responseText
End If
Set objHttp = Nothing
%>
  

Consejos y Buenas Prácticas

  • Valida los números antes de enviarlos.
  • Maneja adecuadamente los errores del servidor.
  • Registra las respuestas de la API.
  • No hardcodes las credenciales en archivos públicos.
  • Para envíos masivos, considera implementar una cola y controlar la frecuencia.

Código  envio_sms.asp


<%
Dim objHttp, objXmlHttp, url, params, responseText
' Configuración de la URL y credenciales
url = "http://www.altiria.net/api/http"
' Datos del mensaje
Dim login, passwd, dest1, dest2, msg
login = "YY"
passwd = "ZZ"
dest1 = "346xxxxxxxx"
dest2 = "346yyyyyyyy"
msg = "Mensaje de prueba"
' Construcción de los parámetros de la petición
params = "cmd=sendsms" & _
         "&login=" & login & _
         "&passwd=" & passwd & _
         "&dest=" & dest1 & _
         "&dest=" & dest2 & _
         "&msg=" & Server.URLEncode(msg)
' Crear el objeto para la petición HTTP
Set objHttp = Server.CreateObject("MSXML2.XMLHTTP")
On Error Resume Next
' Configurar y enviar la petición
objHttp.Open "POST", url, False
objHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
objHttp.Send params
' Capturar la respuesta
If Err.Number <> 0 Then
    Response.Write "Error en la solicitud: " & Err.Description
Else
    responseText = objHttp.responseText
    Response.Write "Respuesta del servidor: " & responseText
End If
' Liberar el objeto
Set objHttp = Nothing
%>



tags: enviar SMS ASP clásico, ASP 3.0 SMS, SMS desde web legacy, integración Altiria ASP, ejemplo SMS VBScript, API SMS ASP, enviar mensaje ASP clásico

En esta sección encontrarás una mezcla de códigos recopilados de fuentes públicas de Internet y otros creados por ASP TEAM. Compartimos recursos útiles de buena fe para formar una base de conocimiento en el desarrollo de aplicaciones en ASP Clásico.