WAHA (WhatsApp Integration)

Gerencie sessoes WAHA para integracao self-hosted com WhatsApp. Controle conexao, QR code, configuracoes de webhook e tracking de conversoes Meta.

WAHA

WAHA (WhatsApp HTTP API) e a solucao self-hosted para conectar o WhatsApp à NooviChat. Cada inbox WhatsApp possui uma sessao WAHA associada.

Status da Sessao

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

Verifica o status da sessao 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 sessao
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 codigo de pareamento (alternativa ao QR code) para conectar o WhatsApp.

Gerenciar Conexao

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

Inicia a sessao WAHA.

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

Para a sessao WAHA.

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

Reconecta uma sessao desconectada.

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

Desconecta a sessao do WhatsApp (mantendo a sessao WAHA).

Atencao

Desconectar requer novo escaneamento de QR code para reconectar.

Configuracoes

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

Retorna as configuracoes da sessao WAHA.

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

Atualiza as configuracoes de integracao do app Chatwoot na sessao WAHA.

Body (envolto em objeto chatwoot_app)

NomeTipoObrigatorioDescricao
conversation_modestringNaoModo de conversa
mark_messages_readbooleanNaoMarcar mensagens como lidas
languagestringNaoIdioma
link_previewbooleanNaoHabilitar previa de links
add_agent_namebooleanNaoAdicionar nome do agente as 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 configuracoes da sessao (proxy, presenca, store). Body envolto em objeto session.

Body (envolto em objeto session)

NomeTipoObrigatorioDescricao
presence_auto_onlinebooleanNaoManter presenca online automatica
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 configuracoes de webhook da sessao WAHA. Body envolto em objeto webhook.

Body (envolto em objeto webhook)

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

Sincronizacao

Forca a importacao de dados ja 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.