Eventos en Salesforce

Nota: Este artículo se aplica a Genesys Cloud para Salesforce.

Puede configurar la integración para activar o escuchar eventos en la consola de Salesforce en Salesforce Classic o en todas las versiones de Lightning Experience (con la API postMessage o el servicio de mensajes Lightning). Los tipos de eventos y la forma en que los activa o los escucha depende de la interfaz de usuario de Salesforce que utilice.

Nota: Este artículo de personalización avanzada está destinado a desarrolladores que estén familiarizados con Salesforce.

Importante: Genesys recomienda que los nuevos desarrollos para Lightning Experience utilicen Lightning Message Service (LMS), no la API postMessage. Salesforce planea lanzar LMS en Summer '20. Genesys eventualmente desaprobará el uso de la API web postMessage.

A través del modelo de eventos en el kit de herramientas de integración de la consola de Salesforce, la integración se activa y escucha los eventos que se generan en torno a los siguientes elementos:

  • Cambios de estado (como Disponible, Ocupado, Ausente, Fuera de la oficina y En cola)
  • Actividades de llamada (conectado, desconectado, ACW requerido, ACW completado)
  • Cambios en el estado de interacción (captura, desconexión, silencio, retención, pausa segura, transferencia ciega, transferencia de consulta, transferencia de conclusión, sesión segura)

Los desarrolladores pueden crear páginas de Visualforce que utilicen estos eventos. Por ejemplo, código, consulte Eventos en la aplicación de consola Salesforce Classic (GitHub).

Para obtener información sobre la consola de Salesforce, consulte Personalizar una consola con componentes personalizados en Salesforce Classic en la documentación de Salesforce.

Para obtener información sobre el uso del modelo de eventos, consulte la Kit de herramientas de integración de la consola de Salesforce para Salesforce Classic en la documentación de Salesforce.

La integración puede activar los siguientes eventos y enviarlos a Salesforce.

Nota: Estos nombres de eventos comienzan con inin.salesforce.constants.consoleevent.pc., Seguidos del nombre en la lista, por ejemplo, inin.salesforce.constants.consoleevent.pc.UPDATE_STATUS.

ACW_COMPLETED

ACW completado.

Parámetros

Nombre Tipo de datos Descripción Notas
razón Cuerda El tipo de evento.
InteracciónId Cuerda ID de la interacción.

Ejemplo

{
    "reason": "acw_completed",
    "interactionId": "44560c74-5e84-4062-94b6-5680cdeb54d5" 
}

ACW_REQUIRED

Se requiere ACW.

Parámetros

Nombre Tipo de datos Descripción Notas
razón Cuerda El tipo de evento.
InteracciónId Cuerda ID de la interacción.

Ejemplo

{ 
    "reason": "acw_required",
    "interactionId": "44560c74-5e84-4062-94b6-5680cdeb54d5"
}

CLIENT_EVENT

Evento del cliente.

Parámetros

Nombre Tipo de datos Descripción Notas
razón Cuerda El tipo de evento.
datos Objeto Ver objeto de datos.

objeto de datos

Define la acción.

Parámetros

Nombre Tipo de datos Descripción Notas
categoría Cuerda El tipo de evento.

Para más información, ver Eventos por tipo de suscripción (Genesys Cloud Developer Center) en la documentación de Genesys Cloud Embeddable Framework.

datos Objeto

Ejemplo

{
    "reason": "client",
    "data": {
        "type": "Notification",
        "category": "interactionSelection",
	"data": { }
    }
}

 

INTERACTION_EVENT

Cambio de estado de interacción.

Parámetros

Nombre Tipo de datos Descripción Notas
razón Cuerda El tipo de acción.
datos Objeto Ver objeto de datos.

objeto de datos

Define la acción.

Parámetros

Nombre Tipo de datos Descripción Notas
categoría Cuerda El tipo de evento. Valores válidos: cambiar, agregar.
datos Objeto

Ejemplo

{
    "reason": "interaction",
    "data": {
	"category": "change",
	"data": { }
    }
}

INTERACTION_CONNECTED

Interacción conectada.

Parámetros

Nombre Tipo de datos Descripción Notas
razón Cuerda El tipo de evento.
InteracciónId Cuerda ID de la interacción.

Ejemplo

{
    "reason": "connected",
    "interactionId": “44560c74-5e84-4062-94b6-5680cdeb54d5″
}

INTERACTION_DISCONNECTED

Interacción desconectada.

Parámetros

Nombre Tipo de datos Descripción Notas
razón Cuerda El tipo de evento.
InteracciónId Cuerda ID de la interacción.

Ejemplo

{
    "reason": "disconnected",
    "interactionId": “44560c74-5e84-4062-94b6-5680cdeb54d5″
}

DESCONECTADO

Usuario desconectado.

Parámetros

