Como enviar SMS no PHP, de forma simples e rápida

Publicado em 28/01/2019

Hoje vamos ver como é simples implementar o envio de SMS no PHP, através das
APIs de telefonia da DirectCall.

Para facilitar o entendimento vamos criar um cenário: faz de conta que você deseja receber um SMS toda vez que alguém preencher um formulário no seu site, com um resumo do que foi preenchido.

Diferencial da API de SMS da Directcall – Entrega automaticamente o SMS como VOZ, quando o destino indicado é um telefone FIXO; Permite multiendereçar SMS, agendar, receber e entregar SMS com Short Number (mais garantido)


Ok, já temos o cenário, vamos operacionalizar isso:


Para começar, acesse este link para obter um acesso grátis para testar esta API (via usuário e senha de teste)

A partir disso vamos fazer um formulário de contato, que pode ser o que você já tem em seu site ou sistema.

Campos do nosso formulário de contato:

  1. Nome
  2. E-mail
  3. Mensagem

Vamos salvar o formulário em HTML, que você pode salvar como “contato.html”

Fomulario de contato



<form id="form1" action="send.php" method="post" name="form1">


<h1>Fomulário de contato</h1>


<label for="nome">Nome</label>
<input id="nome" name="nome" type="text" />

<label for="email">E-mail</label>
<input id="email" name="email" type="text" />

<label for="mensagem">Mensagem</label>
<textarea id="mensagem" cols="45" name="mensagem" rows="5"></textarea>
<input id="button" name="button" type="submit" value="Enviar" />

</form>


Pronto, nosso formulário em HTML está concluído. Agora vamos ao PHP que vai receber as informações e fazer o envio do SMS.

Agora vamos criar o PHP que vai fazer o envio, um procedimento que será dividido em 3 etapas:

  1. Requisitar o access_token (Chave que libera o uso da API Directcall)
  2. Pegar os dados do formulário PHP
  3. Realizar o envio

Antes de iniciar o procedimento em si, vamos fazer uma função genérica para realizar as requisições por CURL no PHP:

function requisicaoApi($params, $endpoint){
$url = "http://api.directcallsoft.com/{$endpoint}";
$data = http_build_query($params);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$return = curl_exec($ch);
curl_close($ch);
// Converte os dados de JSON para ARRAY&lt;
$dados = json_decode($return, true);
return $dados;
}

Agora vamos botar a mão na massa! Vamos mostrar os blocos do nosso arquivo PHP, e no final mostraremos como o arquivo “send.php” vai ficar completo.

Requisitar o access_token

// CLIENT_ID que é fornecido pela DirectCall (Seu e-mail)
$client_id = "joaodasilva@minhaempresa.com.br";
// CLIENT_SECRET que é fornecido pela DirectCall (Código recebido por SMS)
$client_secret = "XXXXXXX";
// Faz a requisicao do access_token
$req = requisicaoApi(array('client_id'=&gt;$client_id, 'client_secret'=&gt;$client_secret), "request_token");
//Seta uma variavel com o access_token
$access_token = $req['access_token'];

Pegar os dados do formulário PHP

// Enviadas via POST do nosso contato.html
$nome = $_POST['nome'];
$email = $_POST['email'];
$mensagem = $_POST['mensagem'];

Realizar o envio

// Monta a mensagem
$SMS = "Contato de: {$nome} - &lt;{$email}&gt; - {$mensagem}";
// Array com os parametros para o envio
$data = array(
'origem'=&gt;"Numero", // Seu numero que é origem
'destino'=&gt;"Numero", // E o numero de destino
'tipo'=&gt;"texto",
'access_token'=&gt;$access_token,
'texto'=&gt;$SMS
);
// realiza o envio
$req_sms = requisicaoApi($data, "sms/send");
// FIM

Agora vamos unir tudo, e você já pode ver como o nosso PHP ficou bem simples e funcional:

// INICIO
function requisicaoApi($params, $endpoint){
$url = "http://api.directcallsoft.com/{$endpoint}";
$data = http_build_query($params);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$return = curl_exec($ch);
curl_close($ch);
// Converte os dados de JSON para ARRAY
$dados = json_decode($return, true);
return $dados;
}

