Sobre:
O Toolzz Connect não oferece a diretiva de tratamento de erros Throw (lançar) . A implementação dessa funcionalidade está sendo analisada e avaliada.
Então, esse artigo vai descrever opções e soluções alternativas para imitar a diretriz de tratamento de erros "Throw.
Solução alternativa
Para lançar um erro condicionalmente, você tem a opção de configurar um módulo para falhar durante sua operação. Uma possibilidade é empregar o módulo "JSON > Parse JSON" configurado para, opcionalmente, lançar um erro ("BundleValidationError", neste caso):
Você pode então anexar uma das diretrizes de tratamento de erros à rota de tratamento de erros para
forçar a interrupção da execução do cenário e executar a fase de reversão: "Rollback";
forçar a interrupção da execução do cenário e executar a fase de confirmação: "Commit";
interromper o processamento de uma rota: "Ignore";
interromper o processamento de uma rota e armazená-la na fila de execuções incompletas: "Break".
O exemplo a seguir mostra o uso da diretriz "Rollback":
Solução alternativa - usando o módulo HTTP
Usecase (caso de uso):
Tente novamente após algum tempo se nenhum registro for encontrado usando a diretriz "Break". Normalmente, isso é crucial quando seu registro não é atualizado instantaneamente e você gostaria de processá-lo posteriormente na automação. Usar "Break" pode ser útil e menos complo na configuração.
Current Barrier (barreira atual):
O Toolzz connect não oferece um módulo que permita gerar (lançar) erros condicionalmente com facilidade.
Para você entender melhor, aqui está a configuração atual sem modificação:
Esse cenário de pesquisa no Zendesk, se não houver uso, não gerará um erro à força para pesquisá-lo novamente, você precisaria implementar um procedimento complexo salvando o registro.
Solução:
Para lançar um erro condicionalmente, você pode substituir o módulo onde deseja lançar um erro por um módulo HTTP e, em seguida, realizar a pesquisa em um segundo cenário vinculando o módulo HTTP usando webhook com um segundo cenário. Se nenhum resultado for encontrado, você pode personalizar o módulo para lançar um erro.
Cenário 1 - Passo a passo:
1º passo: substitua o módulo onde você deseja lançar um erro pelo módulo "Current Barrier".
2º passo: configure a URL dentro do parâmetro de consulta que você obterá do módulo "Custom Webhook" e adicione um parâmetro de consulta opcional para pesquisar o e-mail.
3º passo: habilite as configurações avançadas e marque a avaliação de todos os estados como erros.
4º passo: adicione um manipulador de quebra (Break handler) nesse módulo HTTP e configure a instalação para ser executada posteriormente.
Cenário 2 - Passo a passo:
1º passo: configure "Webhooks > Custom Webhooks" como um gatilho e copie o URL para usá-lo no módulo HTTP, conforme mostrado nas etapas anteriores.
2º passo: aqui, use o módulo "Zendesk > Search for a User", use o parâmetro do módulo HTTP para realizar uma consulta. Habilite "Continue the execution of the route even if the module returns no results" para continuar a execução da rota mesmo que o módulo não retorne resultados.
3º passo: adicione um "Router" (roteador) e crie duas rotas:
Configure o primeiro filtro para "Record Exist";
O segundo para "Record Doesn’t exist".
4º passo: configure consecutivamente o módulo de resposta do webhook:
If result found (se o resultado for encontrado) - envie o status 200 junto com o corpo necessário no formato JSON.
If no result found (se nenhum resultado for encontrado) - envie 4xx/404 e no JSON nenhum registro encontrado
O exemplo a seguir retornando o resultado:
Você notará que quando o módulo Zendesk executa a API não envia nenhuma mensagem de erro, mas na ação estamos replicando o erro usando o módulo HTTP.
Pronto! Agora você já sabe tudo sobre a diretriz de tratamento de erro throw (lançar) usada no Toolzz Connect.