Envio de mensagem em suas aplicações Web via Waboxapp

Como todos sabemos hoje o meio de comunicação mais utilizado é o WhatsApp, tanto para envio de mensagens, fotos, vídeos links e ate mesmo áudio. Porém integra-lo em um sistema é algo pouco divulgado mas de grande valia a empresas sendo um reforço no canal de comunicação com seu cliente.

O WhatsApp Bussiness

Lançado em Janeiro de 2018 permite algumas configurações diferenciadas, como respostas automáticas ou pré configuradas, porém não é dele que vamos falar embora o utilizemos em um celular para nosso envio automático de mensagens.

O Waboxapp

É com certeza nossa grande estrela ele permite a conexão entre nosso código PHP e o celular com o WhatsApp Bussines, porém é necessário seguir um passo no próprio site WaboxApp então sem mais enrolar vamos falar sobre preços.Até 100 mensagens não existe custo após isso temos a seguinte tabela de preços.

 

tabela de preços em julho 2018
Preços do Waboxapp em Julho de 2018

O código em PHP

Um ponto a se ressaltar é que essa API não aceita o nono digito no celular e os números devem se apresentar como no formato ddi+ddd+telefone  um exemplo disso seria o numero de telefone abaixo sendo ele brasileiro de ddd 41 e telefone 98899-9999 o jeito certo de realizar este envio seria o numero de telefone chegar na API como:

+5541988999999

 

O código abaixo trata e resolve este problema:

privatefunctionTratarNumero($dados){

$retorno = false;

$tempCel = explode(” “, $dados[‘telefone’]);
$tempCel[1] = str_replace(“-“, “”, $tempCel[1]);
if(strlen($tempCel[1]) == 9) $tempCel[1] = substr($tempCel[1],1,8);
        $tempCel[0] = str_replace(“)”, “”, $tempCel[0]);
        $tempCel[0] = str_replace(“(“, “”, $tempCel[0]);
$telefone = ‘+55’.$tempCel[0] .$tempCel[1];
$retorno = $telefone
return $retorno
}

Este código realiza a integração com a API.

/*Função para o envio de mensagens via Whatsapp usando Waboxapp
* @param array|mixed
* @param $dados[‘telefone’]
* @param $dados[‘mensagem’]
* @return boolean
* @see https://www.waboxapp.com/assets/doc/waboxapp-API-v2.pdf
*/
privatefunctionenviarWhats($dados){
$retorno = false;
$telefone = $dados[‘telefone’];
$mensagem = $dados[‘mensagem’];
$token = “xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”;//o token da API
$uId = “5541xxxxxxxxx”;//numero de telefone do qual será enviada a mensagem com codigo pais e ddd
$customUid = $dados[‘uniqueId’];//identificador unico para a mensagem que será enviada (uso em caso de resposta);
$postFields = ‘token=’.$token.’&uid=’.$uId.’&to=’.$telefone.’&custom_uid=’.$customUid.’&text=’.$mensagem;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, “https://www.waboxapp.com/api/send/chat”);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_MAXREDIRS, 5);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 25);
$response = curl_exec($ch);
$retorno = curl_getinfo($ch); // Somente teste
//exibir_array($retorno);
curl_close ($ch);
$ret = json_decode($response,true);
//exibir_array($ret);
if($ret[‘success’] == ‘true’){
$retorno = true;
}
return$retorno;
/* retornos possiveis
JSON format
HTTP 200 code and “success” field when action is successfully done
HTTP 403 code and “error” field on authentication failure
HTTP 400 code and “error” field on parameters validation failure
*/
}

2 Comentários

Deixe uma resposta