Cómo enviar un SMS programado

Esta guía proporciona información sobre cómo enviar un mensaje SMS programado y cómo obtener informes de Ozeki SMS Gateway cuando el mensaje se envía a la red móvil y cuando se entrega al dispositivo del destinatario. (Video 1, Figura 1)

Video 1 - Cómo enviar un SMS programado (Tutorial en video)

sms programado desde servidor web apache
Figura 1 - SMS programado desde servidor web Apache

Paso 1 - Instalar el usuario HTTP API

Puedes instalar fácilmente el usuario HTTP API en la consola de gestión haciendo clic en Agregar nuevo usuario/aplicación... en el panel Usuarios/Aplicaciones. Se abrirá una interfaz que consta de dos paneles. El panel derecho contiene los usuarios y aplicaciones que puedes instalar con una breve descripción junto a ellos. Encuentra el usuario HTTP API y haz clic en el botón azul 'instalar' junto a él (Figura 2).

instalar usuario http api
Figura 2 - Instalar usuario HTTP API

En la sección Nombre, proporciona un nombre único para el usuario HTTP API y proporciona el nombre de usuario y contraseña para la autenticación (Figura 3).

definir nombre de usuario y contraseña
Figura 3 - Definir nombre de usuario y contraseña

Paso 2 - Habilitar el registro de eventos de comunicación

Para poder ver la comunicación HTTP en la pestaña Eventos del usuario HTTP API, necesitas habilitar el registro de eventos de comunicación. Para hacer esto, abre la pestaña Configurar del usuario HTTP. En la pestaña Avanzado, en la sección Nivel de registro, marca la opción Registrar eventos de comunicación como muestra la Figura 4.

habilitar registro de comunicación
Figura 4 - Habilitar registro de comunicación

Paso 3 - Crear código PHP para enviar mensajes

El siguiente paso es crear los archivos PHP en la raíz www del servidor web Apache. Ve a la carpeta /var/www/html y crea el archivo index.php (Figura 5).

crear index.php
Figura 5 - Crear index.php

Después de pegar el código PHP, modifica la conexión del servidor, cambia la URL, el nombre de usuario y la contraseña por la IP de tu SMS Gateway y el nombre de usuario y contraseña del usuario HTTP API. Luego modifica las IP de las URL de informe por la IP del servidor web Apache (Figura 6).

configurar detalles de index.php
Figura 6 - Configurar detalles de index.php

Código de ejemplo para enviar un SMS programado

<!DOCTYPE html>
<html>
<head>
    <title>Http Request</title>
</head>
<body>
    <?php    
        //Server connection details
        $httpurl = "https://192.168.93.133:9509/";
        $username = "ht1";
        $password = "qwe123";

        //SMS recipient and message text
        $recipient = urlencode("+36201324567");
        $messagedata = urlencode("Hello world");

        //Schedule 5 minutes from now
        $date = strtotime(date("Y-m-d H:i:s")." +5 minutes"); 
        $sendondate = urlencode(date("Y-m-d H:i:s",$date));

        //Report urls
        $reportto = 'http://192.168.93.242/report.php?'.
                'reporttype=$reporttype&messageid=$messageid';
        $reporturl = urlencode($reportto);

     
	//Build the request 
        $sendString = $httpurl."api?action=sendmessage".
		"&username=".$username.
		"&password=".$password.
		"&recipient=".$recipient.
		"&recipient=".$recipient.
		"&sendondate=".$sendondate.
                "&reporturl=".$reporturl.
                "&messagedata=".$messagedata;
 
        echo '<p><b> Sending http request:</b><br> '.$sendString.'</p>';
        $aContext = array(
            'http' => array(
                'method'  => 'GET',
            ),
            'ssl' => array(
                'verify_peer' => false,
                'verify_peer_name' => false,
            )
        );
        $cxContext = stream_context_create($aContext);
        $response = file_get_contents($sendString, true, $cxContext);
 
        echo '<p><b> Http response received :</b> </p>';
        echo '<xmp>' . $response. '</xmp>';
    ?>
</body>
</html>

Paso 4 - Crear código PHP para informes de mensajes

Ahora crea el archivo PHP de informe en la raíz www del servidor web Apache. En la carpeta /var/www/html, crea el archivo report.php como puedes ver en la Figura 7.

crear report.php
Figura 7 - Crear report.php

En el archivo report.php, pega el siguiente código PHP para recibir informes de SMS. Este código guarda todos los informes de SMS recibidos en un archivo smsreport.txt bajo la carpeta tmp (Figura 8).