// CLIENT_ID que é fornecido pela DirectCall (Seu e-mail)
$client_id = "joaodasilva@minhaempresa.com.br";
// CLIENT_SECRET que é fornecido pela DirectCall (Código recebido por SMS)
$client_secret = "XXXXXXX";
// Faz a requisicao do access_token
$req = requisicaoApi(array('client_id'=&gt;$client_id, 'client_secret'=&gt;$client_secret), "request_token");
//Seta uma variavel com o access_token
$access_token = $req['access_token'];
// Enviadas via POST do nosso contato.html
$nome = $_POST['nome'];
$email = $_POST['email'];
$mensagem = $_POST['mensagem'];
// Monta a mensagem
$SMS = "Contato de: {$nome} - &lt;{$email}&gt; - {$mensagem}";
// Array com os parametros para o envio
$data = array(
'origem'=&gt;"Numero", // Seu numero que é origem
'destino'=&gt;"Numero", // E o numero de destino
'tipo'=&gt;"texto",
'access_token'=&gt;$access_token,
'texto'=&gt;$SMS
);
// realiza o envio
$req_sms = requisicaoApi($data, "sms/send");
// FIM

Por hoje é isso. Qualquer dúvida ou sugestão, envie uma mensagem para o nosso setor de suporte, vamos ter prazer em ajudar!

 

Links que complementam este post:

Onde obter um acesso grátis para testar esta API (pegue aqui o seu usuário e senha de teste).
Onde você pode contratar esta API (aqui você pode escolher um plano e contratar a solução via web).
Documentação completa sobre esta API (todos os parâmetros, códigos e endpoints da API, em ambiente Wiki).

Veja também as APPs da Directcall

Elas podem reduzir o tempo da implantação de recursos de telefonia, para o DESENVOLVEDOR.

As APPs são aplicações construídas a partir das APIs com recursos que visam facilitar a experiência do usuário, o teste grátis online para o usuário e a compra online das APIs disponibilizadas no seu software, para o usuário do seu software
– Estas APPs prometem livrar o desenvolvedor do suporte para o usuário testar e comprar online as APIs da Directcall.

Por exemplo: APP MENU
Facilita Ligação, SMS, etc., a partir dos números de telefone que constam nos relatórios e formulários de softwares em geral:

Outros links relacionados a este post que valem a pena ler:

Home – APIs da Directcall (APIs de telefonia que podem automatizar ligações, mensagens e histórico na camada back-end do seu software de vendas, suporte, gestão, calltracking, etc. Soluções personalizáveis para você customizar o seu software e otimizar seu rendimento).

Conheça as demais funcionalidades das APIs da Directcall (Permitem: Enviar SMS ou TORPEDO DE VOZ; Ligar a partir de um clique; Ligar e gravar; Gerenciar Linhas de telefone (DID); Consultar a bases de dados de portabilidade da telefonia Móvel e Fixa e etc.).

Playground Directcall (Facilita o teste das APIs da Directcall e avaliar online a linha de código que corresponde a cada funcionalidade, na linguagem de sua preferência).

APPs Directcall (Reduzem o tempo de implantação destas APIs para DESENVOLVEDORES. Facilitam a experiência do usuário final, o teste grátis e compra online das APIs disponibilizadas no seu software – No interesse de livrar o desenvolvedor de ter que prestar suporte para o entendimento e para a compra desta solução).

Outras notícias

Como configurar SMS no Zabbix, de forma simples

Posts

Olá, Hoje vamos ver como o SMS pode ajudar um administrador de redes a ficar sempre atento aos alertas [...]

Leia mais

Como ligar com um clique no PHP, em 5 minutos

Posts

Olá, Hoje vamos ver como podemos iniciar uma chamada telefônica utilizando o PHP e como consultar o extrato online [...]

Leia mais

Como ligar, gravar e ouvir uma ligação no PHP

Posts

Olá, Hoje vamos ver como podemos iniciar uma ligação telefônica (com gravação) utilizando o PHP e como ouvir uma [...]

Leia mais
X