Nombre Tipo de datos Descripción Notas
razón Cuerda El tipo de evento.

Ejemplo

{
    "reason": "logged_out"
}

ESTADO DE ACTUALIZACIÓN

Usuario desconectado.

Parámetros

Nombre Tipo de datos Descripción Notas
razón Cuerda El tipo de evento.
estado Cuerda El estado del agente.
identificación Cuerda ID del estado seleccionado (primario o secundario).
sub_status Cuerda El estado secundario del agente. Si la integración usa estados secundarios, la respuesta incluye información de estado secundario.

Ejemplo

{
    "reason": "status_updated",
    "status": "AVAILABLE",
    "id": "44560c74-5e84-4062-94b6-5680cdeb54d5",
    "sub_status":"Available Work At Home"
}

La integración expone las siguientes acciones sobre cambios de estado y cambios en el estado de un agente.

Nota: Estas acciones comienzan con inin.salesforce.constants.consoleevent., Seguido del nombre en la lista, por ejemplo, inin.salesforce.constants.consoleevent.changestatus.

addAssociation

Añade una nueva asociación de contacto o relación a los registros de interacción.

Parámetros

Nombre Tipo de datos Descripción Notas
datos Objeto Ver objeto de datos.

objeto de datos

Define la acción.

Parámetros

Nombre Tipo de datos Descripción Notas
escribe Cuerda Tipo de asociación.

Valores: contacto y relación.

El valor del contacto rellena el menú Nombre y el valor de la relación rellena el menú Relacionado con en la vista del registro de interacciones de la interfaz del cliente integrado.

Note: Ensure that you associate contact value with WhoId and relation value with WhatId of the Task record in Salesforce. If you associate with incompatible record fields, then any requests to save call logs fail. For more information about Task record fields, see Salesforce documentation.

identificación Cuerda ID de la asociación.
texto Cuerda Nombre mostrado de la asociación.
seleccione Booleano
  • Es cierto: La integración selecciona automáticamente la asociación para todas las interacciones activas.
  • falso: La integración no selecciona automáticamente la asociación para todas las interacciones activas.
InteracciónId Cuerda ID de la interacción para recibir la asociación.  If select is set to true, the integration adds the association only to the interaction with this ID.

Ejemplos de

En este ejemplo, la integración añade una nueva asociación de contacto con el ID 1234 y el nombre mostrado John Smith a una interacción.

{ 
  "type": "PureCloud.addAssociation",  
  "data": { 
      "type": "contact", 
      "id": "1234", 
      "text": "John Smith"
   } 
}

addCustomAttributes

Agrega atributos personalizados a las interacciones.

Parámetros

Nombre Tipo de datos Descripción Notas
datos Objeto Ver objeto de datos.

objeto de datos

Define las acciones.

Parámetros

Nombre Tipo de datos Descripción Notas
identificación Cuerda ID de la interacción.
atributos Objeto Pares clave-valor de atributos de interacción personalizados.

Ejemplo

{ 
    "data": {
        "id": "1234-1234-1234-1234",
        "attributes": {
            "record_url": "/0000413456"
        }
    }
}

cambian de estado

Actualiza el estado de una interacción.

Parámetros

Nombre Tipo de datos Descripción Notas
datos Objeto Ver objeto de datos.

objeto de datos

Define la acción.

Parámetros

Nombre Tipo de datos Descripción Notas
acción Cuerda Estado deseado de la interacción.

Valores: recoger, desconectar, retener, silenciar, securePause, blindTransfer, consultarTransfer, concludeTransfer, secureSession. 

Uso único concluirTransferir para consultar traslados y SecureSession para flujos de IVR seguros.

identificación Cuerda ID de la interacción.
participantContext Objeto Ver participantContext objeto. Uso único participantContext cuando acción se establece en transferencia ciega o consultarTransfer.
secureSessionContext Objeto Ver objeto secureSessionContext. Uso único secureSessionContext cuando acción se establece en SecureSession.

participantContext objeto

Define la entidad que recibe la transferencia.

Parámetros

Nombre Tipo de datos Descripción Notas
transferTarget Cuerda ID de un agente o cola, nombre de flujo, ID de flujo o número de teléfono para una transferencia externa.

Prefije el nombre del flujo o el ID del flujo con sip:, por ejemplo, sip: AuditorSecureFlow.

Codifique caracteres especiales con el encodeURIComponent () método.

transferTargetType Cuerda Tipo de entidad de transferencia.

Valores: userId, queueId, dirección.

Usar Dirección con un nombre de flujo, un ID de flujo o un número de teléfono para una transferencia externa en transferTarget.

objeto secureSessionContext

Define la entidad que recibe la transferencia.

Parámetros

Nombre Tipo de datos Obligatorio u opcional Descripción Notas
flowId Cuerda Requerido ID del flujo seguro para recibir la interacción transferida.
datos del usuario Cuerda Requerido Datos proporcionados por el cliente.

