Configurar Canal WABA (WhatsApp Business API)
Este guia mostra o passo a passo completo para configurar um canal WABA (WhatsApp Business API) na Ogmma, desde a obtencao das credenciais no Meta Business ate o envio da primeira mensagem.
Pre-requisitos
Antes de comecar, voce precisa ter:
- Uma conta na Ogmma API com uma API Key ativa
- Uma conta no Meta Business Suite
- Um App do Meta com o produto WhatsApp ativado
- Um numero de telefone dedicado para o WhatsApp Business (nao pode estar vinculado a uma conta WhatsApp pessoal)
Passo 1: Obter credenciais no Meta Business
1.1 Criar um App no Meta for Developers
- Acesse developers.facebook.com/apps
- Clique em "Criar App"
- Selecione o tipo "Empresa" (Business)
- Preencha o nome do app e vincule a sua conta Business
- No dashboard do app, clique em "Adicionar produto" e selecione "WhatsApp"
1.2 Obter o Phone Number ID
- No menu lateral do app, va em WhatsApp > Configuracao da API
- Na secao "De", voce vera o numero de teste ou pode adicionar seu proprio numero
- O Phone Number ID aparece logo abaixo do numero selecionado
- Copie esse valor (ex:
106540012345678)
Para producao, adicione seu proprio numero clicando em "Adicionar numero de telefone". O numero passara por verificacao via SMS ou ligacao.
1.3 Obter o Business Account ID
- No menu lateral, va em WhatsApp > Configuracao da API
- O WhatsApp Business Account ID aparece no topo da pagina
- Copie esse valor (ex:
102030405060708)
1.4 Gerar o Access Token permanente
O token temporario do painel expira em 24 horas. Para producao, crie um token permanente:
- Va em Configuracoes do App > Basico e anote o
App IDeApp Secret - No menu lateral, va em WhatsApp > Configuracao da API
- Na secao de tokens, clique em "Gerar token de acesso"
- Selecione as permissoes:
whatsapp_business_managementewhatsapp_business_messaging - Copie o token gerado (comeca com
EAABsbCS...)
Salve o token em local seguro. Ele so e exibido uma vez. Se perder, sera necessario gerar outro.
1.5 Obter o App Secret
- Va em Configuracoes do App > Basico
- Na secao "Chave Secreta do App", clique em "Mostrar"
- Copie o valor (ex:
a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6)
O App Secret e usado para validar a assinatura dos webhooks recebidos do Meta.
Passo 2: Criar o canal WABA na Ogmma
Com as 4 credenciais em maos, crie o canal via API:
curl -X POST "https://oapi.ogmma.com.br/v1/channels/waba" \
-H "Authorization: Bearer {SUA_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"name": "Atendimento WhatsApp",
"color": "#25D366",
"phoneNumberId": "106540012345678",
"businessAccountId": "102030405060708",
"accessToken": "EAABsbCS...",
"appSecret": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6"
}'
Resposta (201):
{
"data": {
"id": "6650a1b2c3d4e5f6a7b8c9d0",
"name": "Atendimento WhatsApp",
"type": "WHATSAPP_WABA",
"status": "PENDING_WEBHOOK",
"waba": {
"phoneNumberId": "106540012345678",
"businessAccountId": "102030405060708",
"webhookConfigured": false,
"verifyToken": "ogmma_vt_abc123def456"
}
}
}
O canal fica com status PENDING_WEBHOOK ate que o webhook do Meta seja configurado e verificado (Passo 3).
Passo 3: Configurar o Webhook no Meta
O webhook permite que o Meta envie eventos (mensagens recebidas, status de entrega, etc.) para a Ogmma.
3.1 Obter as informacoes do webhook
curl -X GET "https://oapi.ogmma.com.br/v1/channels/{channelId}/waba/webhook-info" \
-H "Authorization: Bearer {SUA_API_KEY}"
Resposta:
{
"data": {
"webhookUrl": "https://oapi.ogmma.com.br/v1/webhooks/meta",
"verifyToken": "ogmma_vt_abc123def456",
"webhookConfigured": false
}
}
3.2 Configurar no painel do Meta
- No painel do app, va em WhatsApp > Configuracao
- Na secao "Webhook", clique em "Editar"
- Preencha:
- URL de callback:
https://oapi.ogmma.com.br/v1/webhooks/meta - Token de verificacao: o
verifyTokenretornado no passo anterior
- URL de callback:
- Clique em "Verificar e salvar"
O Meta enviara uma requisicao GET para a URL com o token. A Ogmma validara automaticamente e retornara o challenge.
3.3 Inscrever-se nos campos do webhook
Apos a verificacao, voce precisa selecionar quais eventos receber:
-
Na mesma secao de Webhook, clique em "Gerenciar"
-
Marque os campos:
messages- Mensagens recebidas (obrigatorio)message_template_status_update- Status de templates (recomendado)
-
Clique em "Concluido"
3.4 Verificar status do canal
Apos a verificacao do webhook, o canal muda automaticamente para CONNECTED:
curl -X GET "https://oapi.ogmma.com.br/v1/channels/{channelId}" \
-H "Authorization: Bearer {SUA_API_KEY}"
{
"data": {
"id": "6650a1b2c3d4e5f6a7b8c9d0",
"status": "CONNECTED",
"type": "WHATSAPP_WABA",
"phone": "5511988887777"
}
}
Passo 4: Enviar a primeira mensagem
Com o canal CONNECTED, voce ja pode enviar mensagens.
Dentro da janela de 24 horas (mensagem livre)
Se o contato ja enviou uma mensagem nas ultimas 24 horas:
curl -X POST "https://oapi.ogmma.com.br/v1/channels/{channelId}/messages/text" \
-H "Authorization: Bearer {SUA_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"to": "5511999998888",
"text": "Ola! Como posso ajudar?"
}'
Fora da janela de 24 horas (template obrigatorio)
Para iniciar uma conversa, use um template aprovado:
curl -X POST "https://oapi.ogmma.com.br/v1/channels/{channelId}/messages/template" \
-H "Authorization: Bearer {SUA_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"to": "5511999998888",
"templateId": "ID_DO_TEMPLATE",
"variables": {
"1": "Joao"
}
}'
O WhatsApp Business API so permite mensagens livres (texto, imagem, etc.) dentro da janela de 24 horas apos a ultima mensagem do contato. Fora dessa janela, apenas templates aprovados podem ser enviados.
Passo 5: Receber mensagens
As mensagens recebidas sao entregues automaticamente via webhook. Para recebe-las na sua aplicacao, registre um webhook na Ogmma:
curl -X POST "https://oapi.ogmma.com.br/v1/webhooks" \
-H "Authorization: Bearer {SUA_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"url": "https://sua-aplicacao.com/webhook",
"events": ["message.received", "message.sent", "message.delivered", "message.read"],
"secret": "seu_secret_para_validacao_hmac"
}'
Consulte a secao Webhooks para detalhes sobre validacao HMAC e tipos de eventos.
Resumo das credenciais
| Credencial | Onde encontrar | Exemplo |
|---|---|---|
| Phone Number ID | WhatsApp > Configuracao da API > secao "De" | 106540012345678 |
| Business Account ID | WhatsApp > Configuracao da API > topo da pagina | 102030405060708 |
| Access Token | WhatsApp > Configuracao da API > Gerar token | EAABsbCS... |
| App Secret | Configuracoes do App > Basico > Chave Secreta | a1b2c3d4e5... |
Troubleshooting
Webhook nao e verificado
- Verifique se a URL esta correta:
https://oapi.ogmma.com.br/v1/webhooks/meta - Verifique se o
verifyTokenesta exatamente igual ao retornado por/waba/webhook-info - Certifique-se que o app do Meta esta no modo Live (nao Development)
Canal fica em PENDING_WEBHOOK
- O webhook do Meta ainda nao foi configurado ou a verificacao falhou
- Repita o Passo 3 e verifique os logs no painel do Meta
Mensagens nao sao entregues
- Verifique se o canal esta
CONNECTED - Verifique se o Access Token nao expirou
- Para mensagens fora da janela de 24h, use templates
- Verifique o Quality Rating do numero no Meta Business
Access Token expirou
Atualize o token via API:
curl -X PATCH "https://oapi.ogmma.com.br/v1/channels/{channelId}/waba/credentials" \
-H "Authorization: Bearer {SUA_API_KEY}" \
-H "Content-Type: application/json" \
-d '{
"accessToken": "NOVO_TOKEN_AQUI"
}'