View a markdown version of this page

Habilitar chamadas na aplicação, pela web e por vídeo com vários usuários - Amazon Connect Customer

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á.

Habilitar chamadas na aplicação, pela web e por vídeo com vários usuários

Connect Customer suporta a adição de mais usuários para participar da chamada no aplicativo, na web e de vídeo em uma chamada existente. É possível adicionar até quatro usuários a uma chamada de vídeo em andamento ou agendada pela web ou na aplicação, com um total de seis participantes: o atendente, o primeiro usuário e quatro outros participantes (usuários ou atendentes).

Como adicionar participantes a uma chamada com vários usuários

  1. Para habilitar chamadas multiusuário, você precisa ativar o monitoramento aprimorado de contatos de várias partes a Connect Customer partir do console.

  2. Depois que isso for concluído, você poderá usar a Connect Customer StartWebRTCContact API existente para criar um contato e encaminhá-lo para um agente.

  3. Para adicionar mais um participante, primeiro crie um participante passando ContactId da resposta da StartWebRTCContact API para a CreateParticipant API. CreateParticipantnão terá sucesso até que o chamador original se conecte ao agente. Os recursos de vídeo e compartilhamento de tela do participante podem ser configurados no campo ParticipantDetails.ParticipantCapabilities.

  4. Quando CreateParticipant concluído com sucesso, ele retorna um token de participante. Esse token pode ser usado em uma solicitação para CreateParticipantConnection with Type set toWEBRTC_CONNECTION. A resposta inclui o ConnectionData que pode ser usado para participar da reunião usando as bibliotecas de cliente do SDK do Amazon Chime para o participante adicional criado. Siga as instruções de integração para permitir que o usuário final da aplicação participe da reunião.

    nota

    CreateParticipantretornará um erro de Solicitação inválida se o agente ainda não estiver conectado ao contato. Para aplicativos de negócios em que os usuários podem tentar ingressar antes que o agente seja conectado, consulteProcessar a participação de usuários simultâneos.

  5. Os clientes adicionais podem se conectar a qualquer momento após as CreateParticipantConnection devoluções. Depois que os participantes ingressam, todo o comportamento adicional de voz e gravação é semelhante ao recurso com vários participantes. Os novos participantes podem ativar o vídeo e o compartilhamento de tela, se seus recursos tiverem sido ativados na CreateParticipant solicitação.

    nota

    Um total de apenas seis participantes (clientes e atendentes) podem participar de uma chamada ativa a qualquer momento. As bibliotecas cliente do SDK do Amazon Chime exibem um código de status indicando que a chamada está lotada quando uma ação é realizada para adicionar mais participantes além do limite que ocorre durante o ingresso na reunião.

  6. Depois que os participantes se conectam à chamada e, depois, são desconectados normalmente ou não por um tempo pré-configurado, as credenciais de participante deles não são mais válidas. Se o onAudioVideoDidStop observador da biblioteca cliente receber um código de status indicando que o participante não é mais válido, os aplicativos podem acionar uma nova chamada de CreateParticipant e para o back-end CreateParticipantConnection da sua empresa para voltar à chamada.

  7. Para cada conexão de usuário adicional, Connect Customer cria um novo contato e registro de contato. Todos os contatos adicionais foram PreviousContactId configurados para o InitialContactId (ou seja, aquele que foi criado pela StartWebRTCContact API) para rastreá-lo até o contato original. cada registro de contato:

    • Tem um "InitiationMethod“: “WEBRTC_API”

    • Tem os seguintes atributos de segmento:

      "SegmentAttributes": { "connect:Subtype": { "ValueString": "connect:WebRTC" } },

    Além disso, cada registro de contato tem o nome de exibição fornecido em CreateParticipant. As informações do atendente não são preenchidas para nenhum contato adicional do usuário. Isso é para evitar a duplicação das informações do atendente.

    O diagrama a seguir ilustra como os IDs de contato anteriores e seguintes são associados em um cenário em que vários participantes e atendentes são incluídos em uma chamada de vídeo pela web, na aplicação ou por vídeo.

    Os IDs de contato são mapeados para chamadas WebRTC de vários participantes.

Processar a participação de usuários simultâneos

