Adicionar Fluxos End-to-End
parent
94bbff17a7
commit
198f8bb3d8
96
Fluxos End-to-End.-.md
Normal file
96
Fluxos End-to-End.-.md
Normal file
@ -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.
|
||||||
|
|
||||||
Loading…
Reference in New Issue
Block a user