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

GET/api/v1/accounts/{account_id}/waha/{inbox_id}/status

Verifica o status da sessão WAHA de uma inbox.

bash
curl -s "https://chat.seudominio.com/api/v1/accounts/1/waha/3/status" \
  -H "api_access_token: YOUR_TOKEN" | jq .
200Status da sessão
json
{
  "status": "working",
  "qr_code": null,
  "config": {},
  "phone_number": "+5511999887766",
  "session_name": "inbox_Empresa_XYZ_abc123"
}

QR Code e Pareamento

POST/api/v1/accounts/{account_id}/waha/{inbox_id}/refresh_qr

Gera um novo QR code para conectar o WhatsApp.

bash
curl -X POST "https://chat.seudominio.com/api/v1/accounts/1/waha/3/refresh_qr" \
  -H "api_access_token: YOUR_TOKEN"
POST/api/v1/accounts/{account_id}/waha/{inbox_id}/request_pairing_code

Solicita um código de pareamento (alternativa ao QR code) para conectar o WhatsApp.

Gerenciar Conexão

POST/api/v1/accounts/{account_id}/waha/{inbox_id}/start

Inicia a sessão WAHA.

POST/api/v1/accounts/{account_id}/waha/{inbox_id}/stop

Para a sessão WAHA.

POST/api/v1/accounts/{account_id}/waha/{inbox_id}/reconnect

Reconecta uma sessão desconectada.

POST/api/v1/accounts/{account_id}/waha/{inbox_id}/disconnect

Desconecta a sessão do WhatsApp (mantendo a sessão WAHA).

Atenção

Desconectar requer novo escaneamento de QR code para reconectar.

Configurações

GET/api/v1/accounts/{account_id}/waha/{inbox_id}/settings

Retorna as configurações da sessão WAHA.

PATCH/api/v1/accounts/{account_id}/waha/{inbox_id}/settings/chatwoot_app

Atualiza as configurações de integração do app Chatwoot na sessão WAHA.

Body (envolto em objeto chatwoot_app)

NomeTipoObrigatorioDescricao
conversation_modestringNaoModo de conversa
mark_messages_readbooleanNaoMarcar mensagens como lidas
languagestringNaoIdioma
link_previewbooleanNaoHabilitar prévia de links
add_agent_namebooleanNaoAdicionar nome do agente às mensagens
skip_chatsobjectNaoIgnorar tipos de chat: { groups, status, channels }
commandsobjectNaoComandos: { server, queue }
bash
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 } }'
PATCH/api/v1/accounts/{account_id}/waha/{inbox_id}/settings/session

Atualiza configurações da sessão (proxy, presença, store). Body envolto em objeto session.

Body (envolto em objeto session)

NomeTipoObrigatorioDescricao
presence_auto_onlinebooleanNaoManter presença online automática
proxyobjectNaoProxy: { enabled, server, username, password }
noweb_storeobjectNaoArmazenamento noweb: { enabled, full_sync }
ignoreobjectNaoIgnorar: { groups, status, channels, broadcast }
PATCH/api/v1/accounts/{account_id}/waha/{inbox_id}/settings/webhook

Atualiza configurações de webhook da sessão WAHA. Body envolto em objeto webhook.

Body (envolto em objeto webhook)

NomeTipoObrigatorioDescricao
eventsarrayNaoLista de eventos do webhook
retry_policyobjectNaoPolítica de retry: { enabled, delay_seconds, max_attempts }
custom_headersobjectNaoHeaders HTTP customizados

Sincronização

Força a importação de dados já existentes no WhatsApp para a inbox WAHA.

POST/api/v1/accounts/{account_id}/waha/{inbox_id}/pull_messages

Importa mensagens existentes do WhatsApp para a inbox.

POST/api/v1/accounts/{account_id}/waha/{inbox_id}/pull_contacts

Importa contatos do WhatsApp para a conta.

POST/api/v1/accounts/{account_id}/waha/{inbox_id}/pull_chats

Importa chats/conversas existentes do WhatsApp.