Mapas a la Flow.InvocationData variable en el flujo seguro.

Advertencia: No utilice datos PCI o seguros con datos del usuario.

desconectar Booleano Opcional Desconecta la interacción después de crear la sesión segura (verdadero) o no desconecta la interacción después de crear la sesión segura (falso).

Ejemplos de

El siguiente ejemplo muestra una interacción transferida a un agente o cola sin consulta.

{
    "data": {
        "action": "blindTransfer",
        "id": "1234-1234-1234-1234",
        "participantContext": {
            "transferTarget": "3175550123",
            "transferTargetType": "address"
        }
    }
}

El siguiente ejemplo muestra una interacción transferida a un flujo de IVR seguro.

{
    "data": {
        "action": "secureSession",
        "id": "1234-1234-1234-1234",
        "secureSessionContext": {
            "flowId": "741f4f39-7a94-470d-a1dd-dd68d01e0dd8",
            "userData": "hello",
            "disconnect": false
        }
    }
}

cambiar Estado

Actualiza el estado del usuario.

Parámetros

Nombre Tipo de datos Descripción Notas
datos Objeto Ver objeto de datos.

objeto de datos

Define la acción.

Parámetros

Nombre Tipo de datos Descripción Notas
identificación Cuerda ID de la interacción.

Ejemplo 

{
    "data": {
        "id": "1234-1234-1234-1234"
    }
}

crearConferencia

Crea una conferencia a partir de múltiples interacciones.

Parámetros

Nombre Tipo de datos Descripción Notas
datos Objeto Ver objeto de datos.

 

objeto de datos

Define la acción.

Parámetros

Nombre Tipo de datos Descripción Notas
ID de interacción Formación Lista de ID de interacciones agregadas a la conferencia.

Ejemplo 

{
    "data": {
        "interactionIds": [ 
            "9641cedc-4cc2-48e1-84f7-fc4xxxx513e8", 
            "5eafbfc4-6ff4-40e4-a2d7-dxxxxxxxx809", 
            "363ba2ca-xxxx-405e-bebe-fc59b1ae517b"  
         ]
    }
}

Suscribir

Se suscribe a eventos de clientes.

Parámetros

Nombre Tipo de datos Descripción Notas
datos Objeto Ver objeto de datos.

 

objeto de datos

Define la acción.

Parámetros

Nombre Tipo de datos Descripción Notas
escribe Cuerda Tipo de evento al que suscribirse. Valores: Interacción, notificación, acción del usuario.
Categorías Matriz de cuerdas Categorías individuales sobre las que recibir notificaciones. Valores: Ver Eventos por tipo de suscripción.

Eventos por tipo de suscripción

Evento Categoría Datos
Interacción Tipo de datos Cadena Valores posibles: agregar, cambiar, conectar, desconectar, acw, desasignar, callbackPlaced, callbackCallEnded, blindTransfer, consultTransfer, completeConsultTransfer, secureSession. Tipo de datos ID de objeto o interacción
Notificación Tipo de datos Cuerda Valores posibles: interacciónSelección, actualización de chat, ventana de interacción, conversión de conversación.
UserAction Tipo de datos Cuerda Valores posibles: iniciar sesión, cerrar sesión, estación, estado, modal, enrutamientoEstado, ver. Tipo de datos Enrutamiento de objetos

Ejemplo

{
    "data": {
        "type": "Notification",
        "categories": ["interactionSelection", "chatUpdate", "interactionWindow", "conversationTranscription"]
    }
}

Consulte CLIENT_EVENT en Eventos para obtener detalles sobre cómo recibe el mensaje para los eventos de clientes suscritos.

A través de las API web de postMessage, la integración puede activar y escuchar los eventos que se generan en torno a cambios de estado, cambios de estado de interacción y suscripciones a eventos de Interacción, Notificación o UserActions.

Por ejemplo, código, consulte Eventos en la aplicación Salesforce Lightning (GitHub).

Nombre del evento Descripción
Apretón de manos Si API Window.postMessage se selecciona en la Configuración de eventos del cliente, la integración genera un evento de protocolo de enlace cada vez que se carga el cliente. El evento de reconocimiento proporciona el contexto que los componentes Lightning necesitan para poder disparar eventos al cliente Genesys Cloud for Salesforce.
Interacción

Cambios de estado de interacción de incendios.

Valores posibles: agregar, cambiar, conectar, desconectar, acw, desasignar, callbackPlaced, callbackCallEnded, blindTransfer, consultTransfer, completeConsultTransfer, secureSession.

Notificación

Cambios de estado de notificación de incendios.

Valores posibles: selección de interacción, actualización de chat, ventana de interacción, transcripción de conversación, actualización de mensaje.

UserAction