detalles de report.php
Figura 8 - Detalles de report.php

Código de ejemplo para procesar informes entrantes

<!DOCTYPE html>
<html>
<head>
    <title>Http submit report handler</title>
</head>
<body>
    <?php    
        $file = "tmp/smsreport.txt";       

        $date = date("Y-m-d H:i:s"); 
        $messageid = $_GET["messageid"];
        $reporttype = $_GET["reporttype"];

        $line = $date." ".$messageid." ".$reporttype."\r\n";
	file_put_contents($file, $line, FILE_APPEND);

	echo "Logged: $line";
    ?>
</body>
</html>

Paso 5 - Enviar mensaje SMS

Después de crear los archivos PHP en el servidor Apache, puedes enviar SMS usándolos. En un navegador, abre el index.php y verás la solicitud HTTP enviada y la respuesta HTTP del SMS Gateway (Figura 9).

enviar mensaje sms usando index.php
Figura 9 - Enviar mensaje SMS usando index.php

En la pestaña Eventos del Ozeki SMS Gateway, también puedes ver la comunicación HTTP (Figura 10).

mensaje recibido por sms gateway
Figura 10 - Mensaje recibido por SMS Gateway

Si abres la carpeta de salida del Ozeki SMS Gateway, podrás ver que el mensaje se almacena en la carpeta Postponed porque se enviará en el futuro (Figura 11).

mensaje en bandeja de salida
Figura 11 - Mensaje en bandeja de salida

En la pestaña Etiquetas de los detalles del mensaje, puedes ver cuándo se enviará el SMS y la URL de informe que llamará el Ozeki SMS Gateway si el SMS se envía. (Figura 12)

etiquetas del mensaje
Figura 12 - Etiquetas del mensaje

Finalmente, verás que el Ozeki SMS Gateway envía el mensaje en la fecha y hora programadas, como puedes ver en la Figura 13.

mensaje enviado
Figura 13 - Mensaje enviado

Paso 5 - Informe de mensaje recibido

Luego, el informe del SMS se envía de vuelta al servidor web Apache y se almacena en el smsreport.txt (Figura 14).

informe de mensaje en smsreporter.txt
Figura 14 - Informe de mensaje en smsreporter.txt

Ejemplo de archivo de informe

2020-08-22 09:06:27 9b457df4-7a38-4fef-b03f-a11d4cf73e70 accepted
2020-08-22 09:07:11 9b457df4-7a38-4fef-b03f-a11d4cf73e7 accepted
2020-08-22 09:07:54 617c6ec4-5844-4895-9a5c-af98d3ecace5 accepted
2020-08-22 09:10:33 617c6ec4-5844-4895-9a5c-af98d3ecace5 delivered
2020-08-22 09:10:40 9b457df4-7a38-4fef-b03f-a11d4cf73e70 delivered
2020-08-22 09:10:54 0f9603b3-ce53-4c28-bbe5-1c69d855e2ee accepted
2020-08-22 09:10:56 0f9603b3-ce53-4c28-bbe5-1c69d855e2ee undelivered
2020-08-22 09:11:27 f531af05-462d-4a74-8eb2-40ad29f06351 accepted
2020-08-22 09:11:32 f531af05-462d-4a74-8eb2-40ad29f06351 delivered
2020-08-22 09:13:34 7ad2c5e2-fa46-472f-adc1-fe2a28bbfa7c accepted
2020-08-22 09:13:45 7ad2c5e2-fa46-472f-adc1-fe2a28bbfa7c delivered
2020-08-22 09:14:35 0e2286bb-5a29-4d59-b636-ff42e2eec375 accepted
2020-08-22 09:17:35 4079feb1-2cf5-4d0f-92e6-4d97e086b918 accepted
2020-08-22 09:17:40 4079feb1-2cf5-4d0f-92e6-4d97e086b918 undelivered

Resumen

Has aprendido sobre el envío de mensajes SMS programados en el artículo anterior. Enviar mensajes SMS programados puede optimizar tu plan de marketing masivo por SMS, enviando mensajes cuando el cliente realmente pueda concentrarse en la información que deseas darle. Además, si tienes información importante que deseas enviar a un destinatario, puedes configurar un SMS programado. De esta manera, no olvidarás enviar el mensaje.

Si deseas obtener más información sobre la tecnología detrás de la función de SMS programado, visita la página web de Ozeki, donde encontrarás artículos útiles sobre muchos temas. En primer lugar, deberías comenzar con SMS con Java.

No pierdas más tiempo. Descarga Ozeki SMS Gateway y comienza a enviar SMS ahora mismo.

More information