Talvez as empresas queiram criar aplicativos nos quais os usuários possam participar em qualquer ordem, a qualquer momento. Por exemplo, seu aplicativo pode enviar por e-mail um link com um ID de compromisso externo para vários usuários, que deve ser usado para participar de uma chamada em um horário agendado. Para alcançar esse comportamento, os back-ends de negócios devem garantir que:

  • O primeiro usuário que ingressa aciona uma solicitação. StartWebRTCContact

  • Todos os usuários adicionais usam CreateParticipant e CreateParticipantConnection, mas somente depois que o primeiro usuário se conecta a um agente.

Esta seção descreve uma possível implementação, supondo que o backend da sua empresa contenha uma loja (como o DynamoDB) que possa armazenar metadados sobre compromissos agendados. Observe que os compromissos agendados não são um recurso Connect Customer, mas sim do exemplo de implementação.

Quando o usuário navega até a página, ele deve enviar uma solicitação ao backend. O backend confere:

  • Se o usuário pode iniciar o compromisso e se é o horário correto.

  • Se o Connect Customer contato já foi criado por meio de uma chamada StartWebRTCContact.

Se o contato ainda não tiver sido criado, o cliente deve ligar para a StartWebRTCContact API com um fluxo personalizado e um atributo indicando a fila de agentes do agente correspondente que deveria participar da chamada. O fluxo deve incluir um bloco Definir fila de trabalho configurado para usar a fila de atendentes fornecida nos atributos. O fluxo deve então encerrar com um bloco Transferir para a fila. Antes de a API ser chamada, o backend deve atualizar atomicamente o armazenamento para mover a chamada do estado “Nenhuma” para “Criando” e lidar com quaisquer exceções de modificação simultânea.

As credenciais do StartWebRTCContact devem ser devolvidas ao cliente e ele deve participar imediatamente da chamada. O contato deve ser marcado como “Criado” no armazenamento comercial, junto com o ID do contato. Essa API de negócios precisa ser sincronizada entre todos os possíveis participantes que ingressam. Isso pode ser feito usando as operações atômicas fornecidas por um banco de dados.

Se o contato estiver no estado “criando”, o usuário adicional deverá retornar a esse estado, exibir as informações relevantes e tentar novamente após uma breve espera.

Se o contato for criado: eles devem recuperar o ID do contato e chamar a DescribeContact API. O backend de negócios deve procurar o campo Contact.AgentInfo.ConnectedToAgentTimestamp. Se não existir, o primeiro usuário não se conectou ao atendente, e o usuário adicional deverá exibir as informações relevantes e tentar novamente após uma breve espera.

Se o campo existir, o back-end deve chamar e CreateParticipant, em seguida CreateParticipantConnection, obter ConnectionData, conforme descrito nas seções anteriores.

O fluxo de backend deve ser semelhante ao seguinte.

Diagrama de fluxo de back-end para lidar com uniões simultâneas de usuários.

Você pode consultar os exemplos de chamadas no aplicativo Connect Customer GitHub para implementação.

O atendente não vai ingressar usando o mesmo site. O atendente deve definir o status no Painel de controle de contatos como Disponível. Quando o primeiro cliente entra, o atendente é chamado automaticamente.

Faturamento

O faturamento para participantes adicionais é equivalente ao faturamento existente para o cliente inicial e qualquer atendente na chamada. Áudio, vídeo e compartilhamento de tela geram suas próprias cobranças específicas correspondentes a cada participante.

Comportamento da espera

Durante uma videochamada ou sessão de compartilhamento de tela, os atendentes podem ver o vídeo ou o compartilhamento de tela do participante mesmo quando ele está em espera. É responsabilidade do participante lidar com as PII adequadamente. Se estiver usando o aplicativo CCP nativo, o vídeo do atendente será desabilitado se algum participante que não seja atendente estiver em espera. Se quiser alterar esse comportamento, crie um CCP personalizado e um widget de comunicação.

Para obter mais informações, consulte Integrar chamadas na aplicação, pela web, por vídeo e compartilhamento de tela de maneira nativa à sua aplicação.

Limitação

A seguinte limitação existe ao criar participantes adicionais na aplicação, pela web e por vídeo e de compartilhamento de tela:

  • Os participantes adicionais não poderão ter os recursos de vídeo definidos como Enviar, se o contato original tiver sido criado com os recursos de vídeo do cliente definidos como Nenhum.