Activa los cambios de estado de la acción del usuario. 

Valores posibles: iniciar sesión, cerrar sesión, estación, estado, modal, enrutamientoEstado, ver.

Para más información, ver Eventos por tipo de suscripción (Genesys Cloud Developer Center) en la documentación de Genesys Cloud Embeddable Framework.

Nota: Todos los parámetros de devolución de llamada descritos en la documentación de Genesys Cloud Embeddable Framework están disponibles en la carga útil de datos de postMessage junto con el tipo de raíz agregado. Ver el Comuníquese con Genesys Cloud para Salesforce sección.

Los administradores configuran la configuración del centro de llamadas para que la integración se active y escuche eventos.

  1. En Salesforce, haga clic en Configuración.
  2. Buscar Paquetes instalados.
  3. Debajo Construir, haga clic en Paquetes instalados.
  4. Sobre el Paquetes instalados página, haga clic en Configurar junto al paquete Genesys Cloud for Salesforce.
  5. Debajo Configuración de eventos del cliente, configure los siguientes elementos para Mensajes de eventos del cliente:
  6. Para Tipo de mensaje de evento del cliente, Seleccione API Window.postMessage.

    Esta configuración hace que la integración genere un evento de protocolo de enlace cada vez que se carga el cliente. 

  7. (Opcional) Para Tipos de eventos del cliente, seleccione otros eventos (Interacción, Notificación y Acción del usuario) para suscribirse. Hacer clic Flecha para agregarlos debajo Elegido.
  8. (Opcional) Seleccione Expandir notificación de chat para recibir una carga útil ampliada para eventos de notificación de chat.
  9. Hacer clic Ahorrar.

Nota: Si agrega un componente de iluminación como un elemento de utilidad a su aplicación Lightning, asegúrese de seleccionar Iniciar automáticamente. Para más información, ver Agregar una barra de utilidades a las aplicaciones de iluminación en la documentación de Salesforce.

Para más información, ver Configurar eventos de cliente.

El cliente Genesys Cloud for Salesforce expone las siguientes acciones planteadas a través de las API web postMessage.

addAssociation

Añade una nueva asociación de contacto o relación a los registros de interacción.

Parámetros

Nombre Tipo de datos Descripción Notas
datos Objeto Ver objeto de datos.

objeto de datos

Define la acción.

Parámetros

Nombre Tipo de datos Descripción Notas
escribe Cuerda Tipo de asociación.

Valores: contacto y relación.

El valor del contacto rellena el menú Nombre y el valor de la relación rellena el menú Relacionado con en la vista del registro de interacciones de la interfaz del cliente integrado.

Note: Ensure that you associate contact value with WhoId and relation value with WhatId of the Task record in Salesforce. If you associate with incompatible record fields, then any requests to save call logs fail. For more information about Task record fields, see Salesforce documentation.

identificación Cuerda ID de la asociación.
texto Cuerda Nombre mostrado de la asociación.
seleccione Booleano
  • Es cierto: La integración selecciona automáticamente la asociación para todas las interacciones activas.
  • falso: La integración no selecciona automáticamente la asociación para todas las interacciones activas.
InteracciónId Cuerda ID de la interacción para recibir la asociación.  If select is set to true, the integration adds the association only to the interaction with this ID.

Ejemplos de

En este ejemplo, la integración añade una nueva asociación de contacto con el ID 1234 y el nombre mostrado John Smith a una interacción.

{ 
  "type": "PureCloud.addAssociation",  
  "data": { 
      "type": "contact", 
      "id": "1234", 
      "text": "John Smith"
   } 
}

Interaction.addCustomAttributes

Agrega atributos personalizados a las interacciones.

Parámetros

Nombre Tipo de datos Descripción Notas
escribe Cuerda El tipo de acción. PureCloud. + el nombre de la acción.
datos Objeto Ver objeto de datos.

objeto de datos

Define la acción.

Parámetros

Nombre Tipo de datos Descripción Notas
identificación Cuerda ID de la interacción.
atributos Objeto Pares clave-valor de atributos de interacción personalizados.

Ejemplo

{
    "type": "PureCloud.Interaction.addCustomAttributes", 
    "data": {
        "id": "1234-1234-1234-1234",
        "attributes": {
            "record_url": "/0000413456"
        }
    }
}

Interacción.createConference

Crea una conferencia a partir de múltiples interacciones.

Parámetros

Nombre Tipo de datos Descripción Notas
escribe Cuerda El tipo de acción. PureCloud. + el nombre de la acción.
datos Objeto Ver objeto de datos.

objeto de datos

Define la acción.

Parámetros

Nombre Tipo de datos Descripción Notas
ID de interacción Formación Lista de ID de interacciones agregadas a la conferencia.

Ejemplo

