Como receber SMS do PHP
A maneira mais simples de enviar SMS do PHP é usar a API HTTP/Rest de SMS integrada do Ozeki SMS Gateway. Quando você usa essa API, receberá mensagens SMS enviando uma solicitação HTTP Get para o gateway de SMS. O gateway de SMS retornará uma resposta HTTP 200 OK para sua solicitaçã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 de 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"; $api = new MessageApi($configuration); $result = $api -> DownloadIncoming(); echo "Pasta: " . $result -> Folder; echo "
"; echo "Limite: " . $result -> Limit; echo "
"; echo strval($result); echo "
"; echo "Mensagens:"; echo "
"; foreach($result->Messages as $msg) { echo "De: ". $msg->FromAddress . " Texto: " . $msg->Text; echo "
"; } }
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 ReceiveSMS.php
O código-fonte explicado neste artigo pode ser baixado, usado e modificado gratuitamente.
Download: ReceiveSMS.zip (5.9Kb)
O arquivo SendSMS.zip contém a biblioteca Ozeki.Libs.Rest.Php, que fornece todas as ferramentas necessárias para enviar e receber mensagens SMS. Você também encontrará o projeto ReceiveSms no zip, 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 do PHP:
- Instale o Ozeki SMS Gateway
- Conecte o Ozeki SMS Gateway à rede móvel
- Receba um SMS de teste da interface gráfica do Ozeki
- Crie um usuário da API HTTP de SMS
- Inicie o servidor Wamp
- Baixe o exemplo acima
- Crie a solicitação de recebimento de SMS
- Use o método Receive para receber sua mensagem
- Leia a resposta HTTP
- Verifique os logs no gateway de SMS
Para poder receber SMS do 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 de teste 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 da API HTTP de SMS. Crie um usuário com o nome "http_user" e senha "qwe123" para que o exemplo funcione sem modificações.
Após a configuração do ambiente, você pode executar seu código PHP.
URL da API HTTP para receber SMS do PHPPara enviar SMS do PHP, seu PHP terá que enviar uma solicitação HTTP para o gateway de SMS. A URL da API é mostrada abaixo. Observe 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 o aplicativo de SMS em C# está sendo executado, 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 solicitação HTTP. Observe que incluímos um tipo de conteúdo e um cabeçalho de Autorização.
Content-Type: application/json Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Para enviar o SMS, seu aplicativo PHP enviará uma solicitação HTTP semelhante à mostrada abaixo. Observe que esta solicitação contém uma parte de cabeçalho HTTP.
GET /api?action=receivemsg&folder=inbox HTTP/1.1 Content-Type: application/json Accept: */* Authorization: Basic aHR0cF91c2VyOnF3ZTEyMw== Host: 127.0.0.1:9509
Resposta HTTP recebida pelo exemplo de SMS em PHP
Assim que o gateway de SMS receber esta solicitaçã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. Ele 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.120 (www.myozeki.com) Content-Type: application/json; charset=utf8 Last-Modified: Thu, 17 Jun 2021 09:18:12 GMT Server: 10/10.3.120 Transfer-Encoding: chunked { "http_code": 200, "response_code": "SUCCESS", "response_msg": "", "data": { "folder": "inbox", "limit": "1000", "data": [ { "message_id": "16673c81-0568-49af-a0fa-1e4b3d6bb500", "from_connection": "SMPP_client_1@localhost", "from_address": "+36301111111", "from_station": "%", "to_connection": "http_user@localhost", "to_address": "+36308888888", "to_station": "%", "text": "Hello World 1!", "create_date": "2021-06-17 10:01:55", "valid_until": "2021-06-24 10:01:55", "time_to_send": "2021-06-17 10:01:55", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [ { "name": "PduCount", "value": "1" } ] }, { "message_id": "8ed7f65b-d3b5-4b68-8b4d-25b63dad0cc8", "from_connection": "SMPP_client_1@localhost", "from_address": "+36302222222", "from_station": "%", "to_connection": "http_user@localhost", "to_address": "+36308888888", "to_station": "%", "text": "Hello World 2!", "create_date": "2021-06-17 10:02:03", "valid_until": "2021-06-24 10:02:03", "time_to_send": "2021-06-17 10:02:03", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [ { "name": "PduCount", "value": "1" } ] }, { "message_id": "56ad323c-b19b-4406-af2d-cf2eb365e725", "from_connection": "SMPP_client_1@localhost", "from_address": "+36303333333", "from_station": "%", "to_connection": "http_user@localhost", "to_address": "+36308888888", "to_station": "%", "text": "Hello World 3!", "create_date": "2021-06-17 10:02:27", "valid_until": "2021-06-24 10:02:27", "time_to_send": "2021-06-17 10:02:27", "submit_report_requested": true, "delivery_report_requested": false, "view_report_requested": false, "tags": [ { "name": "PduCount", "value": "1" } ] } ] } }
Como receber SMS em PHP usando a API de SMS em PHP (Tutorial em vídeo)
Este vídeo mostra como baixar e usar o projeto ReceiveSMS 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: Receive_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 de 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.
Resumindo
Este artigo explicou como receber mensagens SMS com a API REST HTTP do Ozeki SMS Gateway em PHP. Se você seguiu os passos acima, agora é capaz de criar um usuário de API SMS HTTP no Ozeki SMS Gateway para receber SMS com PHP. Este serviço pode ser utilizado a qualquer momento, para que seu sistema PHP existente possa ser expandido com capacidades de SMS.
Você encontra mais informações sobre esta tecnologia e o Ozeki SMS Gateway aqui, certifique-se de continuar lendo. Ozeki tem outros artigos sobre este tópico, como Como enviar SMS em PHP, confira agora!
Sua próxima tarefa é baixar o Ozeki SMS Gateway e aproveitar os benefícios.
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