WAHA (WhatsApp Integration)
Gerencie sessões WAHA para integração self-hosted com WhatsApp. Controle conexão, QR code, configurações de webhook e tracking de conversões Meta.
WAHA
WAHA (WhatsApp HTTP API) é a solução self-hosted para conectar o WhatsApp à NooviChat. Cada inbox WhatsApp possui uma sessão WAHA associada.
Status da Sessão
/api/v1/accounts/{account_id}/waha/{inbox_id}/statusVerifica o status da sessão WAHA de uma inbox.
curl -s "https://chat.seudominio.com/api/v1/accounts/1/waha/3/status" \
-H "api_access_token: YOUR_TOKEN" | jq .{
"status": "working",
"qr_code": null,
"config": {},
"phone_number": "+5511999887766",
"session_name": "inbox_Empresa_XYZ_abc123"
}QR Code e Pareamento
/api/v1/accounts/{account_id}/waha/{inbox_id}/refresh_qrGera um novo QR code para conectar o WhatsApp.
curl -X POST "https://chat.seudominio.com/api/v1/accounts/1/waha/3/refresh_qr" \
-H "api_access_token: YOUR_TOKEN"/api/v1/accounts/{account_id}/waha/{inbox_id}/request_pairing_codeSolicita um código de pareamento (alternativa ao QR code) para conectar o WhatsApp.
Gerenciar Conexão
/api/v1/accounts/{account_id}/waha/{inbox_id}/startInicia a sessão WAHA.
/api/v1/accounts/{account_id}/waha/{inbox_id}/stopPara a sessão WAHA.
/api/v1/accounts/{account_id}/waha/{inbox_id}/reconnectReconecta uma sessão desconectada.
/api/v1/accounts/{account_id}/waha/{inbox_id}/disconnectDesconecta a sessão do WhatsApp (mantendo a sessão WAHA).
Atenção
Desconectar requer novo escaneamento de QR code para reconectar.
Configurações
/api/v1/accounts/{account_id}/waha/{inbox_id}/settingsRetorna as configurações da sessão WAHA.
/api/v1/accounts/{account_id}/waha/{inbox_id}/settings/chatwoot_appAtualiza as configurações de integração do app Chatwoot na sessão WAHA.
Body (envolto em objeto chatwoot_app)
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
conversation_mode | string | Nao | Modo de conversa |
mark_messages_read | boolean | Nao | Marcar mensagens como lidas |
language | string | Nao | Idioma |
link_preview | boolean | Nao | Habilitar prévia de links |
add_agent_name | boolean | Nao | Adicionar nome do agente às mensagens |
skip_chats | object | Nao | Ignorar tipos de chat: { groups, status, channels } |
commands | object | Nao | Comandos: { server, queue } |
curl -X PATCH "https://chat.seudominio.com/api/v1/accounts/1/waha/3/settings/chatwoot_app" \
-H "api_access_token: YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{ "chatwoot_app": { "mark_messages_read": true } }'/api/v1/accounts/{account_id}/waha/{inbox_id}/settings/sessionAtualiza configurações da sessão (proxy, presença, store). Body envolto em objeto session.
Body (envolto em objeto session)
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
presence_auto_online | boolean | Nao | Manter presença online automática |
proxy | object | Nao | Proxy: { enabled, server, username, password } |
noweb_store | object | Nao | Armazenamento noweb: { enabled, full_sync } |
ignore | object | Nao | Ignorar: { groups, status, channels, broadcast } |
/api/v1/accounts/{account_id}/waha/{inbox_id}/settings/webhookAtualiza configurações de webhook da sessão WAHA. Body envolto em objeto webhook.
Body (envolto em objeto webhook)
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
events | array | Nao | Lista de eventos do webhook |
retry_policy | object | Nao | Política de retry: { enabled, delay_seconds, max_attempts } |
custom_headers | object | Nao | Headers HTTP customizados |
Sincronização
Força a importação de dados já existentes no WhatsApp para a inbox WAHA.
/api/v1/accounts/{account_id}/waha/{inbox_id}/pull_messagesImporta mensagens existentes do WhatsApp para a inbox.
/api/v1/accounts/{account_id}/waha/{inbox_id}/pull_contactsImporta contatos do WhatsApp para a conta.
/api/v1/accounts/{account_id}/waha/{inbox_id}/pull_chatsImporta chats/conversas existentes do WhatsApp.