Loading...

Como enviar SMS desde ASP clásico

Ez.Biz Cloudware
Blog de ASP Clásico

Como enviar SMS desde ASP clásico

Código ASP clásico

Por ASP clásico / 07/04/2025 @ 07:54:51 / 1300 visitas

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, msg

url = "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 Next

objHttp.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
%>



Descubre más sobre cómo simplificar y optimizar tu trabajo empresarial en el Blog de CoreASP.

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

Descargo de Responsabilidad:

El contenido y los recursos que ofrecemos en CoreASP están destinados únicamente a proporcionar herramientas y ejemplos prácticos para el desarrollo en ASP Clásico. Esta información es de carácter general y no debe considerarse asesoramiento profesional o técnico específico para tu proyecto. Aunque hacemos todo lo posible por asegurar la calidad y precisión de los recursos compartidos, no garantizamos que sean completamente libres de errores o que se ajusten perfectamente a todas las situaciones. CoreASP no se responsabiliza por cualquier pérdida, daño o inconveniente derivado del uso directo o indirecto de los recursos o información proporcionada. Además, CoreASP no respalda ni asume responsabilidad por enlaces o contenido de terceros que puedan estar referenciados en nuestra plataforma. Todos los derechos de propiedad intelectual sobre el contenido y recursos publicados en CoreASP pertenecen a CoreASP o a sus respectivos propietarios, y su uso está sujeto a las condiciones de la licencia especificada para cada recurso. Nos reservamos el derecho de modificar este descargo de responsabilidad en cualquier momento sin previo aviso. Para más detalles, consulta el documento completo de términos y condiciones.