Como enviar SMS no PHP, de forma simples

Aprenda a enviar SMS com PHP de forma simples

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, por exemplo: Você deseja receber um SMS toda vez que alguém preencher um formulário no seu site, com um resumo do que foi preenchido.




chat_ponto_branco_offline


Diferencial da API de SMS da Directcall – Entrega automático 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)





chat_ponto_branco_offline



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



chat_ponto_branco_offline

1 – Primeiro passo: 

Onde obter um acesso grátis para testar esta API (pegue neste link o seu 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 ao forma em HTML que você pode salvar como “contato.html”

<br />Fomulario de contato<br />
		<form id="form1" action="send.php" method="post" name="form1">
			<h1>Fomulário de contato</h1>

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

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

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

Pronto, nosso form em html está concluído, bem simples, agora vamos ao PHP que vai receber as informações e fazer o envido do SMS.

2 – Segundo, vamos criar o php que vai fazer o envio, vamos dividir 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 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<
	$dados = json_decode($return, true);
	return $dados;
	}
	

Agora vamos colocar a mão na massa, vou mostrar os blocos do nosso arquivo PHP e no final mostrarei 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'=>$client_id, 'client_secret'=>$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} - <{$email}> - {$mensagem}";
	// Array com os parametros para o envio
	$data = array(
	    'origem'=>"Numero", // Seu numero que é origem
	    'destino'=>"Numero", // E o numero de destino
	    'tipo'=>"texto",
	    'access_token'=>$access_token,
	    'texto'=>$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 muito simples.

    // 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'=>$client_id, 'client_secret'=>$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} - <{$email}> - {$mensagem}";
	// Array com os parametros para o envio
	$data = array(
	    'origem'=>"Numero", // Seu numero que é origem
	    'destino'=>"Numero", // E o numero de destino
	    'tipo'=>"texto",
	    'access_token'=>$access_token,
	    'texto'=>$SMS
    );
    // realiza o envio
    $req_sms = requisicaoApi($data, "sms/send");
    // FIM
    

Por hoje é isso pessoal, qualquer duvida ou sugestão comente no post, vamos ter o prazer de ajudar.

chat_ponto_branco_offline

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)

chat_ponto_branco_offline

Até a próxima!

Equipe DirectCall

chat_ponto_branco_offline

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 podem facilitar a experiencia 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… a partir dos números de telefone que constam nos relatórios e formulários de softwares em geral:

chat_ponto_branco_offline

Outros links relacionados com este post, interessante ler:

Home – APIs da Directcall (descritivo comercial desta solução e como ela pode ajudar diversas áreas de negócios)

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 preferencia)

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 )