57 lines
1.8 KiB
Markdown
57 lines
1.8 KiB
Markdown
|
|
# Fluxo Operacional
|
||
|
|
|
||
|
|
## 1. Fluxo do ciclo (`main`)
|
||
|
|
|
||
|
|
1. `processErrorController`
|
||
|
|
2. `processTicketsController`
|
||
|
|
3. `processCommentsController`
|
||
|
|
4. `processGlpiClosureController` (se `ENABLE_GLPI_CLOSE_CRON=true`)
|
||
|
|
5. `processStatusAndClosureController` apenas se `ENABLE_STATUS_SYNC=true`
|
||
|
|
|
||
|
|
## 2. Fluxo SN -> GLPI
|
||
|
|
|
||
|
|
1. Coleta incidentes/requisicoes no SN por watermark.
|
||
|
|
2. UPSERT em `tickets_sn`.
|
||
|
|
3. Cria/atualiza `ticket_sync` com estados iniciais.
|
||
|
|
4. Cria ticket no GLPI quando `pending_check`.
|
||
|
|
5. Grava `glpi_ticket_id` em `ticket_sync`.
|
||
|
|
6. Atualiza campo "Ticket Externo" no SN com ID GLPI.
|
||
|
|
7. Se falhar atualizar "Ticket Externo", agenda retry em `ticket_updates`.
|
||
|
|
|
||
|
|
## 3. Fluxo de comentarios/tasks
|
||
|
|
|
||
|
|
### 3.1 SN -> GLPI
|
||
|
|
|
||
|
|
1. Busca `comments` e `work_notes` no SN.
|
||
|
|
2. Persiste em `ticket_updates` (idempotente por `source_id`).
|
||
|
|
3. Envia:
|
||
|
|
- `comment` -> followup GLPI
|
||
|
|
- `task` -> task GLPI
|
||
|
|
|
||
|
|
### 3.2 GLPI -> SN
|
||
|
|
|
||
|
|
1. Busca followups GLPI.
|
||
|
|
2. Sanitiza conteudo HTML/imagens.
|
||
|
|
3. Envia comentario para SN evitando duplicidade.
|
||
|
|
4. Atualiza `destiny_id` para rastrear espelhamento.
|
||
|
|
|
||
|
|
## 4. Resolucao e fechamento GLPI -> SN (monitor cron)
|
||
|
|
|
||
|
|
1. Monitor consulta tickets ativos no `ticket_sync`.
|
||
|
|
2. Busca status real no GLPI.
|
||
|
|
3. Se status GLPI = `5`:
|
||
|
|
- busca nota de solucao
|
||
|
|
- se SN estiver em espera, move para em atendimento
|
||
|
|
- resolve SN
|
||
|
|
- marca `ticket_sync` como `solved/solved`
|
||
|
|
4. Se status GLPI = `6`:
|
||
|
|
- adiciona comentario no SN:
|
||
|
|
- "Chamado encerrado definitivamente. Reabertura deste chamado nao sera atendida. Caso necessario, abra um novo chamado."
|
||
|
|
- nao altera status do chamado no SN
|
||
|
|
- marca `ticket_sync` como `closed/closed` para retirar do monitoramento
|
||
|
|
|
||
|
|
## 5. Reabertura
|
||
|
|
|
||
|
|
1. Reabertura automatica permitida apenas para tickets em GLPI `5`.
|
||
|
|
2. Se GLPI `6`, reabertura automatica bloqueada.
|