You are viewing the Portuguese (Brazil) site, but your language preference is set to English. Switch to English site →

Menu

Gerenciar fluxos do Flex

No momento, você está lendo a documentação do Flex Legacy Messaging. Se você estiver começando com uma nova implementação do Flex, considere usar o Flex Conversations.

Um fluxo flexível é a lógica que vincula uma identidade de mensagens, como um nome do WebChat ou um número de telefone baseado em SMS, ao Flex. Os Flex Flows (Fluxos do Flex) também podem ser chamados de manipuladores de mensagens, porque descrevem a maneira como uma identidade de contato deve lidar com mensagens de entrada. Quando você estiver configurando seu contact center, cada número de telefone, canal de chat ou outra identidade de contato do canal de mensagens precisará de um Flex Flow (Fluxo do Flex) correspondente.

Os fluxos do Flex podem ser gerenciados por meio da interface de usuário no Twilio Console ou da API do Flex Flow (Fluxo do Flex).

Tipos de integração

Quando uma mensagem chega ao seu Flex Flow (Fluxo do Flex), o Twilio precisa saber como lidar com ele. Você pode configurar o Flex Flow (Fluxo do Flex) com algumas opções:

Studio (padrão)

Incoming messages are routed to a specific configured Twilio Studio flow. Studio Flows are generally invoked before the task is routed to an agent. Tasks are passed to agents via Studio’s Send to Flex widget, which creates a task and removes Studio from the engagement. For Flex Flows created via the API, Studio uses the channel type to populate the Task attributes for the current Task and render them appropriately in the Flex UI. For example, if the channelType is facebook, whatsapp, or line, the Send to Flex widget will set the Task Channel to "Programmable Chat".

For more info, see Configure pre-agent workflow with Studio and Core Concepts: Studio Flows.

Tarefa do TaskRouter

Para ignorar o Studio e criar imediatamente uma Tarefa do TaskRouter para uma mensagem recebida, você precisa definir um Flex Flow integrationType como Tarefa (ou seja, "IntegrationType=task"uma solicitação de API curl). Ao fazer sua solicitação Flex Flow por meio da API, você também precisa definir as seguintes propriedades:

  • Integration.WorkspaceSid e Integration.WorkflowSid para atribuir a nova Tarefa do TaskRouter a um Workspace e a um fluxo de trabalho nesse workspace. Se você atualizar o fluxo flexível usando a interface de usuário, o SID do Workspace será definido implicitamente.
  • A propriedade Integration.Channel para definir o canal de tarefas apropriado para a tarefa TaskRouter que será criada. A definição do Integration.Channel é necessária para que o Flex UI (IU do Flex) mostrar as conversas de mensagens corretamente. Se não estiver definido, as Tarefas serão visíveis, mas não renderizadas como chats. Defina‐o como o SID ou o nome exclusivo do Canal de Tarefas (o Canal de Tarefas padrão é "default").
    • Para SMS, defina como "sms".
    • Para o WebChat e todos os outros canais de mensagens, configure como "chat".

Para obter uma lista completa de propriedades e amostras de código em diferentes linguagens de programação, consulte o recurso Flex Flow Resouce.

Widget de solicitação de Webhook/HTTP externo

As mensagens recebidas são roteadas para um Webhook de sua escolha. O Twilio enviará mensagens recebidas para você e você poderá usar as informações e os metadados para criar uma integração personalizada com o Flex. Por exemplo, você pode usar o payload da mensagem recebida para alimentar um fluxo interno de bots.

Se você estiver planejando usar um tipo de integração diferente para suas mensagens de entrada e de saída (por exemplo, as mensagens de entrada serão roteadas pelo Studio, mas as mensagens de saída criarão uma tarefa atribuída automaticamente ao agente), então, crie dois manipuladores de mensagens Flex Flow (Fluxo do Flex).

Por padrão, seu projeto tem fluxos flexíveis para SMS de entrada e chat da Web de entrada. Se os fluxos flexíveis padrão funcionarem para você, não será necessário se preocupar em configurar novos fluxos!

O manipulador Outbound recém-criado pode ser definido como enabled=false. Os canais de saída sempre serão criados com o Manipulador especificado pelo desenvolvedor. Os fluxos de entrada, no entanto, devem aderir a verificações rigorosas que não sejam de conflito entre a identidade do contato e o tipo de integração.

