Page:
Fluxos End-to-End
1
Fluxos End-to-End
Rafael Alves Lopes edited this page 2026-05-27 15:17:58 -03:00
Fluxos End-to-End
Login LDAP/AD
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
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
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
- Agente/admin/supervisor abre
Abrir Atendimento. - Seleciona contato ou digita numero.
- Seleciona template aprovado.
- Frontend chama
POST /whatsapp/start-attendance. - Backend envia template.
- Atendimento fica bloqueado para mensagem livre ate o cliente responder.
- Quando cliente responde,
awaiting_customer_replye removido.
Transferencia
- Agente assume atendimento.
- Seleciona area ou atendente.
- Informa observacao.
- Backend grava nova area/usuario e
transfer_note. - Proximo atendente ve a observacao.
- Observacao e limpa depois que atendimento segue.
Pausa do agente
- Agente clica pausar.
- Frontend chama
/agent/presence/pause. - Backend marca agente como
paused. - Atendimentos ativos voltam para fila com reserva temporaria.
- Ao retomar, backend tenta recuperar atendimentos ainda livres.