Skip to content

Instantly share code, notes, and snippets.

@jhowbhz
Last active February 9, 2025 04:58
Show Gist options
  • Save jhowbhz/266f632b601bc9bd93eed6b61f6f14cf to your computer and use it in GitHub Desktop.
Save jhowbhz/266f632b601bc9bd93eed6b61f6f14cf to your computer and use it in GitHub Desktop.
Exemplo simples em PHP de como enviar mensagens de texto v2

Vejam abaixo um exemplo simples de como enviar mensagens de texto utilizando a APIBRASIL.

Para obter o bearer token você deve fazer login

https://gateway.apibrasil.io/api/v2/login

sendtext.php

<?php
$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => 'https://cluster.apigratis.com/api/v2/whatsapp/sendText',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => '',
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS =>'{
    "number": "5531994359434",
    "text": "Muito top!"
}',
  CURLOPT_HTTPHEADER => array(
    'Content-Type: application/json',
    'Authorization: Bearer OBTENHA_O_SEU_TOKEN',
    'DeviceToken: OBTENHA_O_SEU_DEVICE_TOKEN_NO_PAINEL'
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Lista com mais exemplos:

https://github.com/APIBrasil/apigratis-exemplos

@denisferraz
Copy link

Bom dia Jhow, tudo bem?

A mensagem esta sendo enviada 2x

@DinhoNunesLC
Copy link

Já eu não consegui enviar nenhuma, da sempre essa caca aqui!

{
	"message": "Verifique os dados enviados e tente novamente",
	"url": "https:\/\/cluster.apigratis.com\/api\/v1\/whatsapp\/sendText",
	"method": "POST",
	"body": {
		"number": "5599984391782",
		"text": "porra bicho, que foda!"
	}
}

@MarcosJRZ
Copy link

Já eu não consegui enviar nenhuma, da sempre essa caca aqui!

{
	"message": "Verifique os dados enviados e tente novamente",
	"url": "https:\/\/cluster.apigratis.com\/api\/v1\/whatsapp\/sendText",
	"method": "POST",
	"body": {
		"number": "5599984391782",
		"text": "porra bicho, que foda!"
	}
}

coloca o código que vc ta usando pra fazer a requisição, fica mais fácil de ajudar.

@jhowbhz
Copy link
Author

jhowbhz commented Aug 18, 2023

Bom dia Jhow, tudo bem?

A mensagem esta sendo enviada 2x

Opa... Boa noite mestre, tudo bem?

Me mostra como está usando? Pois isso é apenas um exemplo de request usando CURL com PHP.

Abs

@jhowbhz
Copy link
Author

jhowbhz commented Aug 18, 2023

Já eu não consegui enviar nenhuma, da sempre essa caca aqui!

{
	"message": "Verifique os dados enviados e tente novamente",
	"url": "https:\/\/cluster.apigratis.com\/api\/v1\/whatsapp\/sendText",
	"method": "POST",
	"body": {
		"number": "5599984391782",
		"text": "porra bicho, que foda!"
	}
}

Opa mestre, tudo bem?

Então, provavelmente você está passando algum parametro errado, geralmente o pessoal erra muito no tipo de TOKEN.

'Authorization: Bearer ..........'

Mas, mostra pra gente como você está passando as credenciais;

Abs

@MarcosJRZ
Copy link

MarcosJRZ commented Aug 18, 2023

@jhowbhz o meu também está duplicando, segue o código:

inclusive o meu só duplica pelo código PHP, no POSTMAN o envio é feito corretemanete com os mesmos tokens.

public function enviar_mensagem($telefone, $mensagem)
{
    $secret_key = env('WHATSAPP_SECRET_KEY');
    $bearer = env('WHATSAPP_BEARER');
    $public_token = env('WHATSAPP_PUBLIC_TOKEN');
    $device_token = env('WHATSAPP_DEVICE_TOKEN');
    $url_api = 'https://cluster.apigratis.com/api/v1/whatsapp/sendText';

    $curl = curl_init();

    curl_setopt_array($curl, array(
        CURLOPT_URL => $url_api,
        CURLOPT_RETURNTRANSFER => true,
        CURLOPT_ENCODING => '',
        CURLOPT_MAXREDIRS => 10,
        CURLOPT_TIMEOUT => 0,
        CURLOPT_FOLLOWLOCATION => true,
        CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
        CURLOPT_CUSTOMREQUEST => 'POST',
        CURLOPT_POSTFIELDS => json_encode(['number' => $telefone, 'text' => $mensagem]),
        CURLOPT_HTTPHEADER => array(
            'Content-Type: application/json',
            'SecretKey: ' . $secret_key,
            'PublicToken: ' . $public_token,
            'DeviceToken: ' . $device_token,
            'Authorization: Bearer ' . $bearer,
            'Connection : keep-alive'
        ),
    ));

    $response = curl_exec($curl);

    curl_close($curl);

    return $response !== FALSE ? json_decode($response) : curl_error($curl);
}

@andresdiniz
Copy link

alguem me ajuda? Como quebrar a linha?

@MarcosJRZ
Copy link

alguem me ajuda? Como quebrar a linha?

Já tentou com \n ?

@andresdiniz
Copy link

andresdiniz commented Sep 5, 2023 via email

@iagotrindade
Copy link

Opa meu amigo, é possível enviar uma mesma mensagem para mais de um número na mesma requisição?

@jhowbhz
Copy link
Author

jhowbhz commented Sep 6, 2023

Opa meu amigo, é possível enviar uma mesma mensagem para mais de um número na mesma requisição?

Não, apenas 1 por vez

@jhowbhz
Copy link
Author

jhowbhz commented Sep 6, 2023

Exemplo atualizado para v2 \o/

@MPiresIndentar
Copy link

401 - {"error":true,"type":"whatsapp","message":"N\u00e3o foi poss\u00edvel encontrar a a\u00e7\u00e3o dados no servidor SRV03 - ZAPDEV verifique a documenta\u00e7\u00e3o ou seu plano contratado.","response":null}
Não entendi, o plano libera a api era para funcionar...

@drmanolo
Copy link

Nao estou conseguindo enviar nenhuma msg...
Alguem ajuda.

{"error":true,"message":"Requisição processada com sucesso, porém a API retornou um erro","response":{"response":false},"device":{"status":"inChat","device_token":"f81177c3-a5dc-4692-b8........","device_name":"adddd"},"time":0.62}

`
$curl = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL => 'https://cluster.apigratis.com/api/v2/whatsapp/sendText',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => '',
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 0,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_POSTFIELDS => '{
"number": "554784192225",
"text": "oi"
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1N.....',
'DeviceToken: f81177c3-a5dc-46......'
),
));

$response = curl_exec($curl);
`

@Pdmotta
Copy link

Pdmotta commented Aug 15, 2024

Prezados , com a mensagem de texto puro(api/v2/whatsapp/sendText) tomei erro com acentos , como corrigir ?

@MarcosJRZ
Copy link

Depois de passar muito problema com o "api/v2/whatsapp" eu desisti dele e passei a usar o "api/v2/evolution", com ele não tive problemas ainda em nenhum aspecto de envios.

Só deve se lembrar de que o evolution tem a própria documentação, mas a finalidade é igual.

@Pdmotta
Copy link

Pdmotta commented Aug 15, 2024

Depois de passar muito problema com o "api/v2/whatsapp" eu desisti dele e passei a usar o "api/v2/evolution", com ele não tive problemas ainda em nenhum aspecto de envios.

Só deve se lembrar de que o evolution tem a própria documentação, mas a finalidade é igual.

vlw, vou pesquisar

@jhowbhz
Copy link
Author

jhowbhz commented Feb 9, 2025

Lista de API's foram atualizadas, transforme hoje mesmo seu software em uma solução mais inteligente!

✅ API WhatsApp
✅ API CPF/CNPJ
✅ API Dados de Veículos
✅ API Proprietários de Veículos
✅ API Placa FIPE
✅ API Geolocalização
✅ API Rastreio
✅ API CNPJ por CNAE/CEP/UF
✅ API Calcula Distância CEP
✅ API Dados do Clima
✅ API Tradução
✅ API SMS
✅ API Loterias Caixa
✅ API Imagem Decoder
✅ API IP Database
✅ API CEP + IBGE

🎉 Nova API: API Chip Virtual para ativação de serviços como Whatsapp, Telegram, Linkedin e outros...

  • de 50 serviços de API's em um único local!

👉 Comece agora:
https://app.apibrasil.io/auth/register?ref=41eae

📚 Documentação postman
https://doc.apibrasil.io

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment