Skyone
Português
Português
  • Home
  • Plataforma Skyone
    • Visão Geral
    • Acesso e Cadastro
      • Recuperar senha da plataforma
    • Configurações e Preferências
      • Meu Perfil
      • Gestão de Usuários
        • Como convidar um usuário para a plataforma?
        • Opções para Gestão de Usuários
        • Tipos de permissões de usuários
      • Convites
      • Minha Empresa
      • Configuração de Casos de Suporte
      • Gestão de Empresas
      • Faturamento
      • Configurações
      • Segurança
      • Feedback
      • Logs
      • Cancelamento
      • Parceiro-Clientes
        • Meus Clientes
        • Meu Parceiro
    • Notificação
    • Health: Verificação do status da plataforma
    • Casos de suporte
      • Como acompanhar e responder os casos de suporte?
      • Guia para abertura de chamados ABO
  • Computação em Nuvem
    • Visão Geral
    • Autosky
      • Login e Registro de senha
        • Recuperação de Senha
      • Perfil e preferências
      • Recursos do Autosky
        • Dashboard
        • Contas
          • Servidores
            • Opções dos servidores
        • Ambientes
          • Ambiente Micro
            • Instâncias do ambiente micro
            • Servidores do ambiente micro
          • Ambiente Scaling
            • Instâncias do ambiente scaling
            • Servidores do ambiente scaling
          • Outros recursos dos ambientes
        • Clientes
          • Editar e Clonar
          • Usuários
          • Aplicações
          • Sessões
          • Gerenciar Restrições de Acesso
          • Manutenção
            • Histórico de manutenção:
        • Usuários
    • Servidores em Nuvem
      • Opções de Servidores em Nuvem
      • Auditoria de Backups
  • Studio
    • Visão Geral
      • Criação da conta
      • Recuperar senha
      • Guia rápido da plataforma
      • Como testar a plataforma gratuitamente
      • Espaço de trabalho
        • Criação de novo espaço
        • Encontrar um espaço
        • Enviar convite para um espaço
        • Editar um espaço
      • Organizações
        • Criando uma Organização
        • Visão Geral da Organização
        • Administração da Organização
        • Monitoramento da Organização
      • Configurações e Preferências
        • Perfil
        • Notificações
        • Uso e Pagamento
        • Usuários e permissões
    • Integrações
      • Gestão das integrações
        • Criar integração
        • Importar integração
        • Editar integração
        • Opções da integração
        • Fluxos dessa integração
      • Fluxos
        • Gestão dos fluxos
          • Criar fluxo
          • Opções do fluxo
          • Flow Canva: configuração e edição do fluxo
            • Flow Canva: visão geral
            • Exception Handler
              • Configuração do Exception Handler
              • Cases do Exception Handler
            • Fluxos Multicontexto
              • Exemplo: Multicontexto com API Gateway
              • Exemplo: Multicontexto com Gatilho Temporal
            • Configuração do fluxo
        • Gatilhos
          • Gatilhos API Gateway: Adição e Configuração
          • Gatilhos AS2: Adição e Configuração
          • Gatilho de Fila: Adição e Configuração
          • Gatilhos de Fluxo: Adição e Configuração
          • Gatilhos Temporais: Adição e Configuração
          • Gatilhos Webhook: Adição e Configuração
        • Módulos Ferramentais
          • Módulo AS2
          • Módulo CSV
          • Módulo Chamada de Fluxo
          • Módulo Data Balancer
          • Módulo Data SQL execute
          • Módulo EDI
          • Módulo File Job Execute
          • Módulo IF
          • Módulo JavaScript
          • Módulo JSONata Job Execute
          • Módulo Log
          • Módulo Loop Do While
          • Módulo Loop For
          • Módulo Retorno
          • Módulo Transformação de Dados
          • Módulo XML
          • Outros Módulos Ferramentais da plataforma
      • Cabeçalho dos módulos
      • Conectando componentes de um fluxo
      • Edição de gatilhos e módulos no fluxo
      • Operações de Dados
        • Manipulação de Objetos
          • Exemplo prático: Manipulação de variáveis
        • SMOP (Pequenas Operações)
        • Regras de Parametrização
    • Módulos
      • Gestão de módulos
        • Criação de Módulos
        • Importar Módulos
          • Arquivos IAC - Integration as Code
        • Edição de Módulos
        • Opções de Módulos
      • Configurações & Operações
        • Configurações de Módulos
          • Conectividade: Banco de Dados
          • Conectividade: Email
          • Conectividade: REST
          • Conectividade: SOAP
          • Conectividade: Arquivo
          • Conectividade: RFC
          • Gestão das contas conectadas
        • Operações de Módulos
          • Importar operações em módulos REST
          • Gestão das operações
        • Fluxos usando este Módulo
    • Monitoramento
    • API Gateway
    • Terminais & Agente
      • Agente
        • Versões suportadas pelo Agente
        • Como atualizar a versão do Agente
        • Como fazer backup dos arquivos do Agente
      • Terminais
    • Data Management
      • Engine
        • Como utilizar o Proxy para Data Engine
      • Parâmetros
      • Filtros de arquivo
      • Templates de arquivo
      • File Jobs
      • JSONata Jobs
    • Data Lake
    • Data Warehouse
      • Data Jobs
      • Banco de Dados
    • Inteligência Artificial
    • How to
      • Inserir JSON em bancos de dados
      • Flattening: Transformação de dados utilizando JSONata
      • Como utilizar o Form Data
      • Entendendo a recursividade no JSONata
      • Consolidação de output de módulo REST
      • Como configurar um timeout de um componente?
      • Isolar na execução: conceito e aplicação em variáveis
      • Parâmetros de URL no API Gateway
      • Caso de uso: parâmetros de gatilho API Gateway
      • Caso de uso: Exception Handler em transações financeiras
      • Caso de uso: utilizando Grupos para gerenciar acessos aos fluxos
      • Como criar endpoint para download e integrar com o Power BI
      • É possível usar dois gatilhos em um único fluxo?
    • FAQ
    • GIGS: O guia completo
    • Glossário
  • Cibersegurança
    • Visão Geral
    • Análise de Ameaças
      • Painel de Segurança
      • Alvos
      • Agendamentos
      • Resolução de Alvos
      • Grupo de Ameaças
      • Relatório
    • Como instalar os agentes de segurança do Bitdefender
