

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Acessar a analytics do Contact Lens para contatos de voz e chat usando o Amazon Kinesis Data Streams
<a name="contact-analysis-segment-streams"></a>

Os fluxos de segmentos de análise de contatos permitem o acesso à analytics do Contact Lens para contatos de voz e chat. O streaming supera as limitações de escalabilidade das análises existentes de [chamadas e bate-papos](contact-lens-api.md). APIs Para contatos de voz, ele também fornece acesso a um segmento de dados chamado `Utterance`, que permite acessar transcrições parciais. Isso possibilita que você atenda aos requisitos de latência ultrabaixa para auxiliar os atendentes em chamadas ao vivo. 

Esta seção explica como fazer a integração com o Amazon Kinesis Data Streams para streaming.

Por meio do streaming, você pode receber os seguintes tipos de evento: 
+ Eventos STARTED publicados no início da sessão de análise de contatos.
+ Eventos SEGMENTS publicados durante as sessões de análise de contatos. Esses eventos contêm uma lista de segmentos com informações analisadas.
+ Eventos COMPLETED ou FAILED publicados no final de uma sessão de análise de contatos.

**Topics**
+ [Habilitar fluxos de segmentos de análise de contato](enable-contact-analysis-segment-streams.md)
+ [Voz: modelo de dados para fluxos de segmentos de análise de conversação](real-time-contact-analysis-segment-streams-data-model.md)
+ [Chat: modelo de dados para fluxos de segmentos de análise de conversação](chat-real-time-contact-analysis-segment-streams-data-model.md)
+ [Voz: exemplos de fluxo de segmentos de análise de conversação](sample-real-time-contact-analysis-segment-stream.md)
+ [Chat: exemplos de fluxo de segmentos de análise de conversação](chat-sample-real-time-contact-analysis-segment-stream.md)

# Habilitar fluxos de segmentos de análise de contato para analisar conversas do Contact Lens
<a name="enable-contact-analysis-segment-streams"></a>

Os fluxos de segmentos de análise de contato não estão habilitados por padrão. Este tópico explica como habilitá-los. 

## Etapa 1: Criar um fluxo do Kinesis
<a name="enable-segment-streams-step1"></a>