Canais de Chat e sessões de Proxy

Quando uma conversa termina depois que um agente pressiona o botão End Chat (Encerrar chat), duas coisas acontecem:

  1. O Canal de Chat está marcado como inativo
  2. A sessão do Proxy é excluída

O Flex UI (IU do Flex) aciona essas ações e precisa estar aberta para que a exclusão ocorra.

Ocasionalmente, o agente fecha o Flex UI (IU do Flex) enquanto ainda há uma Tarefa ativa. Se a Tarefa permanecer ativa por 24 horas, ela acabará acabando e será excluída.

Isso remove a Tarefa da lista de Tarefas do agente. No entanto, como a interface do usuário foi fechada quando isso aconteceu, não foi possível acionar as duas ações de limpeza, e tanto a sessão do proxy quanto o canal de chat persistem.

  1. Isso se torna um problema se o mesmo cliente grava novamente:
    A sessão de Proxy para esse número de telefone ainda está ativa, portanto, o Proxy adiciona essa mensagem à sessão de Proxy existente.
  2. O Chat o adiciona ao Canal de Chat existente e é enviado para ser exibido na interface de usuário do agente.
  3. No entanto, a tarefa associada à conversa original foi excluída. Portanto, não há representação visual dela na interface de usuário do agente. A mensagem não é exibida em nenhum lugar e parece ser "lost".

Para resolver este cenário, você vai querer usar o Janitor do Flex Channel.

Channel Janitor

Quando ativado com a API ou no Twilio Console, o Channel Janitor escuta os seguintes eventos do TaskRouter:

  • task.canceled
  • task.wrapup
  • task.completed
  • task.system-deleted

Se algum desses eventos entrar e o Channel Janitor estiver ativado, ele limpará o Canal de Chat e a sessão de Proxy, mantendo o estado em sincronia com o TaskRouter.

Observe que task.deleted não está incluído na lista de eventos que acionam a limpeza automática. Infelizmente, esse evento não pode ser limpo depois, pois algumas personalizações do Flex dependem do envio disso em cenários em que o Canal de Chat precisa ser preservado.

Se isso estiver causando um problema em sua conta Flex, use a Verificação do sistema para limpar os canais de chat e as sessões de proxy obsoletos.

O Channel Janitor marca o Canal de Chat como inativo para que ele seja ignorado em conversas futuras. Você ainda pode acessar o histórico de mensagens. No entanto, a sessão de Proxy será completamente excluída.

Se você estiver gerenciando sua própria orquestração de mensagens, não será necessário usar o Channel Janitor ao criar um novo Flex Flow (Fluxo do Flex).

Canais de longa duração

Quando ativado com a API, os canais de chat de longa duração permitem que o histórico de mensagens de seus clientes persista entre várias interações; por exemplo, um cliente pode conversar com um agente e, um dia depois, retornar e bater papo com outro agente, que poderá ver o histórico de mensagens. Você pode usar canais de longa duração e o Channel Janitor juntos. O Channel Janitor limpará as sessões de Proxy normalmente, mas deixará os Canais de Chat intactos. Quando uma nova mensagem é recebida, a orquestração de mensagens do Flex busca o Canal de Chat existente e o usa para a interação.

Usar canais de chat de longa duração, embora úteis para a experiência do agente, pode apresentar problemas de segurança e desempenho em escala. Saiba mais sobre como dimensionar e proteger um aplicativo de chat para saber mais sobre considerações úteis para manter canais de chat de longa duração.

Próximas etapas

Classifique esta página:

Precisa de ajuda?

Às vezes, todos nós precisamos; a programação é difícil. Receba ajuda agora da nossa equipe de suporte, ou confie na sabedoria da multidão navegando pelo Stack Overflow Collective da Twilio ou buscando a tag Twilio no Stack Overflow.

Obrigado pelo seu feedback!

Selecione o(s) motivo(s) para seu feedback. As informações adicionais que você fornece nos ajudam a melhorar nossa documentação:

Enviando seu feedback...
🎉 Obrigado pelo seu feedback!
Algo deu errado. Tente novamente.

Obrigado pelo seu feedback!

thanks-feedback-gif