Powered by GitBook
On this page
  • Contexto
  • Regra de negócio
  • Cenário sem Exception Handler
  • Cenário com Exception Handler
  • Configurando o Exception Handler na prática
  1. Studio
  2. How to

Caso de uso: Exception Handler em transações financeiras

PreviousCaso de uso: parâmetros de gatilho API GatewayNextCaso de uso: utilizando Grupos para gerenciar acessos aos fluxos

Last updated 5 months ago

Contexto

Imagine que o setor financeiro de uma empresa precisa confirmar se cada transação processada pelo sistema de pagamentos foi realmente concluída com sucesso.

Para isso, conta com os seguintes aliados: a API do banco (módulo REST), Banco de dados e a plataforma Skyone Studio.

Sabemos que, em qualquer operação, podem surgir imprevistos, como falhas de autorização de pagamento ou informações inconsistentes. No entanto, para o setor financeiro, é crucial garantir a verificação de cada transação, assegurando que os pagamentos sejam processados corretamente e que a equipe seja notificada em caso de erros, o que facilita o acompanhamento e otimiza a gestão das operações.

Nesta documentação, vamos explicar como utilizar o recurso "Exception Handler" para lidar com cenários onde o fluxo de integração deve continuar, mesmo que alguns itens apresentem erros. Além disso, veremos como notificar adequadamente os erros ocorridos ao longo da execução do fluxo.

Regra de negócio

Quando o módulo REST retornar o status code 422 quer dizer que as informações estão inconsistentes.

Quando o módulo REST retornar o status code 400 é esperado que a execução seja finalizada.

Dicionário técnico

Cenário sem Exception Handler

Mesmo que o status code indique erro, a plataforma, por padrão, não considera isso como tal em casos de REST. Dessa forma, a transação é inserida no banco de dados de pagamentos concluídos, gerando uma inconsistência em relação às informações reais.

