O que é a API Oficial do WhatsApp Business?
A API Oficial do WhatsApp Business é uma solução robusta desenvolvida pela Meta (antigo Facebook) para permitir que empresas se comuniquem de forma automatizada, segura e escalável com seus clientes por meio do WhatsApp. Ela é voltada para empresas médias e grandes que precisam de integração com sistemas internos (CRM, ERP, Chatbots, etc.).
Essa API não possui interface gráfica própria: sua utilização é feita exclusivamente através de chamadas HTTP e integração via Webhooks. Para facilitar sua adoção, foram criados módulos práticos que ajudam a entender e aplicar os principais recursos da API.
Veja abaixo a explicação técnica para alguns endpoints.
API Oficial Envio de Mensagem Simples
API: Oficial
Envia uma mensagem de texto pela api oficial, estando dentro da janela de 24h aberta.
Verifique aqui os Pré-Requisitos para utilizar APIs
Visão Geral
Esta API permite o envio de mensagens oficiais para um número de telefone utilizando o canal homologado (conta verificada). Este recurso é essencial para garantir entregabilidade e conformidade com as políticas de mensageria (como no WhatsApp Business API).
📂 Código PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.gpconnect.com.br/api/messages/sendOfficialData',
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": "5511999999999",
"text": "Olá, tudo bem?"
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'Authorization: Bearer {seutokenaqui}' //Token cadastrado na conexão
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
📘 Detalhamento Técnico
1. Endpoint
https://api.gpconnect.com.br/api/messages/sendOfficialData
2. Método HTTP
POST
3. Cabeçalhos (Headers)
4. Corpo da Requisição (JSON)
json
CopiarEditar
{
"number": "5511999999999",
"text": "Olá, tudo bem?"
}
Descrição dos Campos
5. Exemplo de Resposta (JSON)
{
"response": {
"from": "9aa5ed74-6d9c-4292-b44e-7f8ee2bfa022",
"to": "5511989091838",
"contents": "{\"type\":\"text\",\"text\":\"Teste\"}",
"id": "ab019db2-4172-4eea-910c-d88fdd64f386",
"direction": "OUT"
}
}
📌API Oficial Template sem variável
API: Oficial
Envia uma mensagem template SEM variável pela api oficial, estando previamente aprovada.
Visão Geral
Este endpoint permite o envio de mensagens oficiais padronizadas (chamadas de "templates") para números de WhatsApp através de um canal verificado. Ele é ideal para notificações automáticas, como confirmações, alertas ou comunicados com conteúdo previamente aprovado pelo provedor.
📂 Código PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://api.gpconnect.com.br/api/messages/sendOfficial',
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": "5511999999999",
"name": "vars_001", // nome da template
"language": "pt_BR"
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'Authorization: Bearer {seutokenaqui}' //Token cadastrado na conexão
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
📘 Detalhamento Técnico
1. Endpoint
https://api.gpconnect.com.br/api/messages/sendOfficial
2. Método HTTP
POST
3. Cabeçalhos (Headers)
4. Corpo da Requisição (JSON)
{
"number": "5511999999999",
"name": "vars_001",
"language": "pt_BR"
}
Descrição dos Campos
API Oficial Template com variável
API: Oficial
Envia uma mensagem template COM variável pela api oficial, estando previamente aprovada.
Visão Geral
Este endpoint permite o envio de mensagens oficiais via template com variáveis dinâmicas através do WhatsApp oficial. É ideal para comunicações personalizadas e automatizadas, utilizando templates aprovados pela Meta (WhatsApp Business).
📂 Código PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://beta-api.whaticket-saas.com/api/messages/sendOfficial',
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": "5511989091838",
"name": "vars_001", // nome da template
"language": "pt_BR",
"template": [
{
"type": "text",
"text": "valor 1" // valor variavel 1
},
{
"type": "text",
"text": "Valor 2" // valor variavel 2
},
{
"type": "text",
"text": "Valor 3" // valor variavel 3
}
]
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'Authorization: Bearer seutoken'
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
📘 Detalhamento Técnico
1. Endpoint
https://beta-api.whaticket-saas.com/api/messages/sendOfficial
2. Método HTTP
POST
3. Cabeçalhos (Headers)
4. Corpo da Requisição (JSON)
{
"number": "5511989091838",
"name": "vars_001",
"language": "pt_BR",
"template": [
{
"type": "text",
"text": "valor 1"
},
{
"type": "text",
"text": "Valor 2"
},
{
"type": "text",
"text": "Valor 3"
}
]
}
Descrição dos Campos
📌 API Oficial Template Customizado
API: Oficial
Envia uma mensagem, template customizado pela api oficial, estando previamente aprovada.
Visão Geral
Este endpoint permite o envio de uma mensagem oficial (HSM) com:
Cabeçalho contendo imagem;
Botões de resposta rápida (Quick Reply) com payloads personalizados.
Ideal para campanhas com maior engajamento e interatividade no WhatsApp Oficial.
📂 Código PHP
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://{BACKEND_URL}/api/messages/sendOfficialCustom',
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": "5511999999999",
"name": "vars_001",
"language": "pt_BR",
"template": [
{
"type": "header",
"parameters": [
{
"type": "image",
"image": {
"link": "https://URL/wp-content/uploads/2024/03/front-view-woman-holding-smartphone-removebg-preview.png"
}
}
]
},
{
"type": "button",
"sub_type": "quick_reply",
"index": "0",
"parameters": [
{
"type": "payload",
"payload": "Descadastrar"
}
]
},
{
"type": "button",
"sub_type": "quick_reply",
"index": "1",
"parameters": [
{
"type": "payload",
"payload": "Alterar Contato"
}
]
}
]
}',
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json',
'Authorization: Bearer {seutokenaqui}' //Token cadastrado na conexão
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;
📘 Detalhamento Técnico
🔗 Endpoint
POST https://{BACKEND_URL}/api/messages/sendOfficialCustom
🔑 Headers
🧾 Corpo da Requisição (JSON)
Campos Principais
Estrutura do Array template[]
Header com Imagem
{
"type": "header",
"parameters": [
{
"type": "image",
"image": {
"link": "https://URL.com/imagem.jpg"
}
}
]
}
Botão Quick Reply (Descadastrar)
{
"type": "button",
"sub_type": "quick_reply",
"index": "0",
"parameters": [
{
"type": "payload",
"payload": "Descadastrar"
}
]
}
Botão Quick Reply (Alterar Contato)
{
"type": "button",
"sub_type": "quick_reply",
"index": "1",
"parameters": [
{
"type": "payload",
"payload": "Alterar Contato"
}
]
}
⚠️ A ordem e os índices dos botões devem seguir a ordem configurada no template oficial aprovado pela Meta.