Digibee Tools

Saiba quais são as Cápsulas disponíveis nessa Coleção.

Micaella Mazoni avatar
Escrito por Micaella Mazoni
Atualizado há mais de uma semana

IMPORTANTE: esta documentação foi descontinuada. Leia a documentação Digibee Tools atualizada no nosso novo portal de documentação.

A Coleção de Cápsulas Digibee Tools disponibiliza, de modo padronizado, recursos que são comumente utilizados em pipelines. Assim, também por meio das melhores práticas, a construção de pipelines se torna mais produtiva.

CPF CNPJ Validator

Com essa Cápsula é possível validar o valor de números de documentos brasileiros que identificam uma pessoa de forma única: CPF (Cadastro de Pessoas Físicas) e CNPJ (Cadastro Nacional da Pessoa Jurídica).

Para isso, a Cápsula CPF CNPJ Validator utiliza cálculos matemáticos e garante que o dígito verificador esteja correto. É importante ressaltar que não faz parte das funções da Cápsula validar a situação cadastral dos mencionados documentos na Receita Federal Brasileira.

Veja um exemplo de resultado de validação:

{
"libOutPut": {
"isCpfValid": true,
"isCnpjValid": false,
"noMask": "12345678909",
"withMask": "123.456.789-09"
}
}

Em caso de erro na execução do algoritmo javascript, será lançado um erro de execução:

{
"timestamp": 1620665936661,
"error": "Capsule capsule-v1-digibee-collection-name-test-capsule-name-test-1.0 failed execution. Error: com.digibee.pipelineengine.exception.PipelineEngineRuntimeException: Error during validation of Cpf/Cnpj.",
"code": 500
}

Digibee Publish Error

Utilize essa Cápsula para padronizar o modo com o qual o seu pipeline publica as mensagens de erro. A Cápsula Digibee Publish Error não envia as mensagens diretamente para seus dashboards de monitoramento ou aplicativos (Slack, e-mail, etc). O comportamento da Cápsula consiste em padronizar informações que são chave no monitoramento da integração. Além disso, detalhes técnicos referentes à execução são disponibilizados. O próximo passo é criar um pipeline responsável por receber tais mensagens e optar por ações como, por exemplo, enviar e-mail agrupado com os erros.

A Cápsula também garante que todas as notificações de erros sejam padronizadas, permitindo flexibilidade no envio de informações adicionais através do campo “payload”.

Os campos “Subject” ou “Error Code” podem ser utilizados no critério de agrupamento dos erros. Por exemplo:

  • Em uma integração de pedidos, os erros gerados em determinado intervalo de tempo devem ser agrupados e um único ticket deve ser gerado para o time responsável pela avaliação do incidente.

  • No fluxo de integração de produtos, é necessário separar os erros com ERP e dos erros com a plataforma e-commerce. Nesse caso, cada grupo possui um valor de agrupamento diferente e as notificações podem ser tratadas de forma descentralizada.

IMPORTANTE: a Cápsula Digibee Publish Error padroniza as informações que devem ser preenchidas pelo desenvolvedor nos tratamentos de erros, sendo que tais informações são publicadas pelo componente Pipeline Executor. Logo, é necessário que o pipelineerror-handling-group-and-notify‘ seja construído e publicado no mesmo ambiente. Para obter um exemplo dele, entre em contato com a equipe de suporte da Digibee.

Veja uma ilustração de uso da Cápsula:

Parallel Execution List to Objects

Essa Cápsula transforma um array em um mapa de objetos, utilizando o campo “executionId” existente na raiz do array. O uso da Parallel Execution List to Objects pode ser aplicado ao padrão de saída do componente Parallel Execution na recuperação de objetos resultantes do processamento paralelo.

Veja um exemplo de uso, no qual se aplica um fluxo de execução em paralelo:

O fluxo acima resulta no seguinte array:

[
{
"executionId": "Examaple-execution-3",
"result": {
"message": {
"year": "2021"
}
}
},
{
"executionId": "Address-execution-2",
"result": {
"body": {
"address": "Disney"
}
}
},
{
"executionId": "Customer-execution-1",
"result": {
"customer": {
"name": "Mickey Mouse"
}
}
}
]

Utilizando a combinação do componente Block Execution com o fluxo paralelo (conforme o exemplo acima) e a Cápsula, o resultado é um mapa de objetos para cada execution Id. Veja:

{
"Examaple-execution-3": {
"message": {
"year": "2021"
}
},
"Address-execution-2": {
"body": {
"address": "Disney"
}
},
"Customer-execution-1": {
"customer": {
"name": "Mickey Mouse"
}
}
}

Send Email Alert

O objetivo dessa Cápsula é facilitar o envio de erros por e-mail com base nas informações preenchidas no formulário de configuração. A Send Email Alert possibilita o envio de informações complementares em um template de e-mail pré-determinado para que se entenda a causa raiz do erro.

Para utilizar a Cápsula, é preciso configurar uma conta do tipo “SMTP Auth And Properties”. Clique aqui para acessar o nosso artigo completo sobre utilização de accounts.

Clique aqui para visualizar um exemplo de configuração utilizando sua conta Google.

IMPORTANTE: verifique o limite de mensagens permitidas pela sua conta de e-mail. Para uma melhor confiabilidade na quantidade de e-mails enviados, recomendamos a abordagem apresentada na Cápsula Digibee Publish Error.

Sort Array by field

O objetivo dessa Cápsula é ordenar o seu array JSON de forma crescente (A-Z) ou de forma decrescente (Z-A).

IMPORTANTE: a ordenação não leva em consideração o tempo cronológico de campos de datas, mas apenas a ordenação alfabética. Para uma ordenação correta, a data deve estar no formato ‘yyyy-mm-dd’.

Validate API Keys

Quando o pipeline precisar ser executado com um número máximo de API Keys diferente do que consta no padrão de Runtime, utilize a Cápsula Validate API Keys para impedir que as execuções aconteçam com a configuração incorreta de implantação.

Por exemplo, se o pipeline permite a execução de até 2 requisições simultâneas, mas o Runtime esteja configurado com 10 requisições simultâneas e a Cápsulas com 2, então um erro é lançado nas execuções para que as configurações sejam corrigidas. No entanto, se na configuração da Cápsula constar 2 requisições simultâneas, a implantação deve ser configurada com 1 ou 2 API Keys no máximo.

Clique aqui para saber mais sobre Runtime.

Respondeu à sua pergunta?