> ## 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.

# Playbooks por modulo

> Guia pratico para evoluir cada modulo com seguranca: onde alterar e como validar.

## Como usar estes playbooks

Para cada modulo:

1. Faça a alteracao no backend (regra/endpoint).
2. Ajuste frontend (pagina/hook/componente).
3. Se houver integracao assíncrona, ajuste channel/filas.
4. Rode validacao manual minima antes de subir PR.

## 1) Tickets e atendimento

### Onde mexer

* Frontend:
  * `frontend/src/pages/TicketResponsiveContainer`
  * `frontend/src/hooks/useTickets`
  * `frontend/src/components/*Ticket*`
* Backend:
  * `Backend-1/src/routes/ticketRoutes.ts`
  * `Backend-1/src/controllers/TicketController.ts`
  * `Backend-1/src/services/TicketServices/*`
  * `Backend-1/src/models/Ticket.ts`
* Realtime:
  * `Backend-1/src/libs/socket.ts`

### Validacao manual minima

* abrir lista de tickets e filtrar por status/fila
* abrir ticket e enviar mensagem
* validar atualizacao em tempo real sem reload
* validar permissao de usuario (admin x user)

## 2) Contatos

### Onde mexer

* Frontend:
  * `frontend/src/pages/Contacts`
  * `frontend/src/hooks/useContacts`
* Backend:
  * `Backend-1/src/routes/contactRoutes.ts`
  * `Backend-1/src/controllers/ContactController.ts`
  * `Backend-1/src/services/ContactServices/*`
* Channel (quando integrar com canal):
  * `channel-2/src/consumers/create-or-update-contact.consumer.ts`
  * `channel-2/src/services/ContactServices/*`

### Validacao manual minima

* criar/editar contato
* importar contato (`/contacts/import`)
* validar contato refletindo em ticket/mensagem

## 3) Conexoes (WhatsApp/canais)

### Onde mexer

* Frontend:
  * `frontend/src/pages/Connections`
  * `frontend/src/pages/AllConnections`
* Backend:
  * `Backend-1/src/routes/whatsappRoutes.ts`
  * `Backend-1/src/routes/whatsappSessionRoutes.ts`
  * `Backend-1/src/services/WhatsappService/*`
* Channel:
  * `channel-2/src/services/WbotServices/*`
  * `channel-2/src/handlers/baileys/*`
  * `channel-2/src/handlers/meta/*`

### Validacao manual minima

* conectar uma sessao
* validar QR/status da conexao
* enviar e receber mensagem teste
* remover/reconectar sessao

## 4) Filas (queues) e roteamento

### Onde mexer

* Frontend:
  * `frontend/src/pages/Queues`
  * `frontend/src/pages/QueueIntegration`
* Backend:
  * `Backend-1/src/routes/queueRoutes.ts`
  * `Backend-1/src/routes/queueIntegrationRoutes.ts`
  * `Backend-1/src/services/QueueService/*`
  * `Backend-1/src/services/QueueIntegrationServices/*`

### Validacao manual minima

* criar/editar fila
* associar usuarios/filas
* testar roteamento de ticket para fila correta

## 5) Tags e Kanban

### Onde mexer

* Frontend:
  * `frontend/src/pages/Tags`
  * `frontend/src/pages/TagsKanban`
  * `frontend/src/pages/Kanban`
* Backend:
  * `Backend-1/src/routes/tagRoutes.ts`
  * `Backend-1/src/routes/ticketTagRoutes.ts`
  * `Backend-1/src/services/TagServices/*`
  * `Backend-1/src/services/TicketServices/ListTicketsServiceKanban.ts`

### Validacao manual minima

* criar/editar tag
* mover card entre lanes no kanban
* validar persistencia apos refresh

## 6) Respostas rapidas

### Onde mexer

* Frontend:
  * `frontend/src/pages/QuickMessages`
* Backend:
  * `Backend-1/src/routes/quickMessageRoutes.ts`
  * `Backend-1/src/controllers/QuickMessageController.ts`
  * `Backend-1/src/services/QuickMessageService/*`

### Validacao manual minima

* criar resposta rapida
* usar resposta no composer da conversa
* validar variaveis aplicadas corretamente

## 7) Flow Builder

### Onde mexer

* Frontend:
  * `frontend/src/pages/FlowBuilder`
  * `frontend/src/pages/FlowBuilderEditor`
  * `frontend/src/pages/FlowBuilderEditor/components/*`