Cenário com Exception Handler

Com a funcionalidade "Exception Handler", qualquer erro de HTTP será capturado e tratado. Ao criar dois Exception Handlers independentes, conseguimos diferenciar o tratamento: no caso de erro 422, o sistema apenas pula para a próxima transação da lista, enquanto, em caso de erro 400, o fluxo é interrompido.

Configurando o Exception Handler na prática

Após a contextualização do nosso caso, é hora de configurar o nosso fluxo.

Observe na imagem abaixo que temos um fluxo composto por:

  • Gatilho Webhook: o ponto de partida e entrada da lista de transações que será processada do nosso fluxo.

  • Loop For: Módulo ferramental que facilita o processamento de listas de informações.

  • Módulo Rest: Valida a transação bancária, que virá como elemento do Loop For.

  • PostgreSQL: Registra os pagamentos concluídos.

Ao clicar em "Exception Handlers", devemos clicar em "Adicionar Exception Handler". A seguinte tela será apresentada:

De acordo com as regras de negócio citadas acima, vamos adicionar 2 Exception Handlers:

Status code 422: Unprocessable Entity

Em "Configurações gerais do Handler", preenchemos com os dados necessários:

  • Nome do Handler: Unprocessable Entity

  • Disponibilidade do Handler: Fluxo

Em seguida, vamos criar uma regra. Para isso, clicamos em "Adicionar regra" e preenchemos os seguintes campos:

  • Nome da regra: Status code 422

  • Tentativas: 0

  • Tempo de espera: 0

  • Código regex: "status": 422

  • Notificações da regra: Local e E-mail

  • Mensagem: Transação não processada

  • Enviar parâmetros na mensagem? Sim

  • Ação final: Continuar loop

Finalizamos a nossa configuração clicando em "Salvar".

Status code 400: Bad Request

Em "Configurações gerais do Handler", preenchemos com os dados necessários:

  • Nome do Handler: Transaction Bad Request

  • Disponibilidade do Handler: Fluxo

Em seguida, vamos criar uma regra. Para isso, clicamos em "Adicionar regra" e preenchemos os seguintes campos:

  • Nome da regra: Status code 400

  • Tentativas: 1x

  • Tempo de espera: 1s

  • Código regex: "status": 400

  • Notificações da regra: Local e E-mail

  • Mensagem: No processo da transação ocorreu um erro.

  • Enviar parâmetros na mensagem? Sim

  • Ação final: Parar

Finalizamos a nossa configuração clicando em "Salvar".

Adicionando Exception Handler no componente

Após os Exception Handlers criados, é hora de ativá-los no componente. Neste nosso exemplo, vamos ativar os Exception Handlers no módulo "Validar transação financeira". Para isso, basta clicar em "editar" deste componente.

Em seguida, no canto esquerdo, observe que as regras previamente criadas aparecem na seção "Exception Handlers".

Para o nosso caso de uso, vamos ativar os "Exception Handlers" recém-criados e organizar a ordem da seguinte forma:

  1. Unprocessable Entity

  2. Transaction Bad Request

Resultado da execução

Após tudo configurado, executamos o nosso fluxo. Em "Logs" podemos conferir o resultado da execução:

  • Unprocessable Entity

  • Transaction Bad Request

HTTP Status code 422:

HTTP Status code 400:

Ao marcar a opção "E-mail" na seção "Notificações da Regra", certifique-se de que seu e-mail está configurado como "Canal" para receber notificações e que a opção "Fluxos" está ativada nas configurações de "Notificações de elementos". Para mais informações, consulte o artigo "".

Além disso, certifique-se de adicionar o e-mail na aba "Alertas" na configuração do fluxo. .

Unprocessable Entity
Bad Request
Notificações
Leia mais aqui
Contexto
Regra de negócio
Dicionário técnico
Cenário sem Exception Handler
Cenário com Exception Handler
Configurando o Exception Handler na prática
Status code 422: Unprocessable Entity
Status code 400: Bad Request
Adicionando Exception Handler no componente
Resultado da execução