{
    "type": "PureCloud.Interaction.createConference", 
    "data": {
        "interactionIds": [
            "9641cedc-4cc2-48e1-84f7-fc4xxxx513e8",
            "5eafbfc4-6ff4-40e4-a2d7-dxxxxxxxx809", 
            "363ba2ca-xxxx-405e-bebe-fc59b1ae517b"
         ]
    }
}

Interaction.updateState

Actualiza el estado de una interacción.

Parámetros

Nombre Tipo de datos Descripción Notas
escribe Cuerda El tipo de acción. PureCloud. + el nombre de la acción.
datos Objeto Ver objeto de datos.

objeto de datos

Define la acción.

Parámetros

Nombre Tipo de datos Descripción Notas
acción Cuerda Estado deseado de la interacción.

Valores: recoger, desconectar, retener, silenciar, securePause, blindTransfer, consultarTransfer, concludeTransfer, secureSession. 

Uso único concluirTransferir para consultar traslados y SecureSession para flujos de IVR seguros.

identificación Cuerda ID de la interacción.
participantContext Objeto Ver participantContext objeto. Uso único participantContext cuando acción se establece en transferencia ciega o consultarTransfer.
secureSessionContext Objeto Ver objeto secureSessionContext. Uso único secureSessionContext cuando acción se establece en SecureSession.

participantContext objeto

Define la entidad que recibe la transferencia.

Parámetros

Nombre Tipo de datos Descripción Notas
transferTarget Cuerda ID de un agente o cola, nombre de flujo, ID de flujo o número de teléfono para una transferencia externa.

Prefije el nombre del flujo o el ID del flujo con sip:, por ejemplo, sip: AuditorSecureFlow.

Codifique caracteres especiales con el encodeURIComponent () método.

transferTargetType Cuerda Tipo de entidad de transferencia.

Valores: userId, queueId, dirección.

Usar Dirección con un nombre de flujo, un ID de flujo o un número de teléfono para una transferencia externa en transferTarget.

objeto secureSessionContext

Define la entidad que recibe la transferencia.

Parámetros

Nombre Tipo de datos Obligatorio u opcional Descripción Notas
flowId Cuerda Requerido ID del flujo seguro para recibir la interacción transferida.
datos del usuario Cuerda Requerido Datos proporcionados por el cliente.

Mapas a la Flow.InvocationData variable en el flujo seguro.

Advertencia: No utilice datos PCI o seguros con datos del usuario.

desconectar Booleano Opcional Desconecta la interacción después de crear la sesión segura (verdadero) o no desconecta la interacción después de crear la sesión segura (falso).

Ejemplos de

El siguiente ejemplo muestra una interacción transferida a un agente o cola sin consulta.

{
    "type": "PureCloud.Interaction.updateState", 
    "data": {
        "action": "blindTransfer",
        "id": "1234-1234-1234-1234",
        "participantContext": {
            "transferTarget": "3175550123",
            "transferTargetType": "address"
        }
    }
}

El siguiente ejemplo muestra una interacción transferida a un flujo de IVR seguro.

{
    "type": "PureCloud.Interaction.updateState", 
    "data": {
        "action": "secureSession",
        "id": "1234-1234-1234-1234",
        "secureSessionContext": {
            "flowId": "741f4f39-7a94-470d-a1dd-dd68d01e0dd8",
            "userData": "hello",
            "disconnect": false,
        }
    }
}

User.updateStatus

Actualiza el estado del usuario.

Parámetros

Nombre Tipo de datos Descripción Notas
escribe Cuerda El tipo de acción. PureCloud. + el nombre de la acción.
datos Objeto Ver objeto de datos.

objeto de datos

Define la acción.

Parámetros

Nombre Tipo de datos Descripción Notas
identificación Cuerda ID de la interacción.

Ejemplo

{
    "type": "PureCloud.User.updateStatus", 
    "data": {
        "id": "1234-1234-1234-1234"
    }
} 

Suscribir

Se suscribe a eventos de clientes.

Parámetros

Nombre Tipo de datos Descripción Notas
escribe Cuerda El tipo de acción. PureCloud. + el nombre de la acción.
datos Objeto Ver objeto de datos.

objeto de datos

Define la acción.

Parámetros

Nombre Tipo de datos Descripción Notas
escribe Cuerda Tipo de evento al que suscribirse. Valores: Interacción, notificación, acción del usuario.
Categorías Matriz de cuerdas Categorías individuales sobre las que recibir notificaciones. Valores: Ver Eventos por tipo de suscripción.

 

Eventos por tipo de suscripción

Evento Categoría Datos
Interacción Tipo de datos Cuerda
Valores posibles: agregar, cambiar, conectar, desconectar, acw, desasignar, callbackPlaced, callbackCallEnded, blindTransfer, consultTransfer, completeConsultTransfer, secureSession.
Tipo de datos ID de objeto o interacción
Notificación Tipo de datos Cuerda
Valores posibles: interacciónSelección, actualización de chat, ventana de interacción, conversión de conversación.
UserAction Tipo de datos Cuerda
Valores posibles: iniciar sesión, cerrar sesión, estación, estado, modal, enrutamientoEstado, ver.
Tipo de datos Enrutamiento de objetos