Crie o fluxo de dados na mesma conta e região em que a instância do Amazon Connect reside. Para obter instruções, consulte [Step 1: Create a Data Stream](https://docs.aws.amazon.com/streams/latest/dev/tutorial-stock-data-kplkcl-create-stream.html) no *Guia do desenvolvedor do Amazon Kinesis Data Streams*.

**dica**  
Recomendamos criar um fluxo separado para cada tipo de dados. Embora seja possível usar o mesmo fluxo para análise de contato, fluxos de segmentos, eventos de atendentes e registros de contatos, é muito mais fácil gerenciar e obter dados do fluxo usando um fluxo separado para cada um. Para obter mais informações, consulte o [Guia do desenvolvedor do Amazon Kinesis Data Streams](https://docs.aws.amazon.com/streams/latest/dev/introduction.html). 

## Etapa 2: Configurar a criptografia do lado do servidor para o stream do Kinesis (opcional, mas recomendado)
<a name="enable-segment-streams-step2"></a>

Há várias maneiras de fazer isso. 
+ Opção 1: Usar o Kinesis Chave gerenciada pela AWS (`aws/kinesis`). Isso funciona sem nenhuma configuração adicional de sua parte.
+ Opção 2: Usar a mesma chave gerenciada pelo cliente para gravações de chamadas, transcrições de chat ou relatórios exportados na instância do Amazon Connect.

  Habilite a criptografia e use a mesma chave gerenciada pelo cliente para gravações de chamadas, transcrições de chat ou relatórios exportados na instância do Amazon Connect. Em seguida, escolha a mesma chave do KMS para o fluxo de dados do Kinesis. Essa chave já tem a permissão (concessão) necessária para ser usada.
+ Opção 3: Usar uma chave gerenciada pelo cliente.

  Use uma chave gerenciada pelo cliente que você já tenha ou crie uma e adicione as permissões requeridas para que a função do Amazon Connect use a chave. Para adicionar permissões usando o AWS KMS , consulte o seguinte exemplo:

  ```
  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
  ```

  Onde `grantee-principal` é o ARN da função vinculada ao serviço associada à instância do Amazon Connect. Para encontrar o ARN da função vinculada ao serviço, no console do Amazon Connect, acesse **Visão geral**, **Configurações de distribuição**, **Função vinculada ao serviço**. 

## Etapa 3: Associar o fluxo do Kinesis
<a name="enable-segment-streams-step3"></a>

Use a [AssociateInstanceStorageConfig](https://docs.aws.amazon.com/connect/latest/APIReference/API_AssociateInstanceStorageConfig.html)API Amazon Connect para associar os seguintes tipos de recursos:
+ Para contatos de voz, use `REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS`
+ Para contatos de chat, use `REAL_TIME_CONTACT_ANALYSIS_CHAT_SEGMENTS`

**nota**  
`REAL_TIME_CONTACT_ANALYSIS_SEGMENTS` está obsoleto, mas continua compatível e se aplica somente aos contatos de voz. Use `REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS` para contatos de voz daqui para frente.  
Se você já associou um fluxo a `REAL_TIME_CONTACT_ANALYSIS_SEGMENTS`, nenhuma ação será necessária para atualizar o fluxo para `REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS`.

Especifique o fluxo do Kinesis em que os segmentos de análise de contato em tempo real serão publicados. Você precisará do ID da instância e do ARN do fluxo do Kinesis. O seguinte código mostra um exemplo:

```
// 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>

O exemplo a seguir é para contatos de chat.

**dica**  
Se você não incluir a AWS região (`--region`), ela usará a região padrão com base no perfil da CLI.  
O valor do parâmetro `--storage-config` não deve ser incluído entre aspas simples ('). Caso contrário, isso gerará um erro.

```
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>

O exemplo a seguir é para contatos 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'));
```

## Etapa 4: habilitar o Contact Lens para a instância do Amazon Connect
<a name="enable-segment-streams-step4"></a>

Para instruções, consulte [Habilitar a analytics de conversação no Amazon Connect Contact Lens](enable-analytics.md).

## Etapa 5 (opcional): Analisar um fluxo de segmentos de exemplo
<a name="enable-segment-streams-step5"></a>

Recomendamos que você analise um fluxo de segmentos de exemplo de [voz](sample-real-time-contact-analysis-segment-stream.md) ou [chat](chat-sample-real-time-contact-analysis-segment-stream.md) para se familiarizar com sua aparência.

# Modelo de dados para fluxos de segmentos de analytics de conversação para analisar contatos de voz no Contact Lens
<a name="real-time-contact-analysis-segment-streams-data-model"></a>

Os fluxos de segmentos de análise de contato em tempo real são gerados em JSON. Os blobs JSON de eventos são publicados no fluxo associado para cada contato que tenha a análise de conversação em tempo real habilitada. Os seguintes tipos de evento podem ser publicados para uma sessão de análise de conversação para um contato de voz: 
+ Eventos STARTED: cada seção de análise de conversação publica um evento STARTED no início da sessão.
+ Eventos SEGMENTS: cada sessão de análise de conversação pode publicar zero ou mais eventos SEGMENTS durante a sessão. Esses eventos contêm uma lista de segmentos com informações analisadas. Para contatos de voz, a lista de segmentos pode incluir segmentos “`Utterance`”, “`Transcript`”, “`Categories`” ou “`PostContactSummary`”.
+ Eventos COMPLETED ou FAILED: cada sessão de análise de conversação publica um evento COMPLETED ou FAILED no final da sessão.

## Propriedades comuns incluídas em todos os eventos para contatos de voz
<a name="segment-streams-data-model-common-properties"></a>

Cada evento inclui as seguintes propriedades:

**Versão**  
A versão do esquema de evento.   
Tipo: string

**Canal**  
O tipo de canal para esse contato.  
Tipo: string  
Valores válidos: `VOICE`, `CHAT`, `TASK`  
Para obter mais informações sobre canais, consulte [Canais e simultaneidade para rotear contatos no Amazon Connect](channels-and-concurrency.md).

**AccountId**  
O identificador da conta em que esse contato ocorre.  
Tipo: string

**ContactId**  
O identificador do contato que está sendo analisado.  
Tipo: string

**InstanceId**  
O identificador da instância em que esse contato ocorre.  
Tipo: string 

**LanguageCode**  
O código do idioma associado a esse contato.  
Tipo: string   
Valores válidos: o código de um dos [idiomas aceitos para analytics de chamada em tempo real do Contact Lens](supported-languages.md#supported-languages-contact-lens). 

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

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

Os eventos `STARTED` incluem somente as propriedades comuns:
+ Versão
+ Canal
+ AccountId
+ ContactId
+ LanguageCode
+ EventType: INICIADO

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

Os evento `SEGMENTS` incluem as seguintes propriedades:
+ Versão
+ Canal
+ AccountId
+ ContactId
+ LanguageCode
+ EventType: SEGMENTOS
+ Segmentos: além das propriedades comuns, os eventos `SEGMENTS` incluem uma lista de segmentos com informações analisadas.

  Tipo: matriz de objetos [segmento](#segment)
+ PostContactSummary: Informações sobre o resumo pós-contato de um segmento de contato de voz.

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

  Obrigatório: não

**Segmento**  
Um segmento analisado para uma sessão de análise em tempo real.  
Cada segmento é um objeto com as seguintes propriedades. Somente uma destas propriedades está presente, dependendo do tipo de segmento:  
+ Enunciado
+ Transcript
+ Categorias
+ PostContactSummary

**Enunciado**  
O enunciado analisado.  
Obrigatório: não  
+ **Id**

  O identificador do enunciado.

  Tipo: string
+ ** TranscriptId**

  O identificador da transcrição associada a esse enunciado.

  Tipo: string
+ **ParticipantId**

  O identificador do participante.

  Tipo: string
+ ** ParticipantRole**

  A função do participante. Por exemplo, é um cliente, atendente ou sistema.

  Tipo: string
+ ** PartialContent**

  O conteúdo do enunciado.

  Tipo: string
+ ** BeginOffsetMillis**

  O deslocamento inicial no contato dessa transcrição.

  Tipo: inteiro
+ ** EndOffsetMillis**

  O deslocamento inicial no contato dessa transcrição.

  Tipo: inteiro

**Transcript**  
A transcrição analisada.  
Tipo: objeto [Transcript](https://docs.aws.amazon.com/contact-lens/latest/APIReference/API_Transcript.html)   
Obrigatório: não

**Categorias**  
As regras de categoria correspondentes.  
Tipo: objeto [Categories](https://docs.aws.amazon.com/contact-lens/latest/APIReference/API_Categories.html)  
Obrigatório: não

**PostContactSummary**  
Informações sobre o resumo pós-contato de um segmento de contato de voz.  
Tipo: objeto [PostContactSummary](https://docs.aws.amazon.com/connect/latest/APIReference/API_connect-contact-lens_PostContactSummary.html)  
Obrigatório: não

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

Os eventos `COMPLETED` incluem somente as seguintes propriedades comuns:
+ Versão
+ Canal
+ AccountId
+ ContactId
+ LanguageCode
+ EventType: CONCLUÍDO

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

Os eventos `FAILED` incluem somente as seguintes propriedades comuns:
+ Versão
+ Canal
+ AccountId
+ ContactId
+ LanguageCode
+ EventType: FALHOU

# Modelo de dados para fluxos de segmentos de analytics de conversação para analisar chats no Contact Lens
<a name="chat-real-time-contact-analysis-segment-streams-data-model"></a>

Os fluxos de segmentos de análise de conversação para contatos de chat são gerados em JSON. Os blobs JSON de eventos são publicados no fluxo associado para cada contato que tenha a análise de conversação em tempo real habilitada. Os seguintes tipos de evento podem ser publicados para uma sessão de análise de conversação para um contato de chat: 
+ Eventos STARTED: cada seção de análise de conversação publica um evento STARTED no início da sessão.
+ Eventos SEGMENTS: cada sessão de análise de conversação pode publicar zero ou mais eventos SEGMENTS durante a sessão. Esses eventos contêm uma lista de segmentos com informações analisadas. Para contatos de chat, a lista de segmentos pode incluir segmentos “`Attachments`”, “`Transcript`”, “`Categories`”, “`Events`”, “`Issues`” ou “`PostContactSummary`”.
+ Eventos COMPLETED ou FAILED: cada sessão de análise de conversação publica um evento COMPLETED ou FAILED no final da sessão.

## Propriedades comuns incluídas em todos os eventos para contatos de chat
<a name="chat-segment-streams-data-model-common-properties"></a>

Cada evento inclui as seguintes propriedades:

**Versão**  
A versão do esquema de evento. Para contatos de chat, é 2.0.0.  
Tipo: string

**Canal**  
O tipo de canal para esse contato.  
Tipo: string  
Valores válidos: `VOICE`, `CHAT`, `TASK`  
Para obter mais informações sobre canais, consulte [Canais e simultaneidade para rotear contatos no Amazon Connect](channels-and-concurrency.md).

**AccountId**  
O identificador da conta em que esse contato ocorre.  
Tipo: string

**InstanceId**  
O identificador da instância em que esse contato ocorre.  
Tipo: string 

**ContactId**  
O identificador do contato que está sendo analisado.  
Tipo: string

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

**StreamingSettings**  
As configurações do Contact Lens desse contato  
Tipo: objeto [StreamingSettings](#streamingsettingsobject) 

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

**LanguageCode**  
O código do idioma associado a esse contato.  
Tipo: string   
Valores válidos: o código de um dos [idiomas aceitos para analytics de chamada em tempo real do Contact Lens](supported-languages.md#supported-languages-contact-lens). 

**Output**  
O tipo de saída do Contact Lens habilitado para esse contato.  
Tipo: string  
Valores válidos: `Raw`, `Redacted`, `RedactedAndRaw` 

**RedactionTypes**  
O tipo de edição habilitada para esse contato.  
Tipo: matriz de strings  
Valores válidos: `PII` 

**RedactionTypesMetadata**  
Os metadados de edição para cada tipo de edição.  
Tipo: RedactionType string para [RedactionMetadata](#redactionmetadata)objeto   
Valores válidos: `PII` 

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

Fornece informações sobre as configurações de edição.

**RedactionMaskMode**  
A configuração de substituição de edição de dados  
Tipo: string   
Valores válidos: `PII`, `EntityType`

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

Os eventos `STARTED` incluem somente as propriedades comuns:
+ Versão
+ Canal
+ AccountId
+ ContactId
+ StreamingEventType: INICIADO
+ StreamingSettings

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

Os evento `SEGMENTS` incluem as seguintes propriedades:
+ Versão
+ Canal
+ AccountId
+ OutputType
  + O tipo de saída do Contact Lens do segmento atual
  + Tipo: string
  + Valores válidos: `Raw`, `Redacted`
+ ContactId
+ StreamingEventType: SEGMENTOS
+ StreamingSettings
+ Segmentos
  + Uma lista de segmentos com informações analisadas.
  + Tipo: matriz de objetos [segmento](#chat-segment)

**Segmento**  
Um segmento analisado para uma sessão de análise em tempo real.  
Cada segmento é um objeto com as seguintes propriedades. Somente uma destas propriedades está presente, dependendo do tipo de segmento:  
+  [Anexos](#chat-attachments)
+  [Categorias](#chat-category)
+  [Evento](#chat-event)
+  [Problemas](#chat-issues)
+  [Transcrição](#chat-transcript)
+ [PostContactSummary](#chat-postcontactsummary)

**Anexos**  
Os anexos analisados.  
Obrigatório: não  
Tipo: objeto [RealTimeContactAnalysisSegmentAttachments](https://docs.aws.amazon.com/connect/latest/APIReference/API_RealTimeContactAnalysisSegmentAttachments.html)

**Categorias**  
As regras de categoria correspondentes.  
Tipo: objeto [RealTimeContactAnalysisSegmentCategories](https://docs.aws.amazon.com/connect/latest/APIReference/API_RealTimeContactAnalysisSegmentCategories.html)  
Obrigatório: não

**Event**  
Tipo de segmento que descreve um evento de contato.  
Tipo: objeto [RealTimeContactAnalysisSegmentEvent](https://docs.aws.amazon.com/connect/latest/APIReference/API_RealTimeContactAnalysisSegmentEvent.html)  
Obrigatório: não

**Problemas**  
Tipo de segmento contendo uma lista dos problemas detectados.  
Tipo: objeto [RealTimeContactAnalysisSegmentIssues](https://docs.aws.amazon.com/connect/latest/APIReference/API_RealTimeContactAnalysisSegmentIssues.html)  
Obrigatório: não

**Transcrição**  
O segmento de transcrição analisado.  
Tipo: objeto [RealTimeContactAnalysisSegmentTranscript](https://docs.aws.amazon.com/connect/latest/APIReference/API_RealTimeContactAnalysisSegmentTranscript.html)  
Obrigatório: não

**PostContactSummary**  
Informações sobre o resumo pós-contato de um segmento de contato em tempo real para chat.  
Tipo: objeto [RealTimeContactAnalysisSegmentPostContactSummary](https://docs.aws.amazon.com/connect/latest/APIReference/API_RealTimeContactAnalysisSegmentPostContactSummary.html)   
Obrigatório: não

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

Os eventos `COMPLETED` incluem somente as seguintes propriedades comuns:
+ Versão
+ Canal
+ AccountId
+ InstanceId
+ ContactId
+ StreamingEventType: CONCLUÍDO
+ StreamingSettings

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

Os eventos `FAILED` incluem somente as seguintes propriedades comuns:
+ Versão
+ Canal
+ AccountId
+ InstanceId
+ ContactId
+ StreamingEventType: FALHOU
+ StreamingSettings

# Exemplos de fluxos de segmentos de analytics de conversação para analisar chamadas usando o Contact Lens
<a name="sample-real-time-contact-analysis-segment-stream"></a>

Este tópico fornece exemplos de fluxos de segmentos de eventos STARTED, SEGMENTS, COMPLETED e FAILED que podem ocorrer durante um contato de voz. 

## Exemplo de evento STARTED
<a name="sample-started-event"></a>
+ EventType: INICIADO
+ Publicado no início da sessão de análise de conversação.

```
{
    "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"
}
```

## Exemplo de evento SEGMENTS
<a name="sample-segments-event"></a>
+ EventType: SEGMENTOS
+ Publicado durante uma sessão de análise de conversação. Esse evento contém uma lista de segmentos com informações analisadas. A lista de segmentos pode incluir segmentos “`Utterance`”, “`Transcript`”, “`Categories`” ou “`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"
            }
        }
    ]
}
```

## Exemplo de evento COMPLETED
<a name="sample-completed-event"></a>
+ EventType: CONCLUÍDO
+ Publicado no final da sessão de análise de conversação, se a análise for concluída com êxito.

```
{
    "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"
}
```

## Exemplo de evento FAILED
<a name="sample-failed-event"></a>
+ EventType: FALHOU
+ Publicado no final da sessão de análise de conversação em caso de falha na análise.

```
{
    "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"
}
```

# Exemplos de fluxos de analytics de conversação para analisar chats no Contact Lens
<a name="chat-sample-real-time-contact-analysis-segment-stream"></a>

Este tópico fornece exemplos de fluxos de segmentos de eventos STARTED, SEGMENTS, COMPLETED e FAILED que ocorrem durante um contato de chat. 

## Exemplo de evento STARTED
<a name="chat-sample-started-event"></a>
+ EventType: INICIADO
+ Publicado no início da sessão de análise de conversação.

```
{
    "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"
         }
       }
    }
}
```

## Exemplo 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) 
+ Publicado durante uma sessão de análise de conversação. Esse evento contém uma lista de [RealtimeContactAnalysisSegment](https://docs.aws.amazon.com/connect/latest/APIReference/API_RealtimeContactAnalysisSegment.html)objetos com informações analisadas. A lista de segmentos pode incluir segmentos `"Transcript"` `"Categories"``"Issue"`,`"Event"`,`"Attachment"`,, ou 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"
        }
    }]
}
```

## Exemplo de evento COMPLETED
<a name="chat-sample-completed-event"></a>
+ EventType: CONCLUÍDO
+ Publicado no final da sessão de análise de conversação, se a análise for concluída com êxito.

```
{
    "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"
            }
        }
    }
}
```

## Exemplo de evento FAILED
<a name="chat-sample-failed-event"></a>
+ EventType: FALHOU
+ Publicado no final da sessão de análise de conversação em caso de falha na análise.

```
{
    "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"
            }
        }
    }
}
```