Olá, @Andre Costa.
Fiz isso recentemente, você precisa remover dos agentes as permissões nativas de transferência e executar as transferências somente pelo script.
No perfil dos agentes, remova as permissões de transferência, como:
-
Conversation > Communication > Blind transfer
-
Conversation > Communication > Blind transfer Agent
-
Conversation > Communication > Blind transfer Queue
-
Conversation > Communication > Blind transfer External Contact
-
Conversation > Communication > Consult transfer
-
Conversation > Communication > Consult transfer Agent
-
Conversation > Communication > Consult transfer Queue
-
Conversation > Communication > Consult transfer External Contact
Depois, crie no script apenas os botões/opções de transferência permitidas e chame uma Data Action para realizar a transferência controlada.
Para o agente conseguir executar a Data Action pelo script, ele precisa ter as permissões:
Na Data Action, você pode usar o endpoint:
POST /api/v2/conversations/conversationID/participants/participantID/replace/queue
No body, envie a fila de destino, por exemplo usando o queueId.
Nesse cenário, o participantID deve ser o participante que será substituído, normalmente o participante do agente atual. A interação é movida para a fila definida pela API e o agente é removido da interação. Pelo script, esse processo é bem simples, pois já são variáveis nativas do script.
------------------------------
Arthur Pereira Reinoldes
------------------------------