

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Acceso a los análisis de Contact Lens para contactos de voz y chat mediante Amazon Kinesis Data Streams
<a name="contact-analysis-segment-streams"></a>

Las secuencias de segmentos de análisis de contactos le permiten acceder a los análisis de Contact Lens para los contactos de voz y chat. La transmisión supera las limitaciones de escalado de los análisis de [llamadas y chats](contact-lens-api.md) existentes. APIs Para los contactos de voz, también proporciona acceso a un segmento de datos llamado `Utterance`, que le permite acceder a transcripciones parciales. Esto le permite cumplir los requisitos de latencia ultrabaja para ayudar a los agentes en las llamadas en directo. 

En esta sección se explica cómo integrarse con Amazon Kinesis Data Streams para el streaming.

A través del streaming, puede recibir los siguientes tipos de eventos: 
+ Eventos STARTED publicados al inicio de una sesión de análisis de contactos.
+ Eventos SEGMENTS publicados durante las sesiones de análisis de contactos. Estos eventos contienen una lista de segmentos con información analizada.
+ Eventos COMPLETED o FAILED publicados al final de una sesión de análisis de contactos.

**Topics**
+ [Habilitación de secuencias de segmentos de análisis de contactos](enable-contact-analysis-segment-streams.md)
+ [Voz: modelo de datos para transmisiones de segmentos de análisis de conversación](real-time-contact-analysis-segment-streams-data-model.md)
+ [Chat: modelo de datos para transmisiones de segmentos de análisis de conversación](chat-real-time-contact-analysis-segment-streams-data-model.md)
+ [Voz: ejemplo de transmisión de segmentos de análisis de conversación](sample-real-time-contact-analysis-segment-stream.md)
+ [Chat: ejemplo de secuencia de segmentos de análisis de conversación](chat-sample-real-time-contact-analysis-segment-stream.md)

# Habilitación de las secuencias de segmentos de análisis de contactos para analizar las conversaciones con Contact Lens
<a name="enable-contact-analysis-segment-streams"></a>

Las secuencias de segmentos de análisis de contactos no están habilitadas de forma predeterminada. En este tema se explica cómo habilitarlos. 

## Paso 1: crear un flujo de Kinesis
<a name="enable-segment-streams-step1"></a>

