Criando uma Fila
O nosso sistema permite que você crie novas filas de acordo com as suas necessidades. Veja como fazer isso a seguir.
Você pode consultar o "Dicionário das Filas" abaixo para entender melhor como criar ou editar as consultas para uma fila. Além disso, você pode conferir também os exemplos práticos que estão disponíveis logo a seguir.
Dicionário da filas
Para que uma consulta seja construída com êxito, é preciso seguir alguns padrões.
O padrão estabelece quatro variáveis importantes:
- Informação
- Comparativo
- Valor
- Condição
Recomendamos cautela ao utilizar a variável de condição pois caso existam duas ou mais regras, a variável pode invalidar a fila. Evite criar filas com consultas muito complexas.
Informação
A Informação será sempre o contexto ao qual você está querendo consultar. Ou seja, se você deseja criar uma fila para consultar/buscar propostas, é preciso utilizar a Informação "Propostas - Status" e assim por diante.
Informação | Referência | Descrição |
---|---|---|
Empresa - ID | company.id | Consulta pelo id da empresa. |
Empresa - CNPJ | company.document | Consulta pelo CNPJ da empresa. |
Cliente - ID | customer.id | Consulta pelo id do cliente. |
Cliente - CPF | customer.name | Consulta pelo pelo CPF do cliente. |
Proposta - ID | id | Consulta pelo id da proposta. |
Proposta - Status | status | Consulta do status de uma proposta. |
Proposta - Matrícula | externalId | Consulta pela matrícula da proposta. |
Esteira - Status da etapa | steps.status | Consulta pelo status de um passo da esteira. |
Esteira - Slug da etapa | steps.slug | Consulta pelo slug de um passo da esteira. |
Esteira - Tipo da etapa | steps.type | Consulta pelo tipo de um passo da esteira. |
Comparativo
O comprativo é o modelo de comparação que será utilizado para comparar a informação com um valor específico. Para cada informação, existe um valor necessário.
Comparativo | Referência | Descrição |
---|---|---|
Igual a | : | Compara um valor igual a uma informação definida. |
Contém | ~ | Compara um valor que contém uma informação definida. |
Condição
Refere-se a condição para duas ou mais regras.
Condição | Referência | Descrição |
---|---|---|
E | AND | A operação E faz com que todas as regras sejam necessárias para o resultado ser aceito. |
OU | OR | A operação OU faz com que uma das regras seja necessária para o resultado ser aceito. |
Valor
O valor refere-se ao resultado esperado diante de uma informação escolhida e do comparativo pontuado.
Exemplos práticos
Digamos que você queira uma fila para consultar Propostas que estejam em progresso e outra fila que possuam documentos pendentes de análise.
A primeira fila, vamos nomear como "Propostas em progresso" e a segunda fila vamos nomear como "Triagem de documentos".
Primeira fila - "Propostas em progresso"
Na primeira fila, utilizando as variáveis mencionadas no "Dicionário das Filas", teríamos as seguintes regras construídas:
### Regra 01 ###
- Informação: "Proposta - Status"
- Comparativo: "Igual a"
- Valor: "Em análise"
Condição: OR
### Regra 02 ###
- Informação: "Proposta - Status"
- Comparativo: "Igual a"
- Valor: "Ajustes solicitados"
Observe que temos duas regras e a variável que conecta essas regras é a
"Condição", na qual pode ser AND
ou OR
.
Segunda fila - "Triagem de documentos"
Na segunda fila, utilizando as variáveis mencionadas no "Dicionário das Filas", teríamos as seguintes regras construídas:
### Regra 01 ###
- Informação: "Esteira - Slug da etapa"
- Comparativo: "Igual a"
- Valor: "validacaoDocumentoFrente"
Condição: OR
### Regra 02 ###
- Informação: "Esteira - Slug da etapa"
- Comparativo: "Igual a"
- Valor: "validacaoDocumentoVerso"
Condição: OR
### Regra 03 ###
- Informação: "Esteira - Slug da etapa"
- Comparativo: "Igual a"
- Valor: "validacaoHolerite"
Observe que temos três regras e a variável que conecta essas regras é a
"Condição", na qual pode ser AND
ou OR
.
- Pelo Backoffice
- Pela API
Crie uma nova fila em: Backoffice
-> Configurações
-> Filas
-> Nova Fila
.
Considerações iniciais
Antes de criar ou editar uma fila, é necessário entender que existem dois componentes importantes nesta tela:
- O formulário para a criação ou edição da fila;
- O painel informativo e de validação de regras para fila.
O componente de formulário é onde ficam os campos para selecionar nome, regras e grupo de regras. Confira abaixo a definição de cada um deles:
- Nome: nome da fila que está sendo criada.
- Regras: é uma regra que pode ser pontuada de forma isolada, na qual não faz parte de um grupo.
- Grupos de regras: grupo de regras e que precisa conter ao menos duas regras em cada grupo.
Os grupos de regras são identificados e delimitados por parenteses.
Já o Painel Informativo, é o componente destinado para visualizar o progresso da sua consulta juntamente com outros dois recursos para que seja possível ver a interepretação das regras e validar a sua fila.
Vamos entender como podemos criar uma nova fila de maneira prática e validando a mesma antes de publicá-la.
Criando a nova fila
A criação de uma fila começa com um nome. É preciso pontuar o nome da sua fila conforme o campo abaixo.
Após nomear a fila, siga para a criação das regras.
Anteriormente, foram mencionadas as regras e os grupos. As regras, são todas as consultas que podem ser criadas a partir do botão "Adicionar" e, em seguida, "Adicionar regra".
Ao clicar na opção "Adicionar regra", uma linha com 3 campos aparecerá para que você escolha uma "Informação", o "Comparativo" e o "Valor" da consulta em questão.
Confira um exemplo prático:
O resultado dessa regra seria:
status:open
Para criar uma regra agrupada, podemos fazê-la clicando no botão "Adicionar" e, em seguida, "Adicionar grupo"
Uma linha com a condição (E/OU), um botão "+" e um ícone de lixeira ficarão visíveis.
A partir deste momento, você pode inserir quantas regras achar conveniente neste grupo para a sua consulta.
:::infoVocê pode remover o grupo ou uma regra específica deste grupo de regras, clicando no ícone da lixeira.:::
Veja o exemplo abaixo:
O resultado desse grupo de regras seria:
(steps.slug = "validacaoDocumentoFrente" OR steps.slug = "validacaoDocumentoVerso")
Pré-visualização da fila
Com o nome definido, as regras e/ou grupos criados, é possível validar a sua consulta, além de ver o resultado e uma interpretação da mesma.
Para validar a sua consulta, basta clicar no botão "Validar".
Após validar a sua fila, você pode editá-la ou concluir a criação clicando no botão "Salvar".
Na criação das filas pela API, temos um ponto de atenção. O mecanimos de criação, necessita que todas as filas já criadas sejam enviadas novamente, incluíndo a fila que você está criando.
Para criar uma fila, visite https://docs.paketa.com.br/development/api-reference/endpoints/post-v-1-settings.
Imagine um cenário onde já existem 2 filas criadas:
[
{
"name": "Triagem de documentos",
"query": "steps.status:in_progress AND (steps.slug:validacaoDocumentoFrente OR steps.slug:validacaoDocumentoVerso)"
},
{
"name": "Desembolsos (aprovados e negados)",
"query": "status:open AND steps.type:disburse AND (steps.status:failed OR steps.status:done)"
}
]
O código acima representa as filas já criadas e digamos que você queria incluir uma fila de nome "Propostas em progresso".
O resultado final seria este:
[
{
"name": "Propostas em progresso",
"query": "status:open OR status:pending"
},
{
"name": "Triagem de documentos",
"query": "steps.status:in_progress AND (steps.slug:validacaoDocumentoFrente OR steps.slug:validacaoDocumentoVerso)"
},
{
"name": "Desembolsos (aprovados e negados)",
"query": "status:open AND steps.type:disburse AND (steps.status:failed OR steps.status:done)"
}
]
E o envio para a API seria desta forma:
curl --request POST \
--url https://api.base39.io/v1/settings \
--header 'accept: application/json' \
--header 'authorization: Bearer <token>' \
--header 'content-type: application/json' \
--data '
{
"queues": [
{
name: "Propostas em progresso",
query: "status:open OR status:pending"
},
{
name: "Triagem de documentos",
query:
"steps.status:in_progress AND (steps.slug:validacaoDocumentoFrente OR steps.slug:validacaoDocumentoVerso)"
},
{
name: "Desembolsos (aprovados e negados)",
query:
"status:open AND steps.type:disburse AND (steps.status:failed OR steps.status:done)"
}
]
}
'