mirror of
https://github.com/hoshikawa2/first_contas.git
synced 2026-07-09 18:24:20 +00:00
171 lines
5.5 KiB
YAML
171 lines
5.5 KiB
YAML
name: contestacao_tool
|
|
version: 1
|
|
start: registrar_protocolo
|
|
|
|
nodes:
|
|
# 1. Registrar protocolo — primeiro passo ao entrar em contestação
|
|
- id: registrar_protocolo
|
|
action: registrar_protocolo
|
|
input:
|
|
msisdn: $.input.msisdn
|
|
social_sec_no: $.input.social_sec_no
|
|
scenario: "contestacao"
|
|
request_status: "Aberto"
|
|
status: "OPENED"
|
|
|
|
# 2. Consultar perfil de fatura (forma de pagamento)
|
|
- id: consultar_perfil_fatura
|
|
action: consultar_perfil_fatura
|
|
input:
|
|
msisdn: $.input.msisdn
|
|
|
|
# 3. Enviar SMS com código do boleto
|
|
- id: enviar_sms
|
|
action: enviar_sms
|
|
input:
|
|
msisdn: $.input.msisdn
|
|
message: $.input.mensagem_sms
|
|
|
|
# 3.1 Consultar status da fatura (CompleteInvoices)
|
|
- id: check_invoice_status
|
|
action: check_invoice_status
|
|
input:
|
|
msisdn: $.input.msisdn
|
|
invoice_id: $.input.invoice_id
|
|
current_invoice_number: $.input.current_invoice_number
|
|
|
|
# 4. Abrir contestação no serviço dedicado
|
|
- id: abrir_contestacao_cliente
|
|
action: abrir_contestacao_cliente
|
|
input:
|
|
msisdn: $.input.msisdn
|
|
social_sec_no: $.input.social_sec_no
|
|
customer_id: $.input.customer_id
|
|
current_invoice_number: $.input.current_invoice_number
|
|
invoice_id: $.input.invoice_id
|
|
current_invoice_due_date: $.input.current_invoice_due_date
|
|
servico: $.input.servico
|
|
valor: $.input.valor
|
|
descricao: $.input.descricao
|
|
items: $.input.items
|
|
protocolo_id: $.vars.registrar_protocolo.protocolo_id
|
|
customer_type: $.input.customer_type
|
|
customer_status: $.input.customer_status
|
|
invoice_status: $.vars.check_invoice_status.invoice_status
|
|
invoice_amount_open: $.input.invoice_amount_open
|
|
invoice_amount: $.input.invoice_amount
|
|
contestation_type: $.input.contestation_type
|
|
adjust_reason: $.input.adjust_reason
|
|
refund_option: $.input.refund_option
|
|
manual_conta_certa_indicator: $.input.manual_conta_certa_indicator
|
|
double_refund: $.input.double_refund
|
|
user_id: $.input.user_id
|
|
message_id: $.input.message_id
|
|
client_id: $.input.client_id
|
|
tipo_atendimento: $.input.tipo_atendimento
|
|
skip_invoice_item_validation: $.input.skip_invoice_item_validation
|
|
|
|
# 5. Consultar contrato para verificar data de corte
|
|
- id: consultar_contrato_corte
|
|
action: consultar_contrato_corte
|
|
input:
|
|
msisdn: $.input.msisdn
|
|
current_invoice_due_date: $.input.current_invoice_due_date
|
|
|
|
# 6. Abrir SR de Conta Certa Manual (quando após data de corte)
|
|
- id: abrir_sr_conta_certa_manual
|
|
action: abrir_sr_conta_certa_manual
|
|
input:
|
|
msisdn: $.input.msisdn
|
|
social_sec_no: $.input.social_sec_no
|
|
dia_vencimento: $.vars.consultar_contrato_corte.dia_vencimento
|
|
request_status: "Encaminhado"
|
|
status: "Encaminhado"
|
|
|
|
# 7. Atualizar status do protocolo principal — último passo
|
|
- id: atualizar_status_sr
|
|
action: atualizar_status_sr
|
|
input:
|
|
msisdn: $.input.msisdn
|
|
social_sec_no: $.input.social_sec_no
|
|
protocolo_id: $.vars.registrar_protocolo.protocolo_id
|
|
dia_vencimento: $.vars.abrir_sr_conta_certa_manual.dia_vencimento
|
|
scenario: "contestacao"
|
|
channel: "AIAGENTCR"
|
|
status: "Fechado"
|
|
client_id: "AIAGENTCR"
|
|
|
|
# 8. Atualiza status do protocolo principal após Conta Certa Manual
|
|
- id: atualizar_status_sr_registro
|
|
action: atualizar_status_sr
|
|
input:
|
|
msisdn: $.input.msisdn
|
|
social_sec_no: $.input.social_sec_no
|
|
protocolo_id: $.vars.abrir_sr_conta_certa_manual.sr_conta_certa_id
|
|
scenario: "conta_certa_manual"
|
|
status: "Encaminhado"
|
|
client_id: "AIAGENTCR"
|
|
|
|
edges:
|
|
# Protocolo registrado → consultar perfil de fatura
|
|
- from: registrar_protocolo
|
|
to: consultar_perfil_fatura
|
|
|
|
# Consultou perfil → consulta status da fatura (CompleteInvoices)
|
|
- from: consultar_perfil_fatura
|
|
to: check_invoice_status
|
|
priority: 10
|
|
|
|
# Todas as formas → abrir contestação
|
|
- from: check_invoice_status
|
|
to: abrir_contestacao_cliente
|
|
priority: 10
|
|
|
|
# Após contestação: quando necessário, enviar SMS
|
|
- from: abrir_contestacao_cliente
|
|
to: enviar_sms
|
|
priority: 10
|
|
when:
|
|
all:
|
|
- exists: $.vars.abrir_contestacao_cliente.barcode
|
|
- neq: [$.vars.abrir_contestacao_cliente.barcode, ""]
|
|
|
|
# Após contestação (sem SMS) → verificar data de corte
|
|
- from: abrir_contestacao_cliente
|
|
to: consultar_contrato_corte
|
|
priority: 99
|
|
|
|
# Após SMS → verificar data de corte
|
|
- from: enviar_sms
|
|
to: consultar_contrato_corte
|
|
|
|
# Após data de corte → abrir SR Conta Certa Manual
|
|
- from: consultar_contrato_corte
|
|
to: abrir_sr_conta_certa_manual
|
|
priority: 10
|
|
when:
|
|
all:
|
|
- eq: [$.vars.consultar_contrato_corte.apos_data_corte, true]
|
|
- eq: [$.vars.consultar_contrato_corte.contestation_success, true]
|
|
- any:
|
|
- eq: [$.input.manual_conta_certa_indicator, true]
|
|
- eq: [$.vars.abrir_contestacao_cliente.manual_conta_certa_indicator, true]
|
|
|
|
# Antes da data de corte → ir direto para fechar protocolo
|
|
- from: consultar_contrato_corte
|
|
to: atualizar_status_sr
|
|
priority: 99
|
|
|
|
# Após SR manual → fechar protocolo
|
|
- from: abrir_sr_conta_certa_manual
|
|
to: atualizar_status_sr_registro
|
|
priority: 10
|
|
|
|
# Protocolo principal de contestação atualizado após Conta Certa Manual → END
|
|
- from: atualizar_status_sr_registro
|
|
to: END
|
|
|
|
# Protocolo atualizado → END
|
|
- from: atualizar_status_sr
|
|
to: END
|