Conectores de módulos de IU y eventos personalizados

Toda la comunicación entre un módulo de IU de Agent Assist y su conector se realiza a través de eventos personalizados. El conector del módulo de IU facilita los eventos entre el escritorio del agente y los módulos de IU.

Por ejemplo, cuando se recibe una sugerencia de Agent Assist, un servicio de conector de módulos de la IU enviará un evento analyze-content-received a los módulos de la IU, y los módulos se suscribirán a esos eventos.

Detalles del evento personalizado

Para obtener la lista completa de los eventos del módulo de IU y sus cargas útiles, consulta la documentación de la API de eventos del módulo de IU.

Para enviar manualmente un evento personalizado, usa la siguiente sintaxis:

    dispatchAgentAssistEvent('event_name', {
      detail: event_payload,
    });

En el siguiente ejemplo, se muestra cómo enviar el evento analyze-content-received:

if (newMessageFromHumanAgent) {
  dispatchAgentAssistEvent('analyze-content-received', {
    detail: {
      participantRole: 'HUMAN_AGENT',
      request: {
        textInput: {text: newMessageFromHumanAgent},
        messageSendTime: new Date().toISOString()
      }
    }
  });
}

Después de que envíes un evento personalizado, verás lo siguiente en el servicio del conector del módulo de la IU:

    this.api.analyzeContent(...).then(function (response) {
      dispatchAgentAssistEvent('analyze-content-response-received', {
       detail: {response: response}});
    });

Verás lo siguiente en el módulo:

    addAgentAssistEventListener('analyze-content-response-received', function (event) {
      // Use the AnalyzeContent response to render suggestions in the UI.
    });

Para suscribirte manualmente a un evento personalizado, usa la siguiente sintaxis:

    addAgentAssistEventListener('event_name', function (event) {
      // `event.detail` contains the event payload.
    });

En el siguiente ejemplo, se muestra una suscripción a eventos personalizados:

addAgentAssistEventListener('smart-reply-selected', function (event) {
  var chipContent = event.details;
  // Populate the agent chat box with the selected Smart Reply chip.
});

Conectores de módulos de IU personalizados

También puedes usar eventos personalizados para crear tus propios conectores de módulos de IU personalizados, lo que te permite integrar los módulos de IU en un escritorio del agente que no es compatible con Agent Assist. Para obtener más información sobre la implementación de módulos y conectores, consulta la documentación de implementación.

Si integras módulos de la IU de Agent Assist en cualquier escritorio del agente sin un conector de módulo de IU compilado previamente, deberás escribir uno personalizado. Una vez que hayas creado un conector de módulo de IU personalizado, vuelve a la documentación de implementación del módulo de IU para obtener detalles sobre cómo configurar tus conectores y cómo implementar los módulos. Puedes usar un conector de módulo de IU personalizado con un contenedor administrado o con módulos individuales.

Un conector de módulo de IU personalizado debe ser responsable de las siguientes operaciones:

  1. Envía un evento para seleccionar la conversación activa. Esto inicializará la conversación junto con sus participantes. Nombre del evento: active-conversation-selected
  2. En el caso de las conversaciones de chat, se envía un evento cada vez que se registra una nueva expresión del agente o del cliente. Nombre del evento: analyze-content-requested
  3. Notifica al sistema de módulos cuando se activa o desactiva el "modo oscuro" en la aplicación principal. Nombre del evento: dark-mode-toggled

Además, un conector de módulo de IU personalizado debe suscribirse a los siguientes eventos para actualizar la IU del escritorio del agente cuando corresponda:

  1. En el caso de la Respuesta inteligente, actualiza el campo de entrada del agente cada vez que se seleccione un chip de Respuesta inteligente. Nombre del evento: smart-reply-selected.
  2. En el caso de Generative Knowledge Assist, actualiza el campo de entrada del agente cada vez que se pegue una respuesta de Knowledge Assist en el cuadro de entrada. Nombre del evento: knowledge-assist-v2-answer-pasted.

Inicializa varias instancias de módulos de la IU con namespace

Para cargar varias instancias de los módulos de la IU en la misma página, los escritorios de los agentes necesitan varias instancias de inicialización. Para mantenerlos separados, en la inicialización, pasa una opción de configuración namespace a los módulos de IU y a UIModulesConnector.

Usa esta opción si observas que se comparten mensajes y sugerencias entre distintas conversaciones en el escritorio del agente. Por ejemplo:

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);