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
/api/v1/accounts/{account_id}/waha/{inbox_id}/statusVerifica o status da sessao 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 codigo de pareamento (alternativa ao QR code) para conectar o WhatsApp.
Gerenciar Conexao
/api/v1/accounts/{account_id}/waha/{inbox_id}/startInicia a sessao WAHA.
/api/v1/accounts/{account_id}/waha/{inbox_id}/stopPara a sessao WAHA.
/api/v1/accounts/{account_id}/waha/{inbox_id}/reconnectReconecta uma sessao desconectada.
/api/v1/accounts/{account_id}/waha/{inbox_id}/disconnectDesconecta a sessao do WhatsApp (mantendo a sessao WAHA).
Atencao
Desconectar requer novo escaneamento de QR code para reconectar.
Configuracoes
/api/v1/accounts/{account_id}/waha/{inbox_id}/settingsRetorna as configuracoes da sessao WAHA.
/api/v1/accounts/{account_id}/waha/{inbox_id}/settings/chatwoot_appAtualiza as configuracoes de integracao do app Chatwoot na sessao 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 previa de links |
add_agent_name | boolean | Nao | Adicionar nome do agente as 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 configuracoes da sessao (proxy, presenca, store). Body envolto em objeto session.
Body (envolto em objeto session)
| Nome | Tipo | Obrigatorio | Descricao |
|---|---|---|---|
presence_auto_online | boolean | Nao | Manter presenca online automatica |
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 configuracoes de webhook da sessao 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 | Politica de retry: { enabled, delay_seconds, max_attempts } |
custom_headers | object | Nao | Headers HTTP customizados |
Sincronizacao
Forca a importacao de dados ja 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.