Ejemplo

{
 "type": "PureCloud.subscribe",
 "data": {
     "type": "Notification",
     "categories": ["interactionSelection", "chatUpdate", "interactionWindow", "conversationTranscription"]
  }
}

Cree un componente de iluminación para que Salesforce pueda escuchar y activar los eventos seleccionados en la configuración del centro de llamadas. 

  1. Agregue archivos Apex, componentes y JavaScript a Developer Console en Salesforce.

    Puede descargar archivos de muestra del Ejemplo de PureCloud para Salesforce Einstein repositorio en GitHub.

    Para más información, ver Menú de archivo de la consola del desarrollador en la documentación de Salesforce.

  2. Selecciona el escribe y identificación para fuente en el archivo JavaScript.

    Esta configuración le permite cambiar los estados en el cliente.

    source.postMessage({
        type: 'PureCloud.User.updateStatus',
        data: { id: status },
    }
  3. Si su administrador configuró la integración para activar eventos de Interacción, Notificación o UserActions, suscríbase a estos eventos en el archivo JavaScript.

    Para obtener más información, consulte el suscribir método en el Marco integrable de Genesys Cloud documentación (Centro de desarrolladores de Genesys Cloud).

A través del Servicio de mensajes Lightning, la integración puede activar y escuchar los eventos que se generan en torno a cambios de estado, cambios de estado de interacción y suscripciones a eventos de Interacción, Notificación o UserActions.

Por ejemplo, código, consulte Eventos en la aplicación Salesforce Lightning (GitHub).


Nombre del evento Descripción
Configuración inicial

Indica que el cliente Genesys Cloud for Salesforce está listo para procesar solicitudes. El evento indica que los componentes Lightning pueden suscribirse a los eventos del cliente.

Interacción

Cambios de estado de interacción de incendios.

Valores posibles: agregar, cambiar, conectar, desconectar, acw, desasignar, callbackPlaced, callbackCallEnded, blindTransfer, consultTransfer, completeConsultTransfer, secureSession.

Notificación

Cambios de estado de notificación de incendios.

Valores posibles: selección de interacción, actualización de chat, ventana de interacción, transcripción de conversación, actualización de mensaje.

UserAction

Activa los cambios de estado de la acción del usuario. 

Valores posibles: iniciar sesión, cerrar sesión, estación, estado, modal, enrutamientoEstado, ver.

Para más información, ver Eventos por tipo de suscripción (Genesys Cloud Developer Center) en la documentación de Genesys Cloud Embeddable Framework.

Nota: Todos los parámetros de devolución de llamada descritos en la documentación de Genesys Cloud Embeddable Framework están disponibles en la carga útil de datos de Lightning Message Service junto con el tipo de raíz agregado. Ver el Comuníquese con Genesys Cloud para Salesforce sección.

Los administradores configuran la configuración del centro de llamadas para que la integración se active y escuche eventos.

  1. En Salesforce, haga clic en Configuración.
  2. Buscar Paquetes instalados.
  3. Debajo Construir, haga clic en Paquetes instalados.
  4. Sobre el Paquetes instalados página, haga clic en Configurar junto al paquete Genesys Cloud for Salesforce.
  5. Debajo Configuración de eventos del cliente, configure los siguientes elementos para Mensajes de eventos del cliente:
  6. Para Tipo de mensaje de evento del cliente, Seleccione Canal de mensajes relámpago

    Esta configuración hace que la integración envíe mensajes en el canal de mensajes. 

  7. (Opcional) Para Tipos de eventos del cliente, seleccione otros eventos (Interacción, Notificación y Acción del usuario) para suscribirse. Hacer clic Flecha para agregarlos debajo Elegido.
  8. (Opcional) Seleccione Expandir notificación de chat para recibir una carga útil ampliada para eventos de notificación de chat.
  9. Hacer clic Ahorrar.

Nota: Si agrega un componente de iluminación como un elemento de utilidad a su aplicación Lightning, asegúrese de seleccionar Iniciar automáticamente. Para más información, ver Agregar una barra de utilidades a las aplicaciones de iluminación en la documentación de Salesforce.

Para más información, ver Configurar eventos de cliente.

El cliente Genesys Cloud for Salesforce expone las siguientes acciones planteadas a través del Servicio de mensajes Lightning.

addAssociation

Añade una nueva asociación de contacto o relación a los registros de interacción.

Parámetros

Nombre Tipo de datos Descripción Notas
datos Objeto Ver objeto de datos.

objeto de datos

Define la acción.

Parámetros

Nombre Tipo de datos Descripción Notas
escribe Cuerda Tipo de asociación.

Valores: contacto y relación.

El valor del contacto rellena el menú Nombre y el valor de la relación rellena el menú Relacionado con en la vista del registro de interacciones de la interfaz del cliente integrado.

Note: Ensure that you associate contact value with WhoId and relation value with WhatId of the Task record in Salesforce. If you associate with incompatible record fields, then any requests to save call logs fail. For more information about Task record fields, see Salesforce documentation.

identificación Cuerda ID de la asociación.
texto Cuerda Nombre mostrado de la asociación.
seleccione Booleano
  • Es cierto: La integración selecciona automáticamente la asociación para todas las interacciones activas.
  • falso: La integración no selecciona automáticamente la asociación para todas las interacciones activas.
InteracciónId Cuerda ID de la interacción para recibir la asociación.  If select is set to true, the integration adds the association only to the interaction with this ID.

Ejemplos de

En este ejemplo, la integración añade una nueva asociación de contacto con el ID 1234 y el nombre mostrado John Smith a una interacción.

{ 
  "type": "PureCloud.addAssociation",  
  "data": { 
      "type": "contact", 
      "id": "1234", 
      "text": "John Smith"
   } 
}

Interaction.addCustomAttributes

Agrega atributos personalizados a las interacciones.

Parámetros

Nombre Tipo de datos Descripción Notas
escribe Cuerda El tipo de acción. PureCloud. + el nombre de la acción.
datos Objeto Ver objeto de datos.

objeto de datos

Define la acción.

Parámetros

Nombre Tipo de datos Descripción Notas
identificación Cuerda ID de la interacción.
atributos Objeto Pares clave-valor de atributos de interacción personalizados.

Ejemplo

{
    "type": "PureCloud.Interaction.addCustomAttributes",
    "data": {
        "id": "1234-1234-1234-1234",
        "attributes": {
            "record_url": "/0000413456"
        }
    }
}

Interacción.createConference

Crea una conferencia a partir de múltiples interacciones.

Parámetros

Nombre Tipo de datos Descripción Notas
escribe Cuerda El tipo de acción. PureCloud. + el nombre de la acción.
datos Objeto Ver objeto de datos.

objeto de datos

Define la acción.

Parámetros

Nombre Tipo de datos Descripción Notas
ID de interacción Formación Lista de ID de interacciones agregadas a la conferencia.

Ejemplo

{
    "type": "PureCloud.Interaction.createConference", 
    "data": {
        "interactionIds": [
            "9641xxxx-4bb2-xxxx-84f7-xxxxxx8513e8",
            "5eafbfc4-6ff4-xxxx-a2d7-d23c1abbd809", 
            "363ba2ca-xxxx-405e-bebe-fc59xxxxx17b"
         ]
    }
}

Interaction.updateState

Actualiza el estado de una interacción.

Parámetros

Nombre Tipo de datos Descripción Notas
escribe Cuerda El tipo de acción. PureCloud. + el nombre de la acción.
datos Objeto Ver objeto de datos.

objeto de datos

Define la acción.

Parámetros

Nombre Tipo de datos Descripción Notas
acción Cuerda Estado deseado de la interacción.

Valores: recoger, desconectar, retener, silenciar, securePause, blindTransfer, consultarTransfer, concludeTransfer, secureSession. 

Uso único concluirTransferir para consultar traslados y SecureSession para flujos de IVR seguros.

identificación Cuerda ID de la interacción.
participantContext Objeto Ver participantContext objeto. Uso único participantContext cuando acción se establece en transferencia ciega o consultarTransfer.
secureSessionContext Objeto Ver objeto secureSessionContext. Uso único secureSessionContext cuando acción se establece en SecureSession.

participantContext objeto

Define la entidad que recibe la transferencia.

Parámetros

Nombre Tipo de datos Descripción Notas
transferTarget Cuerda ID de un agente o cola, nombre de flujo, ID de flujo o número de teléfono para una transferencia externa.

Prefije el nombre del flujo o el ID del flujo con sip:, por ejemplo, sip: AuditorSecureFlow.

Codifique caracteres especiales con el encodeURIComponent () método.

transferTargetType Cuerda Tipo de entidad de transferencia.

Valores: userId, queueId, dirección.

Usar Dirección con un nombre de flujo, un ID de flujo o un número de teléfono para una transferencia externa en transferTarget.

objeto secureSessionContext

Define la entidad que recibe la transferencia.

Parámetros

Nombre Tipo de datos Obligatorio u opcional Descripción Notas
flowId Cuerda Requerido ID del flujo seguro para recibir la interacción transferida.
datos del usuario Cuerda Requerido Datos proporcionados por el cliente.

Mapas a la Flow.InvocationData variable en el flujo seguro.

Advertencia: No utilice datos PCI o seguros con datos del usuario.

desconectar Booleano Opcional Desconecta la interacción después de crear la sesión segura (verdadero) o no desconecta la interacción después de crear la sesión segura (falso).

Ejemplos de

El siguiente ejemplo muestra una interacción transferida a un agente o cola sin consulta.

{
    "type": "PureCloud.Interaction.updateState", 
    "data": {
        "action": "blindTransfer",
        "id": "1234-1234-1234-1234",
        "participantContext": {
            "transferTarget": "3175550123",
            "transferTargetType": "address"
        }
    }
}

El siguiente ejemplo muestra una interacción transferida a un flujo de IVR seguro.

{
    "type": "PureCloud.interaction.updateState", 
    "data": {
        "action": "secureSession",
        "id": "1234-1234-1234-1234",
        "secureSessionContext": {
            "flowId": "741f4f39-7a94-470d-a1dd-dd68d01e0dd8",
            "userData": "hello",
            "disconnect": false,
        }
    }
}

User.updateStatus

Actualiza el estado del usuario.

Parámetros

Nombre Tipo de datos Descripción Notas
escribe Cuerda El tipo de acción. PureCloud. + el nombre de la acción.
datos Objeto Ver objeto de datos.

objeto de datos

Define la acción.

Parámetros

Nombre Tipo de datos Descripción Notas
identificación Cuerda ID del estado.

Ejemplo

{
    "type": "PureCloud.User.updateStatus",
    "data": {
        "id": "1234-1234-1234-1234"
    }
} 

Suscribir

Se suscribe a eventos de clientes.

Parámetros

Nombre Tipo de datos Descripción Notas
escribe Cuerda El tipo de acción. PureCloud. + el nombre de la acción.
datos Objeto Ver objeto de datos.

objeto de datos

Define la acción.

Parámetros

Nombre Tipo de datos Descripción Notas
escribe Cuerda Tipo de evento al que suscribirse. Valores: Interacción, notificación, acción del usuario.
Categorías Matriz de cuerdas Categorías individuales sobre las que recibir notificaciones. Valores: Ver Eventos por tipo de suscripción.

 

Eventos por tipo de suscripción

Evento Categoría Datos
Interacción Tipo de datos Cuerda
Valores posibles: agregar, cambiar, conectar, desconectar, acw, desasignar, callbackPlaced, callbackCallEnded, blindTransfer, consultTransfer, completeConsultTransfer, secureSession.
Tipo de datos ID de objeto o interacción
Notificación Tipo de datos Cuerda
Valores posibles: interacciónSelección, actualización de chat, ventana de interacción, conversión de conversación.
UserAction Tipo de datos Cuerda
Valores posibles: iniciar sesión, cerrar sesión, estación, estado, modal, enrutamientoEstado, ver.
Tipo de datos Enrutamiento de objetos

Ejemplo

{
 "type": "PureCloud.subscribe",
 "data": {
     "type": "Notification",
     "categories": ["interactionSelection", "chatUpdate", "interactionWindow", "conversationTranscription"]
  }
}

Para suscribirse al canal de mensajes, instale la versión 3.12 o posterior del paquete administrado PureCloud for Salesforce. Estas versiones de el paquete gestionado incluye el purecloud__ClientEvent__c canal que recibe todos los mensajes. Después de suscribirse a purecloud__ClientEvent__c, Salesforce puede escuchar y disparar los eventos seleccionados en la configuración del centro de llamadas. 

El método de implementación varía según los componentes que utilice. El siguiente código de ejemplo muestra cómo usar LMS con un componente Lightning Aura.

Suscríbase a los mensajes Lightning en el purecloud__ClientEvent__c canal para un componente Aura.

<lightning:messageChannel type="purecloud__ClientEvent__c" aura:id="clientEventMessageChannel" onMessage="{!c.onClientEvent}" scope="APPLICATION"/>

Para recibir mensajes Lightning, cree un onClientEvent.

({
    onClientEvent: function (component, message, helper) {
        var eventData = message.getParams();
        if (eventData) {
            if(eventData.type === 'Interaction' && eventData.data.id) {
		console.log(‘Interaction ID: ‘ + eventData.data.id);
            }
        }
    }
})

Para enviar mensajes Lightning, publique los eventos que escucha el cliente de Genesys Cloud for Salesforce. Para obtener una lista de eventos, consulte la Comuníquese con Genesys Cloud para Salesforce sección.

component.find('clientEventMessageChannel').publish({
    type: 'PureCloud.User.updateStatus',
    data: { id: status }
});

Para ver otros ejemplos, consulte Servicio de mensajes Lightning [Vista previa para desarrolladores] en el Blog de desarrolladores de Salesforce.

Para obtener más información sobre la integración, consulte Acerca de Genesys Cloud para Salesforce.