Como enviar múltiplos SMS a partir de PHP
A maneira mais simples de enviar SMS a partir de PHP é usar a API HTTP/Rest de SMS integrada do Ozeki SMS Gateway. Ao usar esta API, você enviará mensagens SMS através de uma requisição HTTP Post para o gateway de SMS. A requisição HTTP Post irá conter uma mensagem formatada em json. O gateway de SMS irá enviar este SMS para o telefone do destinatário e retornará uma resposta HTTP 200 OK para a sua requisição.
O exemplo de código PHP para SMS abaixo demonstra como você pode enviar SMS usando a API HTTP Rest de SMS do Ozeki SMS Gateway com a biblioteca PHP Ozeki.Libs.Rest. Esta biblioteca é fornecida gratuitamente e você pode usá-la e modificá-la em qualquer um dos seus projetos.
SendSMS.csnamespace Ozeki_PHP_Rest { require 'MessageApi/MessageApi.php'; $configuration = new Configuration(); $configuration -> Username = "http_user"; $configuration -> Password = "qwe123"; $configuration -> ApiUrl = "http://127.0.0.1:9509/api"; $msg1 = new Message(); $msg2 = new Message(); $msg1 -> ToAddress = "+36201111111"; $msg1 -> Text = "Olá, Mundo 1!"; $msg2 -> ToAddress = "+36202222222"; $msg2 -> Text = "Olá, Mundo 2!"; $api = new MessageApi($configuration); $result = $api -> SendMultiple([$msg1,$msg2]); echo strval($result); }
Como usar o exemplo de SMS em PHP:
Este exemplo de SMS em PHP pode ser usado em qualquer aplicação PHP. Para usá-lo, você deve adicionar a pasta MessageApi ao seu projeto. Você pode usar a classe Message para criar o SMS e a classe MessageApi para enviar o SMS para o gateway de SMS. O gateway de SMS encaminhará sua mensagem para a rede móvel através de uma conexão sem fio ou pela Internet.
Baixar Send-multiple-SMS.php
O código-fonte explicado neste artigo pode ser baixado, usado e modificado gratuitamente.
Download: Send_multiple_SMS.zip (3.62Kb)
O arquivo Send-multiple-SMS.zip contém a biblioteca Ozeki.Libs.Rest, que fornece todas as ferramentas necessárias para enviar e receber mensagens SMS. Você também encontrará um arquivo SendMultipleSms no projeto, que contém o código de exemplo para mostrar como enviar um SMS. Este código de exemplo está listado abaixo.
Para enviar SMS a partir de PHP:
- Instale o Ozeki SMS Gateway
- Conecte o Ozeki SMS Gateway à rede móvel
- Envie um SMS teste a partir da interface gráfica do Ozeki
- Crie um usuário de API HTTP para SMS
- Inicie o servidor Wamp
- Baixe o exemplo acima
- Crie o SMS criando um novo objeto Message
- Use o método SendSingle para enviar sua mensagem
- Leia a resposta HTTP
- Verifique os logs no gateway de SMS
Para poder enviar SMS a partir de PHP, primeiro você precisa instalar o Ozeki SMS Gateway. O gateway de SMS pode ser instalado no mesmo computador onde você desenvolve seu código PHP. Após a instalação, o próximo passo é conectar o Ozeki SMS Gateway à rede móvel. Você pode enviar um SMS teste a partir da interface gráfica do Ozeki para verificar se sua conexão com a rede móvel está funcionando. O passo final para preparar seu ambiente é criar um usuário de API HTTP para SMS. Crie um usuário com o nome "http_user" e senha "qwe123" para fazer o exemplo funcionar sem modificações.
Após a configuração do ambiente, você pode executar seu código PHP.
URL da API HTTP para enviar SMS a partir de PHPPara enviar SMS a partir de PHP, seu PHP terá que fazer uma requisição HTTP para o gateway de SMS. A URL da API é mostrada abaixo. Note que o endereço IP (127.0.0.1) deve ser substituído pelo endereço IP do seu gateway de SMS. Se o Ozeki SMS Gateway estiver instalado no mesmo computador onde a aplicação C# de SMS está rodando, pode ser 127.0.0.1. Se estiver instalado em um computador diferente, deve ser o endereço IP desse computador.
http://127.0.0.1:9509/api?action=rest
Para enviar as mensagens SMS, você precisa incluir as seguintes linhas como cabeçalhos na requisição HTTP. Note que incluímos um tipo de conteúdo e um cabeçalho de Autorização.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Requisição HTTP para enviar SMS a partir do PHP
Para enviar o SMS, sua aplicação PHP enviará uma requisição HTTP semelhante à mostrada abaixo. Observe que esta requisição contém uma parte de cabeçalho HTTP e uma parte de corpo HTTP. O corpo HTTP é uma string de dados codificada em JSON. Ela contém o número do destinatário e o texto da mensagem.
HTTP request received from 127.0.0.1:55788 POST /api?action=sendmsg HTTP/1.1 Content-Length: 856 Content-Type: application/json Accept: */* Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9509 { "messages": [ { "message_id": "973c88f2-ae30-4b46-a4cd-e497151d38f3", "from_connection": null, "from_address": null, "from_station": null, "to_connection": null, "to_address": "+36201111111", "to_station": null, "text": "Hello, World 1!", "create_date": "2021-06-16 12:18:04", "valid_until": "2021-06-23 12:18:04", "time_to_send": "2021-06-16 12:18:04", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [] }, { "message_id": "dd910a4f-9172-4f35-9231-8dc83a5fc401", "from_connection": null, "from_address": null, "from_station": null, "to_connection": null, "to_address": "+36202222222", "to_station": null, "text": "Hello, World 2!", "create_date": "2021-06-16 12:18:04", "valid_until": "2021-06-23 12:18:04", "time_to_send": "2021-06-16 12:18:04", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": true, "tags": [] } ] }
Resposta HTTP recebida pelo exemplo de SMS em PHP
Assim que o gateway SMS receber esta requisição, ele gerará uma resposta HTTP. A resposta HTTP conterá um código de status, para indicar se o envio do SMS foi bem-sucedido ou não. Também retornará uma estrutura codificada em JSON para fornecer detalhes úteis sobre o envio da mensagem.
HTTP/1.1 200 OK User-Agent: OZEKI 10.3.116 (www.myozeki.com) Content-Type: application/json; charset=utf8 Last-Modified: Wed, 16 Jun 2021 10:04:01 GMT Server: 10/10.3.116 Transfer-Encoding: chunked { "http_code": 200, "response_code": "SUCCESS", "response_msg": "Messages queued for delivery.", "data": { "total_count": 2, "success_count": 2, "failed_count": 0, "messages": [ { "message_id": "63d2303d-9add-44d3-afd6-f27d6b6966ba", "from_station": "%", "to_address": "+36201111111", "to_station": "%", "text": "Hello, World 1!", "create_date": "2021-06-16 12:18:04", "valid_until": "2021-06-23 12:18:04", "time_to_send": "2021-06-16 12:18:04", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" }, { "message_id": "f393dd6c-6d6c-4b87-b069-78166a25b894", "from_station": "%", "to_address": "+36202222222", "to_station": "%", "text": "Hello, World 2!", "create_date": "2021-06-16 12:18:04", "valid_until": "2021-06-23 12:18:04", "time_to_send": "2021-06-16 12:18:04", "submit_report_requested": true, "delivery_report_requested": true, "view_report_requested": false, "tags": [ { "name": "Type", "value": "SMS:TEXT" } ], "status": "SUCCESS" } ] } }
Como enviar SMS a partir do PHP usando a API de SMS em PHP (Tutorial em vídeo)
Este vídeo mostra como baixar e usar o projeto SendSMS em PHP. Depois de adicionar os arquivos necessários ao seu projeto, você pode notar que há um arquivo chamado MessageApi.php. Este é o arquivo que contém a MessageApi e tudo o que você precisa para enviar um SMS usando PHP.
Exemplo de SMS em PHP: Send_Message.php
Como verificar se o SMS foi aceito pelo usuário HTTP
Depois que o SMS for enviado, é uma boa ideia verificar seu gateway SMS, para ver o que foi recebido. Você pode verificar o log abrindo os detalhes do usuário HTTP no console de gerenciamento do Ozeki SMS Gateway. O vídeo a seguir mostra o que procurar.
Como verificar se o SMS foi enviado para a rede móvel
O passo final para verificar o procedimento é verificar os logs da conexão com a rede móvel. Você pode precisar ativar o registro na configuração da conexão antes de enviar a mensagem para ver os logs. Se o registro estiver ativado, você verá o número de telefone e o texto da mensagem que você enviou.
Para ativar o registro no http_user, você deve seguir as mesmas instruções.
Resumo
Este guia contém todas as informações cruciais sobre como enviar múltiplas mensagens SMS a partir de PHP com a API REST HTTP de SMS do Ozeki SMS Gateway. Você achará o uso da API de SMS em PHP muito valioso, pois não só funciona com provedores de serviço de SMS online; ele funciona com o gateway de SMS para Android para permitir que você envie SMS sem fio. Este serviço pode tornar sua mensageria mais eficiente, pois permite que você entregue informações valiosas para mais de um telefone móvel de uma vez.
Você pode encontrar muitos outros guias como este no site da Ozeki, vamos aprender mais! Descubra como você pode usar PHP para outros propósitos, começando com o envio de mensagens SMS agendadas.
Configure o Ozeki SMS Gateway agora e coloque em prática o que você aprendeu!
More information
- Enviar SMS em PHP com a API REST HTTP (exemplo de código)
- Enviar múltiplos SMS em PHP com a API REST HTTP (exemplo de código)
- Agendar SMS em PHP com a API REST HTTP (exemplo de código)
- Receber SMS em PHP com a API REST HTTP (exemplo de código)
- Excluir SMS em PHP com a API REST HTTP (exemplo de código)
- Github: API de SMS em PHP