

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Bloco de fluxo no Amazon Connect: Definir critérios de roteamento
<a name="set-routing-criteria"></a>

Este tópico define o bloco de fluxo para rotear um contato em qualquer canal para a fila apropriada. 

## Description
<a name="set-routing-criteria-description"></a>

Define critérios de roteamento em um contato.
+ Os critérios de roteamento podem ser definidos em contatos de qualquer canal, como voz, chat, tarefa e e-mail, para definir como o contato deve ser roteado em sua fila. Um critério de roteamento é uma sequência de uma ou mais etapas de roteamento.
+ Uma etapa de roteamento é uma combinação de um ou mais requisitos que devem ser atendidos para que esse contato seja roteado para um atendente. É possível definir uma duração de expiração opcional para cada etapa de roteamento. Por exemplo, é possível criar uma etapa de roteamento com um requisito para oferecer esse contato somente a um atendente específico com base no ID do usuário, por uma determinada duração de expiração. Como outro exemplo, é possível criar uma etapa de roteamento que não expira com os requisitos: **Language:English >= 4 ** E **Technology:AWS Kinesis >= 2**.
+ Um requisito é uma condição criada usando um nome de atributo predefinido, seu valor, operador de comparação e nível de proficiência. Por exemplo, **Technology:AWS Kinesis >= 2**. 
+ O bloco **Definir critérios de roteamento** com o bloco **Transferir para fila**, pois este transferirá o contato para a fila do Amazon Connect e ativará os critérios de roteamento especificados no contato.
+ Os critérios de roteamento definidos no contato não entrarão em vigor se o contato for transferido para uma fila de atendentes. Para obter mais informações, consulte [Configurar o roteamento no Amazon Connect com base nas proficiências do atendente](proficiency-routing.md).
+ Quando o tempo de expiração (DurationInSeconds) é definido como muito curto, isso pode impedir que o Amazon Connect encaminhe adequadamente os contatos para o próximo agente mais proficiente quando o primeiro agente perde a chamada. O roteamento padrão baseado em fila pode competir com o roteamento baseado em qualificação, gerando um comportamento de roteamento inconsistente entre esses dois métodos.

## Canais compatíveis
<a name="set-routing-criteria-channels"></a>

A tabela a seguir lista como esse bloco direciona um contato que está usando o canal especificado. 


| Canal | Compatível? | 
| --- | --- | 
| Voz | Sim | 
| Chat | Sim | 
| Tarefa | Sim | 
| E-mail | Sim | 

## Tipos de fluxo
<a name="set-routing-criteria-types"></a>

