APIs e Microsserviços

24 abr, 2017

Usando a API da TotalVoice para enviar SMS em PHP

Publicidade

Imagine a situação: você está no conforto da sua casa (ou no conforto do seu pub favorito) e algo importante acontece em seu site/produto/projeto. Algo como um erro no banco de dados ou um cliente que acaba de fazer uma compra de vários dígitos.

Em ambos os exemplos seria bem útil você receber algum tipo de aviso sobre o ocorrido, seja para resolver o problema ou para pagar uma nova rodada de cerveja no segundo caso.

Uma forma rápida de realizar isso é enviando um SMS para o responsável no momento que o evento ocorreu. Uma das formas mais simples de realizar isso é usar uma API, como a fornecida pelos meus amigos da TotalVoice.

A TotalVoice é uma startup de Santa Catarina e que está recebendo destaque no mercado. A API deles é bem fácil de entender e eles têm um exemplo de uso em PHP, no Github. Mas fica aqui a sugestão para a equipe da TotalVoice: o exemplo oficial é bem “old school”, então, fiz uma pesquisa no Packagist e encontrei um repositório extra-oficial, que tem uma versão mais “moderna”.

O primeiro passo é criar uma conta no site, colocar alguns reais em créditos e pegar o seu token de acesso para a API.

Para começar a testar sem tirar o escorpião do bolso, você pode enviar um e-mail para “sucesso@totalvoice.com.br”, informando sua conta e solicitando um crédito bônus de R$ 5,00.

Com essa informação basta instalar o pacote usando:

php composer.phar require minerva-framework/totalvoice-api

E criar um código similar a este:

<?php 

require 'vendor/autoload.php'; 

use Minerva\TotalVoice\TotalVoice; 
use Minerva\TotalVoice\SMS\SMS; 


$sms = new SMS(); 
$sms->setNumber(47999996666); 
$sms->setText("Venda bilionária feita! Pagar mais cervejas!!"); 

TotalVoice::$token = 'SEU_TOKEN'; 
$response = TotalVoice::sendSms($sms); 
var_dump($response->getContent());

Lendo a documentação da API, é possível ver que o envio de SMS é só uma das funcionalidades disponíveis. Fiquei particularmente interessado no recurso de Webhooks para poder controlar o status das ligações telefônicas e SMSs de forma automática. Dá para criar soluções interessantes com isso.

Bom, fica aqui a dica de uma solução nacional e fácil de usar que pode ser bem útil em vários cenários além dos que eu comentei aqui.