* Backend:
  * `Backend-1/src/routes/flowRoutes.ts`
  * `Backend-1/src/controllers/FlowController.ts`
  * `Backend-1/src/models/Flow.ts`
  * `Backend-1/src/services/FlowBuilderServices/*`
* Channel:
  * `channel-2/src/services/flow/*`
  * `channel-2/src/producers/flow.producer.ts`

### Validacao manual minima

* criar flow com no minimo 2 nos
* publicar flow e vincular ao contexto correto
* disparar evento real e validar execucao do fluxo
* validar fallback em erro de no/condicao

## 8) Campanhas

### Onde mexer

* Frontend:
  * `frontend/src/pages/Campaigns`
  * `frontend/src/pages/CampaignReport`
  * `frontend/src/pages/ContactLists`
  * `frontend/src/pages/ContactListItems`
* Backend:
  * `Backend-1/src/routes/campaignRoutes.ts`
  * `Backend-1/src/routes/campaignSettingRoutes.ts`
  * `Backend-1/src/services/CampaignService/*`
  * `Backend-1/src/services/ContactList*/*`
* Channel:
  * `channel-2/src/handlers/campaign/*`

### Validacao manual minima

* criar lista de contatos para campanha
* agendar/disparar campanha
* acompanhar status/resultado no relatorio
* validar retry/falhas de envio

## 9) Produtos, catalogos e pedidos

### Onde mexer

* Frontend:
  * `frontend/src/pages/Products`
  * `frontend/src/pages/Catalogs`
  * `frontend/src/pages/Orders`
  * `frontend/src/pages/OrderSettings`
* Backend:
  * `Backend-1/src/routes/productRoutes.ts`
  * `Backend-1/src/routes/catalogRoutes.ts`
  * `Backend-1/src/routes/orderRoutes.ts`
  * `Backend-1/src/services/*Product*`
  * `Backend-1/src/services/*Catalog*`
  * `Backend-1/src/services/*Order*`

### Validacao manual minima

* criar produto/catalogo
* associar produto ao catalogo
* gerar pedido e validar status
* validar regras de order settings

## 10) Arquivos e storage (MinIO/S3)

### Onde mexer

* Frontend:
  * `frontend/src/pages/Files`
* Backend:
  * `Backend-1/src/routes/filesRoutes.ts`
  * `Backend-1/src/routes/minioConfigRoutes.ts`
  * `Backend-1/src/controllers/FilesController.ts`
  * `Backend-1/src/services/FileServices/*`

### Validacao manual minima

* upload de arquivo
* download/preview
* validar URL publica e permissao de acesso

## 11) Prompts e automacao textual

### Onde mexer

* Frontend:
  * `frontend/src/pages/Prompts`
* Backend:
  * `Backend-1/src/routes/promptRouter.ts`
  * `Backend-1/src/services/PromptServices/*`
* Channel:
  * `channel-2/src/services/PromptServices/*`

### Validacao manual minima

* criar prompt
* editar/ativar prompt
* usar prompt em fluxo real de mensagem

## 12) Mensageria e filas (RabbitMQ + Redis)

### Onde mexer

* Backend:
  * `Backend-1/src/bus.ts`
  * `Backend-1/src/producers/*`
  * `Backend-1/src/consumers/notification.consumer.ts`
  * `Backend-1/src/queues/*`
* Channel:
  * `channel-2/src/bus-rabbitmq/*`
  * `channel-2/src/consumers/*`
  * `channel-2/src/producers/*`
  * `channel-2/src/queues/*`

### Validacao manual minima

* validar publicacao e consumo da fila alvo
* validar comportamento com erro (retry e fallback)
* validar notificacao em tempo real no frontend

## 13) Adicionando modulo novo (template rapido)

### Backend

1. Criar `src/routes/<modulo>Routes.ts`
2. Criar controller em `src/controllers`
3. Criar services em `src/services/<Modulo>Services`
4. Registrar rota em `src/routes/index.ts`

### Frontend

1. Criar `src/pages/<Modulo>/index.js`
2. Adicionar rota em `src/routes/index.js`
3. Adicionar menu em `src/layout/MainListItems.js`
4. Criar hook em `src/hooks/use<Modulo>`

### Banco

1. Criar migration
2. Criar seed se necessario
3. Rodar migrate/seed em backend e/ou channel

## Checklist final antes de entregar

* fluxo principal do modulo funcionando
* sem quebra em permissao/perfil
* sem erro de console/frontend
* sem erro de fila/consumer no log
* documentacao do modulo atualizada
