Documentation Index
Fetch the complete documentation index at: https://docs.pingoai.com.br/llms.txt
Use this file to discover all available pages before exploring further.
Visao geral
No ExclusiveDay, os canais se conectam por 3 caminhos principais:- API oficial de mensagens (HTTP com token).
- Baileys (WhatsApp Web via event bus e handlers no channel).
- Meta (Facebook/Instagram) via webhook e handlers do channel.
1) API oficial (HTTP)
Base no backend:- Prefixo:
/api/messages - Arquivo de rotas:
Backend-1/src/routes/apiRoutes.ts - Registro no index:
Backend-1/src/routes/index.tscomroutes.use("/api/messages", apiRoutes)
Rotas principais
POST /api/messages/sendPOST /api/messages/send-buttonPOST /api/messages/send-listPOST /api/messages/send/linkImagePOST /api/messages/checkNumber
Autenticacao
- Middleware:
tokenAuth - Envio com token/bearer conforme padrao interno da API.
Fluxo de envio (API oficial)
- Cliente externo chama
POST /api/messages/send. - Backend valida token e encaminha para
ApiController. - Mensagem entra no fluxo de envio interno.
- Backend publica comando/evento para o channel quando necessario.
- Channel executa envio no conector do canal (Baileys ou Meta).
Fluxo de recebimento
- Recebimento depende do canal de origem (webhook/meta ou sessao/baileys).
- Evento recebido passa por channel -> backend -> socket para frontend.
2) Baileys (WhatsApp Web)
Componentes principais
- Handler de envio:
channel-2/src/handlers/baileys/baileys-send-message.handler.ts - Comandos/eventos Baileys:
channel-2/src/handlers/baileys/commandseevents - Sessao WhatsApp:
channel-2/src/baileys/* - Event bus do channel:
channel-2/src/bus-rabbitmq/bus-rabbitmq.ts
Como envia
- Backend gera comando de envio no fluxo de mensagem.
- Command cai na fila do event bus RabbitMQ.
BaileysSendMessageHandlerprocessa:- valida
whatsappId - valida sessao conectada
- chama
SendWhatsAppMessage
- valida
- Publica evento
BaileysMessageSent.
Como recebe
- Eventos recebidos do WhatsApp passam pelos listeners/handlers do channel.
- O processamento cria/atualiza ticket/mensagem.
- Backend publica no Socket.IO para atualizar o frontend em tempo real.
3) Facebook e Instagram (Meta)
No backend, o webhook da Meta entra pelas rotas:GET /POST /GET /webhookPOST /webhook
Backend-1/src/routes/webHookRoutes.tsRegistro em
routes/index.ts:
routes.use("/", webHookRoutes)routes.use("/webhook", webHookRoutes)
Como envia (Meta)
- Handler:
channel-2/src/handlers/meta/meta-send-message.handler.ts - Fluxo:
- comando
MetaSendMessage - handler valida
whatsappIde dados do ticket - chama
SendMetaMessage - publica
MetaMessageSent
- comando
Como recebe (Meta webhook)
- Meta chama webhook no backend (
/ou/webhook). WebHookControllerprocessa payload.- Backend/channel executam roteamento da mensagem.
- Ticket e mensagens sao atualizados.
- Frontend recebe evento por socket.
4) WhatsApp Microservice webhook
Existe uma rota dedicada:POST /api/whatsapp-microservice/webhook- Arquivo:
Backend-1/src/routes/whatsappMicroserviceRoutes.ts
5) Rotas de operacao relacionadas a conexao
Arquivo:Backend-1/src/routes/whatsappRoutes.ts
GET /whatsapp/POST /whatsapp/POST /facebook/PUT /whatsapp/:whatsappIdDELETE /whatsapp/:whatsappIdPOST /whatsapp-restart/
6) Exemplo pratico por tipo de integracao
Exemplo A - API oficial (envio texto)
- Chamada:
POST /api/messages/send - Resultado esperado: mensagem enfileirada/processada e refletida no ticket.
Exemplo B - Baileys (envio por sessao conectada)
- Acao: enviar mensagem em ticket conectado no WhatsApp Web.
- Resultado esperado: handler Baileys processa e publica evento de envio concluido.
Exemplo C - Facebook/Instagram (recebimento)
- Acao: mensagem entra pelo webhook Meta.
- Resultado esperado: ticket atualizado + evento em tempo real no frontend.
7) Checklist de validacao por canal
API oficial
- token valido no endpoint
- retorno HTTP coerente
- mensagem persistida no ticket
Baileys
- sessao conectada
- envio concluido sem erro de sessao
- evento em realtime no frontend
Facebook/Instagram
- webhook respondendo 200
- payload processado sem erro
- criacao/atualizacao de ticket e mensagem