Toda a comunicação entre um módulo da IU do Agent Assist e o respetivo conector ocorre através de eventos personalizados. O conetor do módulo de IU facilita os eventos entre o ambiente de trabalho do agente e os módulos de IU.
Por exemplo, quando é recebida uma sugestão do Agent Assist, um serviço de conetor de módulos da IU envia um evento analyze-content-received
para os módulos da IU, e os módulos subscrevem esses eventos.
Detalhes do evento personalizado
Para ver a lista completa de eventos do módulo da IU e as respetivas cargas úteis, consulte a documentação da API de eventos do módulo da IU.
Para enviar manualmente um evento personalizado, use a seguinte sintaxe:
dispatchAgentAssistEvent('event_name', {
detail: event_payload,
});
O exemplo seguinte mostra como enviar o evento analyze-content-received
:
if (newMessageFromHumanAgent) { dispatchAgentAssistEvent('analyze-content-received', { detail: { participantRole: 'HUMAN_AGENT', request: { textInput: {text: newMessageFromHumanAgent}, messageSendTime: new Date().toISOString() } } }); }
Depois de enviar um evento personalizado, verá o seguinte no serviço do conector do módulo da IU:
this.api.analyzeContent(...).then(function (response) {
dispatchAgentAssistEvent('analyze-content-response-received', {
detail: {response: response}});
});
No módulo, vai ver o seguinte:
addAgentAssistEventListener('analyze-content-response-received', function (event) {
// Use the AnalyzeContent response to render suggestions in the UI.
});
Para subscrever manualmente um evento personalizado, use a seguinte sintaxe:
addAgentAssistEventListener('event_name', function (event) {
// `event.detail` contains the event payload.
});
O exemplo seguinte mostra uma subscrição de eventos personalizados:
addAgentAssistEventListener('smart-reply-selected', function (event) { var chipContent = event.details; // Populate the agent chat box with the selected Smart Reply chip. });
Conetores de módulos de IU personalizados
Também pode usar eventos personalizados para criar os seus próprios conetores de módulos da IU personalizados, que lhe permitem integrar os módulos da IU num ambiente de trabalho de agente que não é suportado pelo Agent Assist. Para mais informações sobre a implementação de módulos e conetores, consulte a documentação de implementação.
Se estiver a integrar módulos da IU do Agent Assist em qualquer ambiente de trabalho do agente sem um conector de módulo da IU pré-criado, tem de escrever um personalizado. Depois de criar um conetor de módulo de IU personalizado, regresse à documentação de implementação do módulo de IU para ver detalhes sobre a configuração dos conetores e a implementação dos módulos. Pode usar um conector de módulo de IU personalizado com um contentor gerido ou com módulos individuais.
Um conector de módulo de IU personalizado tem de ser responsável pelas seguintes operações:
- Enviar um evento para selecionar a conversa ativa. Esta ação inicializa a conversa juntamente com os respetivos participantes.
Nome do evento:
active-conversation-selected
- Para conversas de chat, enviar um evento sempre que uma nova expressão for
registada a partir do agente ou do cliente.
Nome do evento:
analyze-content-requested
- Notificar o sistema de módulos quando o "modo escuro" é ativado/desativado na aplicação principal.
Nome do evento:
dark-mode-toggled
Além disso, um conector de módulo de IU personalizado tem de subscrever os seguintes eventos para atualizar a IU do computador do agente, quando aplicável:
- Para a Resposta inteligente, atualize o campo de entrada do agente sempre que um chip de Resposta inteligente
for selecionado.
Nome do evento:
smart-reply-selected
. - Para a assistência de conhecimentos generativa, atualize o campo de entrada do agente sempre que uma resposta de assistência de conhecimentos for colada na caixa de entrada.
Nome do evento:
knowledge-assist-v2-answer-pasted
.
Inicialize várias instâncias de módulos da IU com namespace
Para carregar várias instâncias dos módulos da IU na mesma página, os ambientes de trabalho dos agentes precisam de várias instâncias de inicialização. Para os manter separados, na inicialização, transmita uma opção de configuração namespace
aos módulos da IU e ao UIModulesConnector
.
Use esta opção se notar mensagens e sugestões partilhadas entre conversas distintas no seu ambiente de trabalho do agente. Por exemplo:
const connector = new UiModulesConnector();
const config = {};
// ...other UI module connector config options
config.uiModuleEventOptions = { namespace: this.recordId }
const containerElement = document.createElement("agent-assist-ui-modules-v2");
// ...other UI modules HTML attributes
containerEl.setAttribute("namespace", this.recordId);