Como enviar um SMS agendado

Este guia fornece informações sobre como enviar uma mensagem SMS agendada e como obter relatórios do Ozeki SMS Gateway quando a mensagem é enviada para a rede móvel e quando é entregue ao destinatário. (Vídeo 1, Figura 1)

Vídeo 1 - Como enviar um SMS agendado (Tutorial em vídeo)

sms agendado do servidor web apache
Figura 1 - SMS agendado do servidor web Apache

Passo 1 - Instalar o Usuário HTTP API

Você pode simplesmente instalar o Usuário HTTP API no console de Gerenciamento clicando em Adicionar novo usuário/aplicação... no painel Usuários/Aplicações. Uma interface será aberta com dois painéis. O painel direito contém os usuários e aplicações que você pode instalar, com uma breve descrição ao lado de cada um. Encontre o Usuário HTTP API e clique no botão azul 'instalar' ao lado dele (Figura 2).

instalar usuário http api
Figura 2 - Instalar usuário HTTP API

Na seção Nome, forneça um nome único para o Usuário HTTP API e defina um nome de usuário e senha para autenticação (Figura 3).

definir nome de usuário e senha
Figura 3 - Definir nome de usuário e senha

Passo 2 - Ativar Log de eventos de comunicação

Para poder ver a comunicação HTTP na aba Eventos do usuário HTTP API, você precisa ativar o log de eventos de comunicação. Para fazer isso, abra a aba Configurar do usuário HTTP. Nela, na aba Avançado, na seção Nível de Log, marque a opção Log de eventos de comunicação, como mostra a Figura 4.

ativar log de comunicação
Figura 4 - Ativar log de comunicação

Passo 3 - Criar código PHP para enviar mensagem

O próximo passo é criar os arquivos PHP na raiz www do servidor web Apache. Vá para a pasta /var/www/html e crie o arquivo index.php (Figura 5).

criar index.php
Figura 5 - Criar index.php

Depois de colar o código PHP, modifique a conexão do Servidor, alterando a URL, nome de usuário e senha para o IP do seu SMS Gateway e as credenciais do usuário HTTP API. Em seguida, modifique os IPs das URLs de Relatório para o IP do servidor web Apache (Figura 6).

configurar detalhes do index.php
Figura 6 - Configurar detalhes do index.php

Exemplo de código para enviar um SMS agendado

<!DOCTYPE html>
<html>
<head>
    <title>Requisição HTTP</title>
</head>
<body>
    <?php    
        //Detalhes da conexão do servidor
        $httpurl = "https://192.168.93.133:9509/";
        $username = "ht1";
        $password = "qwe123";

        //Destinatário e texto da mensagem SMS
        $recipient = urlencode("+36201324567");
        $messagedata = urlencode("Olá mundo");

        //Agendar para 5 minutos a partir de agora
        $date = strtotime(date("Y-m-d H:i:s")." +5 minutes"); 
        $sendondate = urlencode(date("Y-m-d H:i:s",$date));

        //URLs de relatório
        $reportto = 'http://192.168.93.242/report.php?'.
                'reporttype=$reporttype&messageid=$messageid';
        $reporturl = urlencode($reportto);

     
	//Construir a requisição
        $sendString = $httpurl."api?action=sendmessage".
		"&username=".$username.
		"&password=".$password.
		"&recipient=".$recipient.
		"&recipient=".$recipient.
		"&sendondate=".$sendondate.
                "&reporturl=".$reporturl.
                "&messagedata=".$messagedata;
 
        echo '<p><b> Enviando requisição HTTP:</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> Resposta HTTP recebida:</b> </p>';
        echo '<xmp>' . $response. '</xmp>';
    ?>
</body>
</html>

Passo 4 - Criar código PHP para relatórios de mensagem

Agora crie o arquivo PHP de relatório no diretório raiz www do servidor web Apache. Na pasta /var/www/html, crie o arquivo report.php como você pode ver na Figura 7.

criar report.php
Figura 7 - Criar report.php

No arquivo report.php, cole o código PHP abaixo para receber o relatório de SMS. Este código salva todos os relatórios de SMS recebidos em um arquivo smsreport.txt na pasta tmp (Figura 8).

detalhes do report.php
Figura 8 - Detalhes do report.php

Exemplo de código para processar relatórios recebidos

<!DOCTYPE html>
<html>
<head>
    <title>Manipulador de relatório de envio HTTP</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 "Registrado: $line";
    ?>
</body>
</html>

Passo 5 - Enviar mensagem SMS

Após a criação dos arquivos PHP no servidor Apache, você poderá enviar SMS usando-o. Em um navegador, abra o index.php e você verá a requisição HTTP enviada e a resposta HTTP do gateway de SMS (Figura 9).

enviar mensagem SMS usando index.php
Figura 9 - Enviar mensagem SMS usando index.php

Na aba de eventos do Ozeki SMS Gateway, você também pode ver a comunicação HTTP (Figura 10).

mensagem recebida pelo gateway de SMS
Figura 10 - Mensagem recebida pelo Gateway de SMS

Se você abrir a pasta de saída do Ozeki SMS Gateway, poderá ver que a mensagem está armazenada na pasta Postponed (Adiadas) porque será enviada no futuro (Figura 11).

mensagem na caixa de saída
Figura 11 - Mensagem na caixa de saída

Na aba Tags dos detalhes da mensagem, você pode verificar quando o SMS será enviado e a URL de relatório que será chamada pelo Ozeki SMS Gateway se o SMS for enviado. (Figura 12)

tags da mensagem
Figura 12 - Tags da mensagem

Finalmente, você verá que o Ozeki SMS Gateway enviará a mensagem na data e hora programadas, como você pode ver na Figura 13.

mensagem enviada
Figura 13 - Mensagem enviada

Passo 5 - Relatório de mensagem recebido

Em seguida, o relatório de SMS é enviado de volta para o servidor web Apache e armazenado no arquivo smsreport.txt (Figura 14).

relatório de mensagem em smsreporter.txt
Figura 14 - Relatório de mensagem em smsreporter.txt

Exemplo de arquivo de relatório

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

Resumo

Você aprendeu sobre o envio de mensagens SMS agendadas no artigo acima. O envio de mensagens SMS agendadas pode otimizar seu plano de marketing de SMS em massa, enviando mensagens quando o cliente pode realmente se concentrar nas informações que você deseja transmitir. Além disso, se você tiver alguma informação importante para enviar a um destinatário, pode configurar um SMS agendado. Dessa forma, você não esquecerá de enviar a mensagem.

Se você quiser saber mais sobre a tecnologia por trás da função de SMS agendado, visite a página da web da Ozeki, onde encontrará artigos úteis sobre muitos tópicos. Primeiro, você deve começar com receber SMS em PHP. Se você quiser usar recursos de SMS com outras linguagens de programação, talvez comece com o artigo SMS com Java.

Não perca mais tempo. Baixe o Ozeki SMS Gateway e comece a enviar SMS agora!

More information