É possível usar esse bloco nos seguintes [tipos de fluxo](create-contact-flow.md#contact-flow-types):
+ Fluxo de entrada
+ Fluxo de fila do cliente
+ Fluxo de transferência para o agente
+ Fluxo de transferência para a fila

## Pré-requisitos para definir os critérios de roteamento usando atributos predefinidos
<a name="set-routing-criteria-prerequisites"></a>

Antes de definir os critérios de roteamento em um contato, você deve realizar as seguintes etapas: 

1.  Criar [Criar atributos predefinidos para rotear contatos para os atendentes](predefined-attributes.md). 

1.  [Atribuir proficiências aos atendentes na sua instância do Amazon Connect](assign-proficiencies-to-agents.md) usando atributos predefinidos que foram criados anteriormente 

## Quando usar o bloco Definir critérios de roteamento
<a name="set-routing-criteria-when"></a>

Há duas maneiras de encaminhar contatos diretamente para um atendente:
+ **Opção 1: usar o bloco **Definir critérios de roteamento** a fim de especificar critérios para priorizar um atendente**. Essa opção é melhor quando: 
  + Você quer a capacidade de contatar vários atendentes simultaneamente. Por exemplo, uma equipe de suporte de quatro pessoas que apoia principalmente um cliente.
  + Você quer a opção de voltar para um grupo mais amplo de atendentes na fila se os agentes preferenciais não estiverem disponíveis.
  + Você quer que o contato seja registrado nas métricas da fila padrão.

  Uma vantagem de escolher essa opção é que ela usa o userID do atendente (como janedoe), por isso é mais fácil de configurar do que a Opção 2, que usa o ARN. 

  A principal desvantagem dos critérios de roteamento é que eles afetam as métricas da fila (SLA, tempo de fila etc.). Se um contato na fila A estiver esperando especificamente pelo atendente 12, ele não será atendido por outros atendentes disponíveis. Isso pode violar sua definição SLAs. A forma como você veria isso ocorrendo é analisando o relatório de métricas em tempo real; consulte [Usar detalhamentos com um clique](one-click-drill-downs.md).
**nota**  
Ao configurar o roteamento e especificar suas configurações de tempo limite, lembre-se desse cenário para acomodar esses impactos.
+ **Opção 2: usar a fila do atendente**. Essa opção geralmente é melhor quando: 
  + O contato é destinado **apenas** a esse atendente específico e a mais ninguém.
  + Você não quer que o contato seja registrado em uma fila padrão. Para acessar informações sobre filas padrão e filas de atendentes, consulte [Filas: padrão e agente](concepts-queues-standard-and-agent.md). 

  Para receber instruções para como configurar essa opção, consulte [Transferir contatos para a fila do agente](transfer-to-agent.md). 

## Como funcionam os critérios de roteamento
<a name="set-routing-criteria-how-it-works"></a>

Quando um contato é transferido para uma fila padrão, o Amazon Connect ativa a primeira etapa especificada nos critérios de roteamento do contato. 

1. Um agente é unido ao contato somente quando atende aos requisitos especificados na etapa de roteamento ativo do contato. 

1. Se nenhum atendente desse tipo for encontrado até a expiração da etapa, o Amazon Connect passará para a próxima etapa especificada nos critérios de roteamento até que um deles seja atendido. 

1.  Quando todas as etapas expirarem, o contato será oferecido ao atendente disponível há mais tempo que tenha a fila no perfil de roteamento.

**nota**  
Se uma duração de expiração não for especificada na etapa de roteamento, ela nunca vai expirar.

**É possível usar os seguintes itens em um critério de roteamento:**
+ Escolha uma das seguintes opções:
  + Um ou mais atendentes preferenciais, com base no ID do usuário ou nome de usuário.
  + Até oito atributos usando a condição `AND`.
  + Até três condições OR em uma etapa de roteamento. Cada requisito separado por um OR pode ter até oito atributos.
    + Só é possível usar OR ao definir atributos dinamicamente. Para obter mais informações, consulte [Como definir critérios de roteamento](#set-routing-criteria-using-the-flow-block).
  + O operador NOT deve excluir uma proficiência por níveis escolhidos. Só é possível usar NOT ao definir atributos dinamicamente. Para obter mais informações, consulte [Como definir critérios de roteamento](#set-routing-criteria-using-the-flow-block).

**nota**  
Há suporte para expressões aninhadas, mas as expressões OR devem estar no nível superior. Você pode colocar um AND dentro de um OR, mas não o contrário.

Além disso, os atributos e critérios de roteamento devem ter o seguinte:
+ Cada atributo deve ter um nível de proficiência associado. 
+  Cada nível de qualificação deve usar o operador de comparação “>=” ou uma variedade de níveis de proficiência de 1 a 5.
+ Cada etapa dos critérios deve ter um cronômetro de expiração temporizado.
+ A última etapa dos critérios pode ter um cronômetro de expiração temporizado ou sem expiração.

## Como definir critérios de roteamento
<a name="set-routing-criteria-using-the-flow-block"></a>

Você pode definir os critérios de roteamento desejados manualmente na interface de usuário do bloco de fluxo ou dinamicamente com base na saída do bloco [Função AWS Lambda ](invoke-lambda-function-block.md). 

![A página de propriedades Definir critérios de roteamento.](http://docs.aws.amazon.com/pt_br/connect/latest/adminguide/images/set-routing-criteria-using-the-flow-block.png)


### Definir critérios de roteamento manualmente
<a name="set-routing-criteria-set-manually"></a>

Usando essa opção, você pode definir critérios de roteamento em contatos conforme especificado no bloco **Definir critérios de roteamento** manualmente. Consulte o exemplo de um fluxo abaixo em que o atributo predefinido é adicionado manualmente a uma etapa de roteamento selecionando o atributo e o valor em uma lista suspensa. 

![Defina manualmente o bloco de fluxo dos critérios.](http://docs.aws.amazon.com/pt_br/connect/latest/adminguide/images/set-routing-criteria-set-manually.png)


 Conforme necessário, você pode configurar dinamicamente o valor do atributo predefinido usando JSONPath referência, mesmo nessa opção. Por exemplo, você pode especificar a ``$.External.language`` JSONPath referência em vez de codificar um `AWS DynamoDB` valor com base na ``Technology`` exigência de todos os contatos. Para obter mais informações sobre JSONPath referência, consulte[Lista de atributos de contato disponíveis no Amazon Connect e suas JSONPath referências](connect-attrib-list.md). 

### Definir dinamicamente critérios de roteamento
<a name="set-routing-criteria-set-dynamically"></a>

Você pode definir critérios de roteamento em um contato dinamicamente com base na saída do bloco **Invocar função de AWS Lambda**. 
+ No bloco [Função AWS Lambda ](invoke-lambda-function-block.md), configure a função do Lambda para exibir os critérios de roteamento no formato JSON e definir a validação da resposta como JSON. Para acessar mais informações sobre como usar **Invocar a função do AWS Lambda**, consulte a documentação [Conceda ao Amazon Connect acesso às suas AWS Lambda funções](connect-lambda-functions.md). 
+  No bloco `Set routing criteria`, escolha a opção **Definir dinamicamente** com os atributos do Lambda acima - **Namespace** como `External` e **Chave** conforme especificado na resposta do Lambda acima. Por exemplo, a chave seria `MyRoutingCriteria` porque aponta para os critérios de roteamento na resposta do Lambda de exemplo na seção a seguir. 

### Função do Lambda de exemplo para definir critérios de roteamento
<a name="set-routing-criteria-sample-lambda-function"></a>

 O seguinte exemplo de Lambda usa `AndExpression` para retornar critérios de roteamento: 

```
export const handler = async(event) => {
  return {
   "MyRoutingCriteria": {
    "Steps": [
      {
        "Expression": {
          "AndExpression": [
            {
              "AttributeCondition": {
                "Name": "Language",
                "Value": "English",
                "ProficiencyLevel": 4,
                "ComparisonOperator": "NumberGreaterOrEqualTo"
              }
            },
            {
              "AttributeCondition": {
                "Name": "Technology",
                "Value": "AWS Kinesis",
                "ProficiencyLevel": 2,
                "ComparisonOperator": "NumberGreaterOrEqualTo"
              }
            }
          ]
        },
        "Expiry": {
          "DurationInSeconds": 30
        }
      },
      {
        "Expression": {
          "AttributeCondition": {
            "Name": "Language",
            "Value": "English",
            "ProficiencyLevel": 1,
            "ComparisonOperator": "NumberGreaterOrEqualTo"
          }
        }
      }
    ]
  }
}
};
```

O seguinte exemplo de Lambda usa `OrExpression` para retornar critérios de roteamento:

```
export const handler = async(event) => {
  return {
   "MyRoutingCriteria": {
    "Steps": [
      {
        "Expression": {
          "OrExpression": [
            {
              "AttributeCondition": {
                "Name": "Technology",
                "Value": "AWS Kinesis Firehose",
                "ProficiencyLevel": 2,
                "ComparisonOperator": "NumberGreaterOrEqualTo"
              }
            },
            {
              "AttributeCondition": {
                "Name": "Technology",
                "Value": "AWS Kinesis",
                "ProficiencyLevel": 2,
                "ComparisonOperator": "NumberGreaterOrEqualTo"
              }
            }
          ]
        },
        "Expiry": {
          "DurationInSeconds": 30
        }
      }
    ]
  }
}
};
```

O seguinte exemplo do Lambda usa `NOTAttributeCondidtion` e uma série de níveis de proficiência para exibir critérios de roteamento:

```
export const handler = async(event) => {
  const response = {
    "MyRoutingCriteria": {
        "Steps": [
            {
                "Expression": {
                    "NotAttributeCondition": {
                        "Name" : "Language",
                        "Value" : "English",
                        "ComparisonOperator": "Range",
                        "Range" : {
                            "MinProficiencyLevel": 4.0,
                            "MaxProficiencyLevel": 5.0
                        }
                    }
                },
                "Expiry" : {
                    "DurationInSeconds": 30
                }
            }
        ]
    }
}    
    return response;
};
```

## Quais são os status de uma etapa de roteamento e por que eles são necessários?
<a name="set-routing-criteria-why-status-routing-step"></a>

1.  **Inativo:** quando os critérios de roteamento estão ativados, a primeira etapa imediatamente se torna inativa. O mecanismo de roteamento executa os critérios uma etapa por vez, de acordo com o cronômetro de expiração. 

   1.  Cada etapa começa como *Inativa* até que a etapa anterior expire. 

1.  **Ativo:** quando uma etapa está sendo executada ativamente para uma correspondência, o status é definido como Ativo.

1.  **Expirado:** quando o Amazon Connect não encontra um atendente durante uma etapa e o cronômetro expira, o mecanismo de roteamento passa para a próxima etapa. A etapa anterior é considerada *expirada*. 

1.  **Ingressou:** sempre que um atendente for combinado com êxito com um contato em uma etapa específica, o status da etapa será definido como *Ingressou*. 

1.  **Interrompido:** se um contato estiver esperando por muito tempo ou se um líder de operações optar por interromper o fluxo e alterar os critérios de roteamento. Isso pode ser feito enquanto uma etapa específica está ativa, por exemplo, uma tarefa está esperando há 24 horas e um gerente deseja alterar os critérios. O status da etapa será, então, definido como *Interrompido.* 

1.  **Desativado:** quando um cliente cancela uma chamada ou uma conexão é interrompida, o roteamento é interrompido. 

## Usar critérios de roteamento para direcionar um atendente preferencial específico
<a name="set-routing-criteria-specific-preferred-agent"></a>

 Também é possível usar critérios de roteamento para restringir um contato em uma fila a um atendente preferencial específico ou a um conjunto de atendentes preferenciais, com base no ID do usuário em vez de atributos predefinidos. 

Por exemplo, se você identificou que um cliente específico entrou em contato recentemente com a central de atendimento sobre o mesmo assunto, convém tentar rotear esse cliente para o mesmo atendente que lidou com o problema na última vez. Para fazer isso, é possível definir uma etapa de roteamento para direcionar esse atendente específico por um determinado período de tempo antes que a etapa de roteamento expire.

Veja a seguir as perguntas mais frequentes sobre como esse recurso funciona. 

 **Posso usar este recurso junto com o Identificador do último atendente do Customer Profiles para rotear um cliente para o último atendente que lidou com seu problema?** 

Os perfis de clientes do Amazon Connect out-of-the fornecem sete atributos padrão baseados em registros de contato, incluindo o atributo identificador do último agente, que identifica o último agente com o qual o cliente se conectou. É possível usar esses dados para rotear novos contatos de um determinado cliente para o mesmo atendente que atendeu o contato anteriormente. Para fazer isso, primeiro use o bloco de fluxo do Customer Profiles para recuperar um perfil de cliente usando pelo menos um identificador de pesquisa, como `Phone = $.CustomerEndpoint.Address`. Para obter mais informações, consulte [Propriedades: obter perfil](customer-profiles-block.md#customer-profiles-block-properties-get-profile).

Em seguida, você pode usar a opção **Definir manualmente** no bloco **Definir critérios de roteamento** para especificar que cada contato deve ser roteado para `$.Customer.CalculatedAttributes._last_agent_id` (uma JSONPath referência) em vez de codificar uma ID de usuário específica e definir um prazo de validade para restringir cada contato a ser roteado para o último agente. Para obter mais informações sobre JSONPath referência, consulte[Lista de atributos de contato disponíveis no Amazon Connect e suas JSONPath referências](connect-attrib-list.md). Para acessar mais informações sobre os atributos padrão disponíveis por meio do Amazon Connect Customer Profiles, consulte [Atributos calculados padrão no Amazon Connect Customer Profiles](customerprofiles-default-calculated-attributes.md).

 **Se o atendente preferencial não estiver disponível, o que acontece?** 

 Se você tiver uma etapa de roteamento definida visando um atendente preferencial específico, o contato ficará restrito a esse atendente até que a etapa de roteamento expire. Isso ocorre independentemente do seguinte: 

1.  O atendente estar on-line ou não.

1.  O atendente estar on-line, mas ocupado com outros contatos e não poder ser roteado para um contato adicional no momento. 

1.  O atendente estar on-line, mas em um status personalizado não produtivo.  

1.  O atendente ter sido excluído da instância (o userID ainda é considerado válido)  

 Por exemplo, imagine que você restringiu um contato específico para direcionar a atendente Jane Doe com expiração de 30 segundos, mas Jane Doe está atualmente off-line. No entanto, o contato ficará restrito a Jane Doe por 30 segundos, após os quais a etapa de roteamento expirará e o contato poderá ser oferecido a outro atendente disponível na fila.  

 **Qual é o número máximo de atendentes que posso direcionar em uma única etapa de atendente preferencial?** 

 É possível direcionar até 10 atendentes.  

 **Posso criar um critério de roteamento que inclua etapas de roteamento com base no atendente preferencial e etapas de roteamento com base em atributos predefinidos?** 

 Sim. Por exemplo, é possível criar um critério de roteamento em duas etapas, em que a etapa 1 direciona o contato para um atendente preferencial específico por ID de usuário com base no atendente previsto como o atendente mais adequado pelo seu modelo de aprendizado de correspondência personalizado com uma expiração determinada e, em seguida, a etapa 2 direciona o contato com base em atributos predefinidos, como exigir um nível mínimo de proficiência em espanhol. 

## Cenários
<a name="set-routing-criteria-scenarios"></a>

 Consulte estes tópicos para ver cenários que usam este bloco: 
+  [Como fazer referência a atributos de contato no Amazon Connect](how-to-reference-attributes.md) 