From 198f8bb3d8d49f49176ffba8b0294ef47ee77fdb Mon Sep 17 00:00:00 2001 From: Rafael Alves Lopes Date: Wed, 27 May 2026 15:17:58 -0300 Subject: [PATCH] Adicionar Fluxos End-to-End --- Fluxos End-to-End.-.md | 96 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) create mode 100644 Fluxos End-to-End.-.md diff --git a/Fluxos End-to-End.-.md b/Fluxos End-to-End.-.md new file mode 100644 index 0000000..1fcad27 --- /dev/null +++ b/Fluxos End-to-End.-.md @@ -0,0 +1,96 @@ +# Fluxos End-to-End + +## Login LDAP/AD + +```mermaid +sequenceDiagram + participant U as Usuario + participant F as Frontend + participant B as Backend + participant AD as LDAP/AD + participant DB as PostgreSQL + + U->>F: informa usuario/senha + F->>B: POST /auth/login + B->>AD: bind LDAP + AD-->>B: autenticado + B->>DB: upsert usuario/provedor + B->>DB: consulta perfis/areas + B-->>F: token + user + F->>F: salva sessao + F->>F: redireciona por perfil +``` + +## Login Microsoft OAuth + +```mermaid +sequenceDiagram + participant U as Usuario + participant F as Frontend + participant B as Backend + participant MS as Microsoft + participant DB as PostgreSQL + + U->>F: clica login Microsoft + F->>B: GET /auth/oauth/microsoft/start + B->>MS: redireciona com state + MS->>U: autentica + MS->>B: callback code + state + B->>MS: troca code por token + B->>MS: Graph /me + B->>DB: sincroniza usuario/acesso + B-->>F: redirect com token/user +``` + +## Atendimento WhatsApp receptivo + +```mermaid +sequenceDiagram + participant C as Cliente WhatsApp + participant W as WhatsApp Web + participant B as Backend + participant DB as PostgreSQL + participant F as Frontend + participant A as Agente + + C->>W: envia mensagem + W->>B: evento message + B->>DB: consulta/cria atribuicao + B->>B: Agente Virtual classifica + B->>DB: queued por area + B->>F: socket atualiza fila + A->>F: assume atendimento + F->>B: POST /whatsapp/assign + B->>DB: status assigned + A->>F: responde + F->>B: POST /whatsapp/send + B->>W: envia mensagem +``` + +## Abertura ativa + +1. Agente/admin/supervisor abre `Abrir Atendimento`. +2. Seleciona contato ou digita numero. +3. Seleciona template aprovado. +4. Frontend chama `POST /whatsapp/start-attendance`. +5. Backend envia template. +6. Atendimento fica bloqueado para mensagem livre ate o cliente responder. +7. Quando cliente responde, `awaiting_customer_reply` e removido. + +## Transferencia + +1. Agente assume atendimento. +2. Seleciona area ou atendente. +3. Informa observacao. +4. Backend grava nova area/usuario e `transfer_note`. +5. Proximo atendente ve a observacao. +6. Observacao e limpa depois que atendimento segue. + +## Pausa do agente + +1. Agente clica pausar. +2. Frontend chama `/agent/presence/pause`. +3. Backend marca agente como `paused`. +4. Atendimentos ativos voltam para fila com reserva temporaria. +5. Ao retomar, backend tenta recuperar atendimentos ainda livres. +