Projeto do Agent Contas ORACLE
This commit is contained in:
140
workflows/vas_estrategico.v3.yaml
Normal file
140
workflows/vas_estrategico.v3.yaml
Normal file
@@ -0,0 +1,140 @@
|
||||
name: vas_estrategico
|
||||
version: 3
|
||||
start: preparar
|
||||
|
||||
nodes:
|
||||
- id: preparar
|
||||
action: preparar_vas_estrategico
|
||||
input:
|
||||
items: $.input.items
|
||||
linhas: $.input.linhas
|
||||
pause:
|
||||
enabled: true
|
||||
when:
|
||||
eq: [$.output.await_user_input, true]
|
||||
return_from: $.output.mensagem
|
||||
expected_input:
|
||||
key: resposta_usuario
|
||||
allowed_values: ["SIM", "NAO", "OUTRO"]
|
||||
normalize: upper_strip
|
||||
resume_from: decisao
|
||||
|
||||
- id: resposta_bundle
|
||||
action: montar_resposta_texto
|
||||
input:
|
||||
dados:
|
||||
texto_usuario: $.vars.preparar.mensagem_bundle_fechamento
|
||||
|
||||
- id: decisao
|
||||
action: no_op
|
||||
input: {}
|
||||
|
||||
- id: resposta_sim
|
||||
action: montar_resposta_texto
|
||||
input:
|
||||
dados:
|
||||
texto_usuario: $.vars.preparar.mensagem_pos_aceite
|
||||
|
||||
- id: explicar_cancelamento
|
||||
action: montar_explicacao_cancelamento_vas_estrategico
|
||||
input:
|
||||
linhas: $.vars.preparar.linhas
|
||||
orientacoes_cancelamento: $.input.orientacoes_cancelamento
|
||||
|
||||
- id: registrar_sim
|
||||
action: registrar_atendimento_vas_estrategico
|
||||
input:
|
||||
linhas: $.vars.preparar.linhas
|
||||
mensagem_base: $.vars.resposta_sim.mensagem
|
||||
request_status: "Fechado"
|
||||
status: "CLOSED"
|
||||
|
||||
- id: registrar_nao
|
||||
action: registrar_atendimento_vas_estrategico
|
||||
input:
|
||||
linhas: $.vars.preparar.linhas
|
||||
mensagem_base: $.vars.explicar_cancelamento.mensagem
|
||||
request_status: "Fechado"
|
||||
status: "CLOSED"
|
||||
|
||||
- id: registrar_bundle
|
||||
action: registrar_atendimento_vas_estrategico
|
||||
input:
|
||||
linhas: $.vars.preparar.linhas
|
||||
mensagem_base: $.vars.resposta_bundle.mensagem
|
||||
request_status: "Fechado"
|
||||
status: "CLOSED"
|
||||
|
||||
- id: registrar_outro
|
||||
action: registrar_atendimento_vas_estrategico
|
||||
input:
|
||||
linhas: $.vars.preparar.linhas
|
||||
mensagem_base: "Atendimento encerrado sem confirmação de manutenção do serviço."
|
||||
request_status: "Fechado"
|
||||
status: "CLOSED"
|
||||
|
||||
edges:
|
||||
- from: preparar
|
||||
to: decisao
|
||||
priority: 10
|
||||
when:
|
||||
eq: [$.vars.preparar.await_user_input, true]
|
||||
|
||||
- from: preparar
|
||||
to: resposta_bundle
|
||||
priority: 20
|
||||
|
||||
# Decisão pós-pausa. A pergunta "aceitou a explicação?" decide ANTES da
|
||||
# distinção bundle (igual ao diagrama). OUTRO nunca chega aqui: o runtime
|
||||
# intercepta resposta ambígua antes de retomar (fluxo_repergunta_outro
|
||||
# re-explica e repergunta), então resposta_usuario é sempre SIM ou NAO.
|
||||
|
||||
# Aceitou (SIM) — bundle OU estratégico: sem reforço, só registra/finaliza.
|
||||
- from: decisao
|
||||
to: resposta_sim
|
||||
priority: 10
|
||||
when:
|
||||
eq: [$.input.resposta_usuario, SIM]
|
||||
|
||||
# Não aceitou (NAO) + há estratégico: explica o procedimento de cancelamento
|
||||
# do(s) estratégico(s) (pedidos mistos seguem por aqui, como antes).
|
||||
- from: decisao
|
||||
to: explicar_cancelamento
|
||||
priority: 20
|
||||
when:
|
||||
all:
|
||||
- eq: [$.vars.preparar.has_estrategico_items, true]
|
||||
- eq: [$.input.resposta_usuario, NAO]
|
||||
|
||||
# Não aceitou (NAO) + bundle puro (sem estratégico): reforça a impossibilidade
|
||||
# de cancelar. SIM já foi tratado acima (priority menor), então aqui só cai NAO.
|
||||
- from: decisao
|
||||
to: resposta_bundle
|
||||
priority: 30
|
||||
when:
|
||||
eq: [$.vars.preparar.has_estrategico_items, false]
|
||||
|
||||
- from: decisao
|
||||
to: registrar_outro
|
||||
priority: 99
|
||||
|
||||
- from: resposta_sim
|
||||
to: registrar_sim
|
||||
|
||||
- from: explicar_cancelamento
|
||||
to: registrar_nao
|
||||
|
||||
- from: registrar_sim
|
||||
to: END
|
||||
|
||||
- from: registrar_nao
|
||||
to: END
|
||||
|
||||
- from: resposta_bundle
|
||||
to: registrar_bundle
|
||||
|
||||
- from: registrar_bundle
|
||||
to: END
|
||||
|
||||
- from: registrar_outro
|
||||
to: END
|
||||
Reference in New Issue
Block a user