Cree el flujo de datos en la misma cuenta y región donde reside su instancia de Amazon Connect. Para obtener instrucciones, consulte [Paso 1: crear un flujo de datos](https://docs.aws.amazon.com/streams/latest/dev/tutorial-stock-data-kplkcl-create-stream.html) en la *Guía para desarrolladores de Amazon Kinesis Data Streams*.

**sugerencia**  
Recomendamos crear un flujo independiente para cada tipo de datos. Aunque es posible utilizar la misma secuencia para las secuencias de segmentos de análisis de contactos, eventos de agentes y registros de contactos, es mucho más fácil administrar y obtener datos de la secuencia cuando se utiliza una secuencia independiente para cada una de ellos. Para obtener más información, consulte la [Guía para desarrolladores de Amazon Kinesis Data Streams](https://docs.aws.amazon.com/streams/latest/dev/introduction.html). 

## Paso 2: configurar el cifrado del servidor para el flujo de Kinesis (opcional, pero recomendable)
<a name="enable-segment-streams-step2"></a>

Puede hacer esto de varias formas. 
+ Opción 1: utilizar Kinesis Clave administrada de AWS (`aws/kinesis`). Esto funciona sin ninguna configuración adicional por su parte.
+ Opción 2: utilizar la misma clave administrada por el cliente para las grabaciones de llamadas, las transcripciones de chat o los informes exportados en su instancia de Amazon Connect.

  Habilite el cifrado y utilice una clave administrada por el cliente para las grabaciones de llamadas, las transcripciones de chat o los informes exportados en su instancia de Amazon Connect. A continuación, elija la misma clave de KMS para el flujo de datos de Kinesis. Esta clave ya tiene el permiso (concesión) necesario para su uso.
+ Opción 3: utilizar una clave administrada por el cliente.

  Utilice una clave administrada por el cliente existente o cree una nueva y agregue los permisos necesarios para que el rol de Amazon Connect pueda utilizar la clave. Para agregar permisos mediante concesiones de AWS KMS , consulte el siguiente ejemplo:

  ```
  aws kms create-grant \
      --key-id your key ID \
      --grantee-principal arn:aws:iam::your AWS account ID:role/aws-service-role/connect.amazonaws.com/AWSServiceRoleForAmazonConnect_11111111111111111111 \
      --operations GenerateDataKey \
      --retiring-principal arn:aws:iam::your AWS account ID:role/adminRole
  ```

  Dónde `grantee-principal` es el ARN del rol vinculado al servicio asociado a su instancia de Amazon Connect. Para encontrar el ARN del rol vinculado al servicio, en la consola de Amazon Connect, vaya a **Información general**, **Configuración de distribución**, **Función vinculada al servicio**. 

## Paso 3: asociar el flujo de Kinesis
<a name="enable-segment-streams-step3"></a>

Utilice la [AssociateInstanceStorageConfig](https://docs.aws.amazon.com/connect/latest/APIReference/API_AssociateInstanceStorageConfig.html)API Amazon Connect para asociar los siguientes tipos de recursos:
+ Para contactos de voz, utilice `REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS`
+ Para contactos de chat, utilice `REAL_TIME_CONTACT_ANALYSIS_CHAT_SEGMENTS`

**nota**  
`REAL_TIME_CONTACT_ANALYSIS_SEGMENTS` está obsoleto, pero aún se admite y se aplica solo a los contactos de voz. En adelante, se utiliza `REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS` para los contactos de voz.  
Si ya ha asociado anteriormente una transmisión a `REAL_TIME_CONTACT_ANALYSIS_SEGMENTS`, no es necesario realizar ninguna acción para actualizar la a `REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS`.

Especifique la transmisión de Kinesis en la que se publicarán los segmentos de análisis de contactos en tiempo real. Necesitará el ID de instancia y el ARN de flujo de Kinesis. En el siguiente código se muestra un ejemplo:

```
// Build request
  const request: Connect.Types.AssociateInstanceStorageConfigRequest = {
    InstanceId: 'your Amazon Connect instance ID',
    ResourceType: 'REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS or REAL_TIME_CONTACT_ANALYSIS_CHAT_SEGMENTS',
    StorageConfig: {
      StorageType: 'KINESIS_STREAM',
      KinesisStreamConfig: {
        StreamArn: 'the ARN of your Kinesis stream',
      },
    }
  };
```

### AWS CLI
<a name="step3-cli"></a>

El siguiente ejemplo es para los contactos de chat.

**sugerencia**  
Si no incluye la AWS región (`--region`), utilizará la región predeterminada según el perfil CLI.  
El valor del parámetro `--storage-config` no debe incluirse entre comillas simples ('). De lo contrario, se generará un error.

```
aws connect associate-instance-storage-config \
--region "us-west-2" \
--instance-id your Amazon Connect instance ID \
--resource-type REAL_TIME_CONTACT_ANALYSIS_CHAT_SEGMENTS \
--storage-config StorageType=KINESIS_STREAM,KinesisStreamConfig={StreamArn=the ARN of your Kinesis stream}
```

### AWS SDK
<a name="step3-sdk"></a>

El ejemplo siguiente es para los contactos de voz.

```
import { Connect } from 'aws-sdk';

async function associate (): Promise <void> {
  const clientConfig: Connect.ClientConfiguration = {
    region: 'the Region of your Amazon Connect instance',
  };

  const connect = new Connect(clientConfig);

  // Build request
  const request: Connect.Types.AssociateInstanceStorageConfigRequest = {
    InstanceId: 'your Amazon Connect instance ID',
    ResourceType: 'REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS',
    StorageConfig: {
      StorageType: 'KINESIS_STREAM',
      KinesisStreamConfig: {
        StreamArn: 'the ARN of your Kinesis stream',
      },
    }
  };

  try {
    // Execute request
    const response: Connect.Types.AssociateInstanceStorageConfigResponse = await connect.associateInstanceStorageConfig(request).promise();

    // Process response
    console.log('raw response: ${JSON.stringify(response, null, 2)}');
  } catch (err) {
    console.error('Error calling associateInstanceStorageConfig. err.code: ${err.code},' +
      'err.message: ${err.message}, err.statusCode: ${err.statusCode}, err.retryable: ${err.retryable}');
  }
}

associate().then(r => console.log('Done'));
```

## Paso 4: activación de Contact Lens en su instancia de Amazon Connect
<a name="enable-segment-streams-step4"></a>

Para obtener instrucciones, consulte [Activación del análisis de conversación en Amazon Connect Contact Lens](enable-analytics.md).

## Paso 5 (opcional): revisar un flujo de segmentos de muestra
<a name="enable-segment-streams-step5"></a>

Le recomendamos que revise una secuencia de segmentos de muestra de [voz](sample-real-time-contact-analysis-segment-stream.md) o [chat](chat-sample-real-time-contact-analysis-segment-stream.md) para familiarizarse con su aspecto.

# Modelo de datos para los flujos de segmentos de análisis de conversación para analizar los contactos de voz en Contact Lens
<a name="real-time-contact-analysis-segment-streams-data-model"></a>

Los flujos de segmentos de análisis de contactos en tiempo real se generan en JSON. Los blobs JSON de eventos se publican en la secuencia asociada para cada contacto que tenga habilitado el análisis de conversación en tiempo real. Pueden publicarse los siguientes tipos de eventos para una sesión de análisis de conversación de un contacto de voz:
+ Eventos STARTED: cada sesión de análisis de conversación publica un evento STARTED al principio de la sesión.
+ Eventos SEGMENTS: cada sesión de análisis de conversación puede publicar cero o más eventos SEGMENTS durante la sesión. Estos eventos contienen una lista de segmentos con información analizada. En el caso de los contactos de voz, la lista de segmentos puede incluir segmentos `Utterance`, `Transcript`, `Categories` o `PostContactSummary`.
+ Eventos COMPLETED o FAILED: cada sesión de análisis de conversación publica un evento COMPLETED o FAILED al final de la sesión.

## Propiedades comunes incluidas en todos los eventos para contactos de voz
<a name="segment-streams-data-model-common-properties"></a>

Cada evento incluye las siguientes propiedades:

**Versión**  
La versión del esquema de evento.   
Tipo: cadena

**Canal**  
El tipo del canal de este contacto.  
Tipo: cadena  
Valores válidos: `VOICE`, `CHAT`, `TASK`  
Para obtener más información acerca de los canales, consulte [Canales y simultaneidad para enrutar contactos en Amazon Connect](channels-and-concurrency.md).

**AccountId**  
El identificador de la cuenta en la que tiene lugar este contacto.  
Tipo: cadena

**ContactId**  
El identificador del contacto que se está analizando.  
Tipo: cadena

**InstanceId**  
El identificador de la instancia en la que tiene lugar este contacto.  
Tipo: cadena 

**LanguageCode**  
El código de idioma asociado a este contacto.  
Tipo: cadena   
Valores válidos: el código de idioma de uno de los [idiomas admitidos para el análisis de llamadas en tiempo real de Contact Lens](supported-languages.md#supported-languages-contact-lens). 

**EventType**  
El tipo de evento publicado.  
Tipo: cadena  
Valores válidos: `STARTED`, `SEGMENTS`, `COMPLETED`, `FAILED` 

## Evento INICIADO
<a name="segment-streams-data-model-started-event"></a>

Los eventos `STARTED` incluyen solo las propiedades comunes:
+ Versión
+ Canal
+ AccountId
+ ContactId
+ LanguageCode
+ EventType: INICIADO

## Evento SEGMENTS
<a name="segment-streams-data-model-segments-event"></a>

Los eventos `SEGMENTS` incluyen las siguientes propiedades:
+ Versión
+ Canal
+ AccountId
+ ContactId
+ LanguageCode
+ EventType: SEGMENTOS
+ Segments: además de las propiedades comunes, los eventos `SEGMENTS` incluyen una lista de segmentos con información analizada.

  Tipo: matriz de objetos [Segment](#segment)
+ PostContactSummary: Información sobre el resumen posterior al contacto de un segmento de contacto de voz.

  Tipo: objetos [PostContactSummary](https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-contact-lens_PostContactSummary.html) 

  Obligatorio: no

**Segmento**  
Un segmento analizado para una sesión de análisis en tiempo real.  
Cada segmento es un objeto con las siguientes propiedades opcionales. Solo está presente una de estas propiedades, según el tipo de segmento:  
+ Utterance
+ Transcript
+ Categorías
+ PostContactSummary

**Utterance**  
El enunciado analizado.  
Obligatorio: no  
+ **Id**

  El identificador del enunciado.

  Tipo: cadena
+ ** TranscriptId**

  El identificador de la transcripción asociada a este enunciado.

  Tipo: cadena
+ **ParticipantId**

  El identificador del participante.

  Tipo: cadena
+ ** ParticipantRole**

  El rol del participante. Por ejemplo, es un cliente, un agente o un sistema.

  Tipo: cadena
+ ** PartialContent**

  El contenido del enunciado.

  Tipo: cadena
+ ** BeginOffsetMillis**

  El desplazamiento inicial en el contacto para esta transcripción.

  Tipo: entero
+ ** EndOffsetMillis**

  El desplazamiento final en el contacto para esta transcripción.

  Tipo: entero

**Transcript**  
La transcripción analizada.  
Tipo: objeto [Transcript](https://docs.aws.amazon.com/contact-lens/latest/APIReference/API_Transcript.html)   
Obligatorio: no

**Categorías**  
Las reglas de las categorías coincidentes.  
Tipo: objeto [Categories](https://docs.aws.amazon.com/contact-lens/latest/APIReference/API_Categories.html)  
Obligatorio: no

**PostContactSummary**  
Información sobre el resumen posterior al contacto de un segmento de contacto de voz.  
Tipo: objeto [PostContactSummary](https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-contact-lens_PostContactSummary.html)  
Obligatorio: no

## Evento COMPLETED
<a name="segment-streams-data-model-completed-event"></a>

Los eventos `COMPLETED` incluyen solo las siguientes propiedades comunes:
+ Versión
+ Canal
+ AccountId
+ ContactId
+ LanguageCode
+ EventType: COMPLETADO

## Evento FAILED
<a name="segment-streams-data-model-failed-event"></a>

Los eventos `FAILED` incluyen solo las siguientes propiedades comunes:
+ Versión
+ Canal
+ AccountId
+ ContactId
+ LanguageCode
+ EventType: FALLÓ

# Modelo de datos para los flujos de segmentos de análisis de conversación para analizar los chats en Contact Lens
<a name="chat-real-time-contact-analysis-segment-streams-data-model"></a>

Las secuencias de segmentos de análisis de conversación para los contactos de chat se generan en JSON. Los blobs JSON de eventos se publican en la secuencia asociada para cada contacto que tenga habilitado el análisis de conversación en tiempo real. Pueden publicarse los siguientes tipos de eventos para una sesión de análisis de conversación de un contacto de chat:
+ Eventos STARTED: cada sesión de análisis de conversación publica un evento STARTED al principio de la sesión.
+ Eventos SEGMENTS: cada sesión de análisis de conversación puede publicar cero o más eventos SEGMENTS durante la sesión. Estos eventos contienen una lista de segmentos con información analizada. En el caso de los contactos de chat, la lista de segmentos puede incluir segmentos `Attachments`, `Transcript`, `Categories`, `Events`, `Issues` o `PostContactSummary`.
+ Eventos COMPLETED o FAILED: cada sesión de análisis de conversación publica un evento COMPLETED o FAILED al final de la sesión.

## Propiedades comunes incluidas en todos los eventos para contactos de chat
<a name="chat-segment-streams-data-model-common-properties"></a>

Cada evento incluye las siguientes propiedades:

**Versión**  
La versión del esquema de evento. Para los contactos de chat, esta es 2.0.0.  
Tipo: cadena

**Canal**  
El tipo del canal de este contacto.  
Tipo: cadena  
Valores válidos: `VOICE`, `CHAT`, `TASK`  
Para obtener más información acerca de los canales, consulte [Canales y simultaneidad para enrutar contactos en Amazon Connect](channels-and-concurrency.md).

**AccountId**  
El identificador de la cuenta en la que tiene lugar este contacto.  
Tipo: cadena

**InstanceId**  
El identificador de la instancia en la que tiene lugar este contacto.  
Tipo: cadena 

**ContactId**  
El identificador del contacto que se está analizando.  
Tipo: cadena

**StreamingEventType**  
El tipo de evento publicado.  
Tipo: cadena   
Valores válidos: `STARTED`, `SEGMENTS`, `COMPLETED`, `FAILED`

**StreamingSettings**  
Configuración de Contact Lens para este contacto  
Tipo: objeto [StreamingSettings](#streamingsettingsobject) 

## StreamingSettings objeto
<a name="streamingsettingsobject"></a>

**LanguageCode**  
El código de idioma asociado a este contacto.  
Tipo: cadena   
Valores válidos: el código de idioma de uno de los [idiomas admitidos para el análisis de llamadas en tiempo real de Contact Lens](supported-languages.md#supported-languages-contact-lens). 

**Output**  
Es el tipo de salida de Contact Lens habilitado para este contacto.  
Tipo: cadena  
Valores válidos: `Raw`, `Redacted`, `RedactedAndRaw` 

**RedactionTypes**  
El tipo de supresión habilitado para este contacto.  
Tipo: matriz de cadenas  
Valores válidos: `PII` 

**RedactionTypesMetadata**  
Los metadatos de supresión para cada tipo de supresión.  
Tipo: RedactionType cadena a [RedactionMetadata](#redactionmetadata)objeto   
Valores válidos: `PII` 

## RedactionMetadata objeto
<a name="redactionmetadata"></a>

Proporciona información sobre la configuración de la supresión.

**RedactionMaskMode**  
La configuración para la sustitución de la supresión de los datos de la automatización  
Tipo: cadena   
Valores válidos: `PII`, `EntityType`

## Evento INICIADO
<a name="chat-segment-streams-data-model-started-event"></a>

Los eventos `STARTED` incluyen solo las propiedades comunes:
+ Versión
+ Canal
+ AccountId
+ ContactId
+ StreamingEventType: INICIADO
+ StreamingSettings

## Evento SEGMENTS
<a name="chat-segment-streams-data-model-segments-event"></a>

Los eventos `SEGMENTS` incluyen las siguientes propiedades:
+ Versión
+ Canal
+ AccountId
+ OutputType
  + Es el tipo de salida de Contact Lens del segmento actual.
  + Tipo: cadena
  + Valores válidos: `Raw`, `Redacted`
+ ContactId
+ StreamingEventType: SEGMENTOS
+ StreamingSettings
+ Segmentos
  + Una lista de segmentos con información analizada.
  + Tipo: matriz de objetos [Segment](#chat-segment)

**Segmento**  
Un segmento analizado para una sesión de análisis en tiempo real.  
Cada segmento es un objeto con las siguientes propiedades opcionales. Solo está presente una de estas propiedades, según el tipo de segmento:  
+  [Archivos adjuntos](#chat-attachments)
+  [Categorías](#chat-category)
+  [Evento](#chat-event)
+  [Problemas](#chat-issues)
+  [Transcripción](#chat-transcript)
+ [PostContactSummary](#chat-postcontactsummary)

**Archivos adjuntos**  
Las asociaciones analizadas.  
Obligatorio: no  
Tipo: objeto [RealTimeContactAnalysisSegmentAttachments](https://docs.aws.amazon.com/connect/latest/APIReference/API_RealTimeContactAnalysisSegmentAttachments.html)

**Categorías**  
Las reglas de las categorías coincidentes.  
Tipo: objeto [RealTimeContactAnalysisSegmentCategories](https://docs.aws.amazon.com/connect/latest/APIReference/API_RealTimeContactAnalysisSegmentCategories.html)  
Obligatorio: no

**Event**  
Tipo de segmento que describe un evento de contacto.  
Tipo: objeto [RealTimeContactAnalysisSegmentEvent](https://docs.aws.amazon.com/connect/latest/APIReference/API_RealTimeContactAnalysisSegmentEvent.html)  
Obligatorio: no

**Problemas**  
Tipo de segmento que contiene una lista de problemas detectados.  
Tipo: objeto [RealTimeContactAnalysisSegmentIssues](https://docs.aws.amazon.com/connect/latest/APIReference/API_RealTimeContactAnalysisSegmentIssues.html)  
Obligatorio: no

**Transcripción**  
El segmento de la transcripción analizada.  
Tipo: objeto [RealTimeContactAnalysisSegmentTranscript](https://docs.aws.amazon.com/connect/latest/APIReference/API_RealTimeContactAnalysisSegmentTranscript.html)  
Obligatorio: no

**PostContactSummary**  
Información sobre el resumen posterior al contacto de un segmento de contacto en tiempo real para un chat.  
Tipo: objeto [RealTimeContactAnalysisSegmentPostContactSummary](https://docs.aws.amazon.com/connect/latest/APIReference/API_RealTimeContactAnalysisSegmentPostContactSummary.html)   
Obligatorio: no

## Evento COMPLETED
<a name="chat-segment-streams-data-model-completed-event"></a>

Los eventos `COMPLETED` incluyen solo las siguientes propiedades comunes:
+ Versión
+ Canal
+ AccountId
+ InstanceId
+ ContactId
+ StreamingEventType: COMPLETADO
+ StreamingSettings

## Evento FAILED
<a name="chat-segment-streams-data-model-failed-event"></a>

Los eventos `FAILED` incluyen solo las siguientes propiedades comunes:
+ Versión
+ Canal
+ AccountId
+ InstanceId
+ ContactId
+ StreamingEventType: FALLÓ
+ StreamingSettings

# Ejemplo de secuencias de segmentos de análisis de conversación para analizar las llamadas en Contact Lens
<a name="sample-real-time-contact-analysis-segment-stream"></a>

En este tema se proporcionan ejemplos de secuencias de segmentos para eventos STARTED, SEGMENTS, COMPLETED y FAILED que se pueden producir durante un contacto de voz. 

## Ejemplo de evento STARTED
<a name="sample-started-event"></a>
+ EventType: INICIADO
+ Se publica al inicio de la sesión de análisis de conversación.

```
{
    "Version": "1.0.0",
    "Channel": "VOICE",
    "AccountId": "123456789012", // your AWS account ID
    "InstanceId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",  // your Amazon Connect instance ID
    "ContactId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", // the ID of the contact
    "LanguageCode": "en-US", // the language code of the contact
    "EventType": "STARTED"
}
```

## Ejemplo de evento SEGMENTS
<a name="sample-segments-event"></a>
+ EventType: SEGMENTOS
+ Se publica durante una sesión de análisis de conversación. Este evento contiene una lista de segmentos con información analizada. La lista de segmentos puede incluir segmentos `Utterance`, `Transcript`, `Categories` o `PostContactSummary`.

```
{
    "Version": "1.0.0",
    "Channel": "VOICE",
    "AccountId": "123456789012", // your AWS account ID
    "InstanceId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",  // your Amazon Connect instance ID
    "ContactId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", // the ID of the contact
    "LanguageCode": "en-US", // the language code of the contact
    "EventType": "SEGMENTS",
    "Segments": [
        {
            "Utterance": {
                "Id": "7b48ca3d-73d3-443a-bf34-a9e8fcc01747",
                "TranscriptId": "121d1581-905f-4169-9804-b841bb4df04a",
                "ParticipantId": "AGENT",
                "ParticipantRole": "AGENT",
                "PartialContent": "Hello, thank you for calling Example Corp. My name is Adam.",
                "BeginOffsetMillis": 19010,
                "EndOffsetMillis": 22980
            }
        },
        {
            "Utterance": {
                "Id": "75acb743-2154-486b-aaeb-c960ae290e88",
                "TranscriptId": "121d1581-905f-4169-9804-b841bb4df04a",
                "ParticipantId": "AGENT",
                "ParticipantRole": "AGENT",
                "PartialContent": "How can I help you?",
                "BeginOffsetMillis": 23000,
                "EndOffsetMillis": 24598
            }
        },
        {
            "Transcript": {
                "Id": "121d1581-905f-4169-9804-b841bb4df04a",
                "ParticipantId": "AGENT",
                "ParticipantRole": "AGENT",
                "Content": "Hello, thank you for calling Example Corp. My name is Adam. How can I help you?",
                "BeginOffsetMillis": 19010,
                "EndOffsetMillis": 24598,
                "Sentiment": "NEUTRAL"
            }
        },
        {
            "Transcript": {
                "Id": "4295e927-43aa-4447-bbfc-8fccc2027530",
                "ParticipantId": "CUSTOMER",
                "ParticipantRole": "CUSTOMER",
                "Content": "I'm having trouble submitting the application, number AX876293 on the portal. I tried but couldn't connect to my POC on the portal. So, I'm calling on this toll free number",
                "BeginOffsetMillis": 19010,
                "EndOffsetMillis": 22690,
                "Sentiment": "NEGATIVE",
                "IssuesDetected": [
                    {
                        "CharacterOffsets": {
                            "BeginOffsetChar": 0,
                            "EndOffsetChar": 81
                        }
                    }
                ]
            }
        },
        {
            "Categories": {
                "MatchedCategories": [
                    "CreditCardRelated",
                    "CardBrokenIssue"
                ],
                "MatchedDetails": {
                    "CreditCardRelated": {
                        "PointsOfInterest": [
                            {
                                "BeginOffsetMillis": 19010,
                                "EndOffsetMillis": 22690
                            }
                        ]
                    },
                    "CardBrokenIssue": {
                        "PointsOfInterest": [
                            {
                                "BeginOffsetMillis": 25000,
                                "EndOffsetMillis": 29690
                            }
                        ]
                    }
                }
            }
        },
        {
            "PostContactSummary": {
                "Content": "Customer contacted Example Corp because of an issue with their application",
                "Status": "COMPLETED"
            }
        }
    ]
}
```

## Ejemplo de evento COMPLETED
<a name="sample-completed-event"></a>
+ EventType: COMPLETADO
+ Se publica al final de la sesión de análisis de conversación si el análisis se ha completado correctamente.

```
{
    "Version": "1.0.0",
    "Channel": "VOICE",
    "AccountId": "123456789012", // your AWS account ID
    "InstanceId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",  // your Amazon Connect instance ID
    "ContactId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", // the ID of the contact
    "LanguageCode": "en-US", // the language code of the contact
    "EventType": "COMPLETED"
}
```

## Ejemplo de evento FAILED
<a name="sample-failed-event"></a>
+ EventType: FALLÓ
+ Se publica al final de la sesión de análisis de conversación si se ha producido un error en el análisis.

```
{
    "Version": "1.0.0",
    "Channel": "VOICE",
    "AccountId": "123456789012", // your AWS account ID
    "InstanceId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",  // your Amazon Connect instance ID
    "ContactId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", // the ID of the contact
    "LanguageCode": "en-US", // the language code of the contact
    "EventType": "FAILED"
}
```

# Ejemplos de secuencias de análisis de conversación para analizar los chats en Contact Lens
<a name="chat-sample-real-time-contact-analysis-segment-stream"></a>

En este tema se proporcionan ejemplos de secuencias de segmentos para eventos STARTED, SEGMENTS, COMPLETED y FAILED que se pueden producir durante un contacto de chat. 

## Ejemplo de evento STARTED
<a name="chat-sample-started-event"></a>
+ EventType: INICIADO
+ Se publica al inicio de la sesión de análisis de conversación.

```
{
    "Version": "2.0.0",
    "Channel": "CHAT",
    "AccountId": "123456789012", // your AWS account ID
    "InstanceId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",  // your Amazon Connect instance ID
    "ContactId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", // the ID of the contact
    "StreamingEventType": "STARTED",
    "StreamingSettings": {
      "LanguageCode": "en-US", // the language code of the contact
      "Output": "RedactedAndRaw",
      "RedactionTypes": [
          "PII"
      ],
      "RedactionTypesMetadata": {
        "PII": {
            "RedactionMaskMode": "PII"
         }
       }
    }
}
```

## Ejemplo de evento SEGMENTS
<a name="chat-sample-segments-event"></a>
+ EventType: [SEGMENTOS](chat-real-time-contact-analysis-segment-streams-data-model.md#chat-segment-streams-data-model-segments-event) 
+ Se publica durante una sesión de análisis de conversación. Este evento contiene una lista de [RealtimeContactAnalysisSegment](https://docs.aws.amazon.com/connect/latest/APIReference/API_RealtimeContactAnalysisSegment.html)objetos con información analizada. La lista de segmentos puede incluir segmentos `"Transcript"` `"Categories"``"Issue"`,`"Event"`,`"Attachment"`, o PostContactSummary "».

```
{
    "Version": "2.0.0",
    "Channel": "CHAT",
    "AccountId": "123456789012", // your AWS account ID
    "InstanceId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",  // your Amazon Connect instance ID
    "ContactId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", // the ID of the contact
    "OutputType": "Redacted",
    "StreamingEventType": "SEGMENTS",
    "StreamingSettings": {
        "LanguageCode": "en-US", // the language code of the contact
        "Output": "RedactedAndRaw",
        "RedactionTypes": [
            "PII"
        ],
        "RedactionTypesMetadata": {
            "PII": {
                "RedactionMaskMode": "PII"
            }
        }
    },
    "Segments": [{
        "Transcript": {
            "Id": "07a2d668-5c9e-4f69-b2fe-986261b0743a",
            "ParticipantId": "a309ac1e-ca87-44ca-bb5d-197eca8ed77a",
            "ParticipantRole": "AGENT",
            "DisplayName": "[PII]",
            "Content": "Hello, thank you for contacting Example Corp. My name is Ray.",
            "ContentType": "text/markdown",
            "Time": {
                "AbsoluteTime": "2024-03-14T19:39:26.715Z"
            },
            "Sentiment": "NEUTRAL"
        }
    }, {
        "Categories": {
            "MatchedDetails": {
                "Hi": {
                    "PointsOfInterest": [{
                        "TranscriptItems": [{
                            "Id": "5205b050-8aa9-4645-a381-a308801649ab",
                            "CharacterOffsets": {
                                "BeginOffsetChar": 0,
                                "EndOffsetChar": 40
                            }
                        }]
                    }]
                }
            }
        }
    }, {
        "Issues": {
            "IssuesDetected": [{
                "TranscriptItems": [{
                    "Content": "I have an issue with my bank account",
                    "Id": "0e5574a7-2aeb-4eab-8bb5-3a7f66a2284a",
                    "CharacterOffsets": {
                        "BeginOffsetChar": 7,
                        "EndOffsetChar": 43
                    }
                }]
            }]
        }
    }, {
        "Attachments": {
            "Id": "06ddc1eb-2302-4a8e-a73f-37687fe41aa9",
            "ParticipantId": "7810b1de-cca8-4153-b522-2498416255af",
            "ParticipantRole": "CUSTOMER",
            "DisplayName": "Customer",
            "Attachments": [{
                "AttachmentName": "Lily.jpg",
                "ContentType": "image/jpeg",
                "AttachmentId": "343e34da-391a-4541-8b7e-3909d931fcfa",
                "Status": "APPROVED"
            }],
            "Time": {
                "AbsoluteTime": "2024-03-14T19:39:26.715Z"
            }
        }
    }, {
        "Event": {
            "Id": "fbe61c5f-d0d8-4345-912a-4e81f5734d3b",
            "ParticipantId": "7810b1de-cca8-4153-b522-2498416255af",
            "ParticipantRole": "CUSTOMER",
            "DisplayName": "Customer",
            "EventType": "application/vnd.amazonaws.connect.event.participant.left",
            "Time": {
                "AbsoluteTime": "2024-03-14T19:40:00.614Z"
            }
        }
    },
    {
        "PostContactSummary": {
            "Content": "Customer contacted Example Corp because of an issue with their bank account",
            "Status": "COMPLETED"
        }
    }]
}
```

## Ejemplo de evento COMPLETED
<a name="chat-sample-completed-event"></a>
+ EventType: COMPLETADO
+ Se publica al final de la sesión de análisis de conversación si el análisis se ha completado correctamente.

```
{
    "Version": "2.0.0",
    "Channel": "CHAT",
    "AccountId": "123456789012", // your AWS account ID
    "InstanceId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",  // your Amazon Connect instance ID
    "ContactId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", // the ID of the contact
    "StreamingEventType": "COMPLETED",
    "StreamingEventSettings": {
        "LanguageCode": "en-US", // the language code of the contact
        "Output": "RedactedAndRaw",
        "RedactionTypes": ["PII"],
        "RedactionTypesMetadata": {
            "PII": {
                "RedactionMaskMode": "PII"
            }
        }
    }
}
```

## Ejemplo de evento FAILED
<a name="chat-sample-failed-event"></a>
+ EventType: FALLÓ
+ Se publica al final de la sesión de análisis de conversación si se ha producido un error en el análisis.

```
{
    "Version": "2.0.0",
    "Channel": "CHAT",
    "AccountId": "123456789012", // your AWS account ID
    "InstanceId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",  // your Amazon Connect instance ID
    "ContactId": "a1b2c3d4-5678-90ab-cdef-EXAMPLE22222", // the ID of the contact
    "StreamingEventType": "FAILED",
    "StreamingEventSettings": {
        "LanguageCode": "en-US",
        "Output": "RedactedAndRaw",
        "RedactionTypes": ["PII"],
        "RedactionTypesMetadata": {
            "PII": {
                "RedactionMaskMode": "PII"
            }
        }
    }
}
```