

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Flux d'événements d'agent Amazon Connect
<a name="agent-event-streams"></a>

Les flux d'événements d'agent Amazon Connect sont des flux de données Amazon Kinesis qui vous procurent des rapports en temps quasi-réel sur l'activité des agents au sein de l'instance d'Amazon Connect. Les événements publiés vers le flux incluent les événements CCP suivants : 
+ Connexion d’agent
+ Déconnexion d’agent
+ L'agent se connecte avec un contact
+ Changement du statut de l'agent, tel que Disponible pour gérer les contacts, ou Pause ou Formation. 

Vous pouvez utiliser les flux d'événements d'agent pour créer des tableaux de bord qui affichent les activités et les informations d'agent, intègrent les flux dans des solutions Workforce Management (WFM) et configurent des outils d'alerte pour déclencher des notifications personnalisées sur les activités spécifiques des agents. Les flux d'événements d'agent vous aident à gérer la dotation en personnel et l'efficacité des agents.

**Topics**
+ [Activation des flux d’événements d’agent pour signaler l’activité des agents dans Amazon Connect](agent-event-streams-enable.md)
+ [Exemple de flux d’événements d’agent dans Amazon Connect](sample-agent-event-stream.md)
+ [Déterminer le temps de travail après contact (ACW) de l’agent du centre de contact](determine-acw-time.md)
+ [Modèle de données des flux d’événements d’agent dans Amazon Connect](agent-event-stream-model.md)

# Activation des flux d’événements d’agent pour signaler l’activité des agents dans Amazon Connect
<a name="agent-event-streams-enable"></a>

Par défaut, les flux d'événements d'agent ne sont pas activés. Avant de pouvoir activer des flux d'événements d'agent dans Amazon Connect, créez un flux de données dans Amazon Kinesis Data Streams. Ensuite, choisissez le flux Kinesis comme flux à utiliser pour les flux d'événements d'agent. Même si vous pouvez utiliser le même flux pour les flux d'événements d'agent et les enregistrements de contacts, il est beaucoup plus facile de gérer et d'obtenir des données à partir du flux lorsque vous utilisez un flux distinct pour chacun. Pour plus d'informations, consultez le [Guide du développeur Amazon Kinesis Data Streams](https://docs.aws.amazon.com/streams/latest/dev/).

Lorsque des données sont envoyées à Kinesis, la clé de partition utilisée est l'ARN de l'agent. Tous les événements d'un seul agent sont envoyés à la même partition, tandis que les événements de repartitionnement du flux sont ignorés.

**Note**  
Si vous activez le chiffrement côté serveur du flux Kinesis que vous sélectionnez pour les flux d'événements d'agent, Amazon Connect ne peut pas publier dans le flux. En effet, ce dernier ne dispose pas de l'autorisation `kms:GenerateDataKey` de Kinesis. Pour contourner ce problème, vous devez d'abord activer le chiffrement pour les rapports planifiés ou les enregistrements de conversations. Ensuite, créez un KMS AWS KMS key à l'aide du chiffrement. Enfin, choisissez la même clé KMS pour le flux de données Kinesis que celle que vous utilisez pour le chiffrement des rapports planifiés ou des enregistrements de conversations afin qu'Amazon Connect dispose des autorisations appropriées pour chiffrer les données envoyées à Kinesis. Pour plus d'informations sur la création d'une clé KMS, consultez [Création de clés](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html).

**Pour activer des flux d'événements d'agent**

1. Ouvrez la console Amazon Connect à l'adresse [https://console.aws.amazon.com/connect/](https://console.aws.amazon.com/connect/).

1. Sur la console, choisissez le nom dans la colonne **Alias d'instance** de l'instance pour laquelle vous souhaitez activer des flux d'événements d'agent.

1. Choisissez **Diffusion de données**, puis sélectionnez **Activer la diffusion de données**.

1. Sous **Événements d'agent**, sélectionnez le flux Kinesis à utiliser, puis choisissez **Enregistrer**.

# Exemple de flux d’événements d’agent dans Amazon Connect
<a name="sample-agent-event-stream"></a>

Dans l'exemple de flux d'événements d'agent suivant, l'agent est affecté à un profil de routage qui exige qu'il accepte à la fois les chats et les appels. Il peut accepter un appel et jusqu'à trois chats à la fois. 

**Note**  
Pour connaître le nombre de chats et de tâches qu'un agent peut accepter simultanément, consultez [Amazon Connect quotas de service](amazon-connect-service-limits.md).

```
{
    "AWSAccountId": "012345678901",
    "AgentARN": "arn:aws:connect:us-west-2:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/agent/agent-ARN",
    "CurrentAgentSnapshot": 
      {
    "AgentStatus": {
            "ARN": "example-ARN", //The ARN for the agent's current agent status (not for the agent).
            "Name": "Available",  //This shows the agent status in the CCP is set to Available. 
            "StartTimestamp": "2019-08-13T20:52:30.704Z"
        },
     "NextAgentStatus": {
            "Name": "Lunch", //They set their next status, which pauses new contacts being routed to them while they finish their current contacts.
            "ARN": "example-ARN2",  //The ARN of the agent status that the agent has set as their next status. 
            "EnqueuedTimestamp": "2019-08-13T20:58:00.004Z",   //When the agent set their next status and paused routing of incoming contacts.
        }
      } ,
        "Configuration": {
            "AgentHierarchyGroups": null,
            "FirstName": "AgentEventStreamTest",
            "LastName": "Agent",
            "Proficiencies": [{
                 "Level": 3.0,
                 "Name": "Technology",
                 "Value": "Kinesis"
             }, {
                 "Level": 1.0,
                 "Name": "Location",
                 "Value": "WA"
             }],
            "RoutingProfile": {
                "ARN": "arn:aws:connect:us-west-2:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/routing-profile/routing-profile-ARN",
                "Concurrency": [
                    {
                        "AvailableSlots": 3, //This shows the agent has 3 slots available. 
                                            //They aren't on any chats right now.
                        "Channel": "CHAT",
                        "MaximumSlots": 3  //The agent's routing profile allows them to take up to 3 chats.
                    },
                    {
                        "AvailableSlots": 1, //The agent has 1 slot available to take a call.
                        "Channel": "VOICE",
                        "MaximumSlots": 1  //The agent's routing profile allows them to take 1 call at a time.
                    }
                ],
                "DefaultOutboundQueue": {
                    "ARN": "arn:aws:connect:us-west-2:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/queue/queue-ARN",
                    "Channels": [
                        "VOICE"  //This outbound queue only works for calls. 
                    ],
                    "Name": "OutboundQueue"  
                },
                "InboundQueues": [
                    {
                        "ARN": "arn:aws:connect:us-west-2:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/queue/agent/agent-ARN",
                        "Channels": [
                            "VOICE",
                            "CHAT"
                        ],
                        "Name": null  //This queue has a name of "null" because it's an agent queue, 
                                      //and agent queues don't have names.
                    },
                    {
                        "ARN": "arn:aws:connect:us-west-2:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/queue/queue-ARN",
                        "Channels": [
                            "CHAT",
                            "VOICE"
                        ],
                        "Name": "Omni-channel-queue" //This inbound queue takes both chats and calls. 
                    }
                ],
                "Name": "AgentEventStreamProfile"
            },
            "Username": "aestest"
        },
        "Contacts": [ ]
    },
    "EventId": "EventId-1",
    "EventTimestamp": "2019-08-13T20:58:44.031Z",
    "EventType": "HEART_BEAT",
    "InstanceARN": "arn:aws:connect:us-west-2:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111",
    "PreviousAgentSnapshot": {
        "AgentStatus": {
            "ARN": "arn:aws:connect:us-west-2:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/agent-state/agent-state-ARN",
            "Name": "Offline",
            "StartTimestamp": "2019-08-13T20:52:30.704Z"
        },
        "Configuration": {
            "AgentHierarchyGroups": null,
            "FirstName": "AgentEventStreamTest",
            "LastName": "Agent",
            "Proficiencies": [{
                 "Level": 3.0,
                 "Name": "Technology",
                 "Value": "Kinesis"
             }, {
                 "Level": 1.0,
                 "Name": "Location",
                 "Value": "WA"
             }],
            "RoutingProfile": {
                "ARN": "arn:aws:connect:us-west-2:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/routing-profile/routing-profile-ARN",
                "Concurrency": [
                    {
                        "AvailableSlots": 3,
                        "Channel": "CHAT",
                        "MaximumSlots": 3
                    },
                    {
                        "AvailableSlots": 1,
                        "Channel": "VOICE",
                        "MaximumSlots": 1
                    }
                ],
                "DefaultOutboundQueue": {
                    "ARN": "arn:aws:connect:us-west-2:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/queue/queue-ARN",
                    "Channels": [
                        "VOICE"
                    ],
                    "Name": "OutboundQueue"
                },
                "InboundQueues": [
                    {
                        "ARN": "arn:aws:connect:us-west-2:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/queue/agent/agent-ARN",
                        "Channels": [
                            "VOICE",
                            "CHAT"
                        ],
                        "Name": null
                    },
                    {
                        "ARN": "arn:aws:connect:us-west-2:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/queue/queue-ARN",
                        "Channels": [
                            "CHAT",
                            "VOICE"
                        ],
                        "Name": "Omni-channel-queue"
                    }
                ],
                "Name": "AgentEventStreamProfile"
            },
            "Username": "aestest"
        },
        "Contacts": [ ]
    },
    "Version": "2017-10-01"
}
```

# Déterminer le temps de travail après contact (ACW) de l’agent du centre de contact
<a name="determine-acw-time"></a>

Aucun événement dans le flux d’événements d’agent ne vous indique combien de temps un contact est de travail après contact (ACW) et, par extension, combien de temps un agent passe à effectuer le travail après contact. Cependant, vous pouvez utiliser d'autres données dans le flux d'événements d'agent pour le déterminer. 

Tout d'abord, identifiez à quel moment le contact est passé à l'état TAC. Voici comment procéder : 

1. Identifiez à quel moment la conversation entre le contact et l'agent s'est terminée (`ENDED`).

1. Affichez l'horodatage `StateStartTimeStamp` pour l'événement.

Par exemple, dans la sortie du flux d'événements de l'agent suivante, le contact passe à l'état ACW à l'adresse « » : **StateStartTimestamp**« 2019-05-25T 18:55:27.017 Z ».

**Astuce**  
Dans le flux d'événements d'agent, les événements sont répertoriés dans l'ordre chronologique inversé. Nous vous recommandons de lire les exemples suivants en commençant au bas de chaque exemple.

```
{
    "AWSAccountId": "012345678901",
    "AgentARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/agent/agent-ARN",
    "CurrentAgentSnapshot": {
        "AgentStatus": {
            "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/agent-state/agent-state-ARN",
            "Name": "Available",  //This just refers to the status that the agent sets manually in the CCP. 
                It means they are ready to handle contacts, not say, on Break.  
            "StartTimestamp": "2019-05-25T18:43:59.049Z"
        },
        "Configuration": {
            "AgentHierarchyGroups": null,
            "FirstName": "(Removed)",
            "LastName": "(Removed)",
            "RoutingProfile": {
                "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/routing-profile/routing-profile-ARN",
                "DefaultOutboundQueue": {
                    "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/queue/queue-ARN-for-BasicQueue",
                    "Name": "BasicQueue"
                },
                "InboundQueues": [
                    {
                        "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/queue/queue-ARN-for-BasicQueue",
                        "Name": "BasicQueue"
                    },
                    {
                        "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/queue/queue-ARN-for-PrimaryQueue",
                        "Name": "PrimaryQueue"
                    }
                ],
                "Name": "Basic Routing Profile"
            },
            "Username": "(Removed)"
        },
        "Contacts": [
            {
                "Channel": "VOICE",
                "ConnectedToAgentTimestamp": "2019-05-25T18:55:21.011Z",
                "ContactId": "ContactId-1",  //This is the same contact the agent was working on when their state was CONNECTED (below). 
                    Since it's still the same contact but they aren't connected, we know the contact is now in ACW state.
                "InitialContactId": null,
                "InitiationMethod": "OUTBOUND",  //This indicates how the contact was initiated. OUTBOUND means the agent initiated contact with the customer. 
                    INBOUND means the customer initiated contact with your center.
                "Queue": {
                    "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/queue/queue-ARN-for-BasicQueue",
                    "Name": "BasicQueue"
                },
                "QueueTimestamp": null,
                "State": "ENDED",  //This shows the conversation has ended. 
                "StateStartTimestamp": "2019-05-25T18:55:27.017Z"  //This is the timestamp for the ENDED event (above), 
                    which is when the contact entered ACW state.
            }
        ]
    },
    "EventId": "EventId-1",
    "EventTimestamp": "2019-05-25T18:55:27.017Z",
    "EventType": "STATE_CHANGE",  //This shows that the state of the contact has changed; above we can see the conversation ENDED. 
    "InstanceARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111",
    "PreviousAgentSnapshot": {
        "AgentStatus": {
            "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/agent-state/agent-state-ARN",
            "Name": "Available", //This just refers to the status that the agent sets manually in the CCP. 
                It means they were ready to handle contacts, not say, on Break.  
            "StartTimestamp": "2019-05-25T18:43:59.049Z"
        },
        "Configuration": {
            "AgentHierarchyGroups": null,
            "FirstName": "(Removed)",
            "LastName": "(Removed)",
            "RoutingProfile": {
                "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/routing-profile/routing-profile-ARN",
                "DefaultOutboundQueue": {
                    "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/queue/queue-ARN-for-BasicQueue",
                    "Name": "BasicQueue"
                },
                "InboundQueues": [
                    {
                        "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/queue/queue-ARN-for-BasicQueue",
                        "Name": "BasicQueue"
                    },
                    {
                        "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/queue/queue-ARN-for-PrimaryQueue",
                        "Name": "PrimaryQueue"
                    }
                ],
                "Name": "Basic Routing Profile"
            },
            "Username": "(Removed)"
        },
        "Contacts": [
            {
                "Channel": "VOICE",  //This shows the agent and contact were talking on the phone. 
                "ConnectedToAgentTimestamp": "2019-05-25T18:55:21.011Z",
                "ContactId": "ContactId-1",  //This shows the agent was working with a contact identified as "ContactId-1".
                "InitialContactId": null,
                "InitiationMethod": "OUTBOUND",
                "Queue": {
                    "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/queue/queue-ARN-for-BasicQueue",
                    "Name": "BasicQueue"
                },
                "QueueTimestamp": null,
                "State": "CONNECTED",  //This shows the contact was CONNECTED to the agent, instead of say, MISSED. 
                "StateStartTimestamp": "2019-05-25T18:55:21.011Z"  //This shows when the contact was connected to the agent.
            }
        ]
    },
    "Version": "2019-05-25"
}
```

Ensuite, déterminez quand un contact a quitté l'état TAC. Voici comment procéder : 

1. Recherchez où le `CurrentAgentSnapshot` n'a aucun contact et où l'état du contact répertorié dans le `PreviousAgentSnapshot` est ENDED.

   Comme un événement STATE\$1CHANGE se produit également lorsque la configuration de l'agent est modifiée, par exemple lorsqu'un profil de routage différent lui est attribué, cette étape confirme que vous disposez du bon événement.

1. Recherchez où `EventType` = « STATE\$1CHANGE ».

1. Consultez l'horodatage `EventTimeStamp` correspondant.

Par exemple, dans le fichier de flux d'événements de l'agent suivant, le contact a quitté ACW à l'adresse « » : **EventTimestamp**« 2019-05-25T 18:55:32.022 Z ».

```
{
    "AWSAccountId": "012345678901",
    "AgentARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/agent/agent-ARN",
    "CurrentAgentSnapshot": {
        "AgentStatus": {
            "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/agent-state/agent-state-ARN",
            "Name": "Available",  //This just refers to the status that the agent sets manually in the CCP. It means they 
                are ready to handle contacts, not say, on Break. 
            "StartTimestamp": "2019-05-25T18:43:59.049Z"
        },
        "Configuration": {
            "AgentHierarchyGroups": null,
            "FirstName": "(Removed)",
            "LastName": "(Removed)",
            "RoutingProfile": {
                "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/routing-profile/routing-profile-ARN",
                "DefaultOutboundQueue": {
                    "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/queue/queue-ARN-for-BasicQueue",
                    "Name": "BasicQueue"
                },
                "InboundQueues": [
                    {
                        "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/queue/queue-ARN-for-BasicQueue",
                        "Name": "BasicQueue"
                    },
                    {
                        "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/queue/queue-ARN-for-PrimaryQueue",
                        "Name": "PrimaryQueue"
                    }
                ],
                "Name": "Basic Routing Profile"
            },
            "Username": "(Removed)"
        },
        "Contacts": []  //Since a contact isn't listed here, it means ACW for ContactId-1 (below)
            is finished, and the agent is ready for a new contact to be routed to them. 
    },
    "EventId": "477f2c4f-cd1a-4785-b1a8-97023dc1229d",
    "EventTimestamp": "2019-05-25T18:55:32.022Z",  //Here's the EventTimestamp for the STATE_CHANGE event. This is when
        the contact left ACW.
    "EventType": "STATE_CHANGE",  //Here's the STATE_CHANGE
    "InstanceARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111",
    "PreviousAgentSnapshot": {
        "AgentStatus": {
            "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/agent-state/agent-state-ARN",
            "Name": "Available",  //This just refers to the status that the agent sets manually in the CCP. 
                It means they were at work, not say, on Break. 
            "StartTimestamp": "2019-05-25T18:43:59.049Z"
        },
        "Configuration": {
            "AgentHierarchyGroups": null,
            "FirstName": "(Removed)",
            "LastName": "(Removed)",
            "RoutingProfile": {
                "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/routing-profile/routing-profile-ARN",
                "DefaultOutboundQueue": {
                    "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/queue/queue-ARN-for-BasicQueue",
                    "Name": "BasicQueue"
                },
                "InboundQueues": [
                    {
                        "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/queue/queue-ARN-for-BasicQueue",
                        "Name": "BasicQueue"
                    },
                    {
                        "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/queue/queue-ARN-for-PrimaryQueue",
                        "Name": "PrimaryQueue"
                    }
                ],
                "Name": "Basic Routing Profile"
            },
            "Username": "(Removed)"
        },
        "Contacts": [
            {
                "Channel": "VOICE",
                "ConnectedToAgentTimestamp": "2019-05-25T18:55:21.011Z",
                "ContactId": "ContactId-1",  //This is the ContactId of the customer the agent was working on previously. 
                "InitialContactId": null,
                "InitiationMethod": "OUTBOUND",
                "Queue": {
                    "ARN": "arn:aws:connect:us-east-1:012345678901:instance/aaaaaaaa-bbbb-cccc-dddd-111111111111/queue/queue-ARN-for-BasicQueue",
                    "Name": "BasicQueue"
                },
                "QueueTimestamp": null,
                "State": "ENDED", //The ACW for ContactId-1 has ended.  
                "StateStartTimestamp": "2019-05-25T18:55:27.017Z"
            }
        ]
    },
    "Version": "2019-05-25"
}
```

Enfin, pour calculer la durée pendant laquelle le contact était à l'état TAC, et donc la durée pendant laquelle l'agent a travaillé sur son cas :
+ Soustrayez le "**StateStartTimestamp**« : « 2019-05-25T 18:55:27.017 Z » du "« : « 2019-05-25T 18:55:32.022 Z ». **EventTimestamp** 

Dans cet exemple, l'agent a passé 5,005 secondes à exécuter ACW pour ContactId -1. 

# Modèle de données des flux d’événements d’agent dans Amazon Connect
<a name="agent-event-stream-model"></a>

Les flux d'événements de l'agent sont créés au format JSON ( JavaScript Object Notation). Pour chaque type d'événement, un blob JSON est envoyé au flux de données Kinesis. Les types d'événements suivants sont inclus dans les flux d'événements de l'agent :
+ LOGIN : une connexion de l'agent au centre de contact.
+ LOGOUT : une déconnexion de l'agent du centre de contact.
+ STATE\$1CHANGE : un des éléments suivants a changé :
  + L'agent a modifié son statut dans le Panneau de configuration du contact (CCP). Par exemple, il a changé de Disponible à Pause.
  + L'état de la conversation entre l'agent et le contact a changé. Par exemple, ils étaient connectés, puis en attente. 
  + L'un des paramètres suivants a été modifié dans la configuration de l'agent :
    + Leur profil de routage
    + Les files d'attente dans leur profil de routage
    + Accepter automatiquement l'appel
    + Adresse Sip
    + Groupe de hiérarchie des agents
    + Paramètre de préférence de langue dans le CCP
+ HEART\$1BEAT : cet événement est publié toutes les 120 secondes si aucun autre événement n'est publié pendant cet intervalle.
**Note**  
Ces événements continuent d'être publiés jusqu'à une heure après la fermeture de session d'un agent. 

**Topics**
+ [AgentEvent](#AgentEvent)
+ [AgentSnapshot](#AgentSnapshot)
+ [Configuration](#Configuration)
+ [Objet du contact](#Contact)
+ [HierarchyGroup objet](#Hierarchygroup-object)
+ [AgentHierarchyGroups objet](#Hierarchygroups-object)
+ [Compétence](#proficiency-object)
+ [Objet Queue](#queue-object)
+ [RoutingProfile objet](#routingprofile)

## AgentEvent
<a name="AgentEvent"></a>

L'objet `AgentEvent` inclut les propriétés suivantes :

**AgentARN**  
Amazon Resource Name (ARN) du compte de l'agent.  
Type : ARN

**AWSAccountId**  
L'identifiant de AWS compte à 12 chiffres du AWS compte associé à l'instance Amazon Connect.  
Type : Chaîne

**CurrentAgentSnapshot**  
Contient la configuration de l'agent, comme le nom d'utilisateur, le prénom, le nom de famille, le profil de routage, les groupes de hiérarchie, les contacts et le statut de l'agent.  
Type : objet `AgentSnapshot`

**EventId**  
Identifiant universel unique (UUID) de l'événement.  
Type : Chaîne

**EventTimestamp**  
Un horodatage de l'événement au format standard ISO 8601.  
Type : String (*yyyy*-*mm*-*dd*T*hh*:*mm*:*ss*.*sss*Z)

**EventType**  
Type d’événement.   
Valeurs valides : `STATE_CHANGE` \$1 `HEART_BEAT` \$1 `LOGIN` \$1 `LOGOUT` 

**InstanceARN**  
Amazon Resource Name de l'instance d'Amazon Connect dans laquelle le compte d'utilisateur de l'agent est créé.  
Type : ARN

**PreviousAgentSnapshot**  
Contient la configuration de l'agent, comme le nom d'utilisateur, le prénom, le nom de famille, le profil de routage, les groupes de hiérarchie, les contacts et le statut de l'agent.   
Type : objet `AgentSnapshot`

**Version**  
Version du flux d'événements de l'agent au format de date, par exemple 2019-05-25.  
Type : Chaîne

## AgentSnapshot
<a name="AgentSnapshot"></a>

L'objet `AgentSnapshot` inclut les propriétés suivantes :

**AgentStatus**  
Données sur le statut de l'agent, y compris :  
+ ARN : ARN correspondant au statut actuel de l'agent (et non à l'agent). 
+ Nom : il s'agit du [statut de l'agent qu'il a défini manuellement dans le CCP](metrics-agent-status.md) ou que le superviseur a [modifié manuellement dans le rapport de métriques en temps réel](rtm-change-agent-activity-state.md). 

  Par exemple, son statut peut être **Disponible**, ce qui signifie qu'il est prêt pour que les contacts entrants soient routés vers lui. Ou il peut s'agir d'un statut personnalisé, tel que Pause ou Formation, ce qui signifie que les contacts entrants ne peuvent pas être routés vers lui, mais qu'ils peuvent quand même effectuer des appels sortants.

  Le statut `Error` indique une erreur Amazon Connect interne.
+ StartTimestamp—L'horodatage au format standard ISO 8601 indique l'heure à laquelle l'agent a saisi le statut.

  Type : String (*yyyy*-*mm*-*dd*T*hh*:*mm*:*ss*.*sss*Z)
+ Type : ROUTABLE, CUSTOM ou OFFLINE
Type : objet `AgentStatus`

**NextAgentStatus**  
Si l'agent définit un statut d'agent suivant, les données apparaissent ici.  
+ ARN : ARN du statut de l'agent que l'agent a défini comme son statut suivant.
+ Nom : il s'agit du nom du statut d'agent que l'agent a défini comme son statut suivant.
+ EnqueuedTimestamp—L'horodatage au format standard ISO 8601 indique l'heure à laquelle l'agent a défini son prochain statut et suspendu le routage des contacts entrants.

  Type : String (*yyyy*-*mm*-*dd*T*hh*:*mm*:*ss*.*sss*Z)
Type : objet `NextAgentStatus`

**Configuration**  
Informations relatives à l'agent, y compris :   
+ FirstName—Le prénom de l'agent.
+ HierarchyGroups: le groupe hiérarchique auquel l'agent est affecté, le cas échéant.
+ LastName—Le nom de famille de l'agent.
+ RoutingProfile: le profil de routage auquel l'agent est affecté.
+ Nom d'utilisateur : nom d'utilisateur Amazon Connect de l'agent.
Type : objet `Configuration`

**Contacts**  
Les contacts  
Type : objet `List of Contact Objects`

## Configuration
<a name="Configuration"></a>

L'objet `Configuration` inclut les propriétés suivantes :

**FirstName**  
Prénom saisi dans le compte Amazon Connect de l'agent.  
Type : String  
Longueur : de 1 à 100

**AgentHierarchyGroups**  
Groupe hiérarchique (jusqu'à cinq niveaux de regroupement) pour l'agent associé à l'événement.  
Type : objet `AgentHierarchyGroups`

**LastName**  
Nom de famille saisi dans le compte Amazon Connect de l'agent.  
Type : String  
Longueur : de 1 à 100

**Compétences**  
Liste de toutes les compétences attribuées à l’agent.  
Type : liste des objets de compétence

**RoutingProfile**  
Profil de routage attribué à l'agent associé à l'événement.  
Type : objet `RoutingProfile`

**Nom d’utilisateur**  
Nom d'utilisateur du compte d'utilisateur Amazon Connect de l'agent.  
Type : String  
Longueur : de 1 à 100

## Objet du contact
<a name="Contact"></a>

L'objet `Contact` inclut les propriétés suivantes :

**ContactId**  
Identifiant du contact.  
Type : String  
Longueur : de 1 à 256

**InitialContactId**  
Identifiant d'origine du contact qui a été transféré.  
Type : String  
Longueur : de 1 à 256

**Channel**  
Méthode de communication.  
Valeurs valides : `VOICE`, `CHAT`, `TASKS`

**InitiationMethod**  
Indique la manière dont le contact a été initié.   
Valeurs valides :  
+  `INBOUND` : le client a initié un contact vocal (téléphonique) avec votre centre de contact. 
+  `OUTBOUND` : un agent a initié un contact vocal (téléphonique) avec le client, en utilisant le CCP pour appeler son numéro. Cette méthode d'initiation appelle l'[StartOutboundVoiceContact](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartOutboundVoiceContact.html)API.
+  `TRANSFER` : le client a été transféré par un agent à un autre agent ou à une file d'attente à l'aide de connexions rapides dans le CCP. Cela entraîne la création d'un nouvel enregistrement de contact.
+  `CALLBACK` : le client a été contacté dans le cadre d'un flux de rappel. 

  Pour plus d'informations sur InitiationMethod ce scénario, consultez[Rappels mis en file d’attente dans les métriques en temps réel d’Amazon Connect](about-queued-callbacks.md). 
+  `API` : le contact a été initié avec Amazon Connect par API. Il peut s'agir d'un contact sortant que vous avez créé et mis en file d'attente auprès d'un agent, à l'aide de l'[StartOutboundVoiceContact](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartOutboundVoiceContact.html)API, ou d'un chat en direct initié par le client avec votre centre de contact, où vous avez appelé l'API. [StartChatContact](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartChatContact.html)
+  `WEBRTC_API`: le contact a utilisé le widget de communication pour voice/video appeler un agent dans l'application.
+  `QUEUE_TRANSFER` : lorsque le client était dans une file d'attente (écoute du flux de file d'attente du client), il a été transféré dans une autre file d'attente à l'aide d'un bloc de flux.
+  `MONITOR` : un superviseur a lancé la surveillance d'un agent. Le superviseur peut surveiller silencieusement l'agent et le client, ou intervenir de manière impromptue dans la conversation.
**Note**  
Ce statut ne s’affiche que si vous avez activé les [appels entre plusieurs parties et la surveillance améliorée](update-instance-settings.md#update-telephony-options). 
+  `DISCONNECT` : lorsqu'un bloc [Set disconnect flow (Définir le flux de déconnexion)](set-disconnect-flow.md) est déclenché, il indique le flux à exécuter après un événement de déconnexion lors d'un contact. 

  Un événement de déconnexion se produit quand :
  + Un chat ou une tâche est déconnecté.
  + Une tâche est déconnectée suite à une action de flux.
  + Une tâche expire. La tâche est automatiquement déconnectée lorsque son délai d’expiration s’est écoulé. La valeur par défaut est de 7 jours et l’expiration des tâches peut être configurée pour atteindre jusqu’à 90 jours. 

  Si un nouveau contact est créé pendant l'exécution d'un flux de déconnexion, la méthode d'initiation de ce nouveau contact est DISCONNECT.
+  `EXTERNAL_OUTBOUND` : un agent a établi un contact vocal (téléphonique) avec un participant externe à votre centre de contact à l'aide d'une connexion rapide dans le CCP ou d'un bloc de flux.
+  `AGENT_REPLY` : un agent a répondu à un e-mail entrant pour créer une réponse par e-mail sortant.
+  `FLOW`: e-mail initié par un bloc de flux.
+  `CAMPAIGN_PREVIEW`: Le contact a été initié par une campagne sortante utilisant le mode de numérotation préliminaire. L'agent prévisualise les informations du client avant de passer l'appel.

**State**  
État du contact.  
Valeurs valides : `INCOMING` \$1 `PENDING` \$1 `CONNECTING` \$1 `CONNECTED` \$1 `CONNECTED_ONHOLD` \$1 `MISSED` \$1 `PAUSED` \$1 `REJECTED` \$1 `ERROR` \$1 `ENDED`   
L’état `PAUSED` est disponible uniquement pour les tâches.

**StateStartTimestamp**  
Heure à laquelle le contact est passé à l'état actuel.  
Type : String (*yyyy*-*mm*-*dd*T*hh*:*mm*:*ss*.*sss*Z)

**ConnectedToAgentTimestamp**  
Heure à laquelle le contact a été mis en relation avec un agent.  
Type : String (*yyyy*-*mm*-*dd*T*hh*:*mm*:*ss*.*sss*Z)

**QueueTimestamp**  
Heure à laquelle le contact a été placé dans une file d'attente.  
Type : String (*yyyy*-*mm*-*dd*T*hh*:*mm*:*ss*.*sss*Z)

**File d’attente**  
File d'attente dans laquelle le contact a été mis.  
Type : objet `Queue`

## HierarchyGroup objet
<a name="Hierarchygroup-object"></a>

L'objet `HierarchyGroup` inclut les propriétés suivantes :

**ARN**  
Amazon Resource Name (ARN) de la hiérarchie de l'agent.  
Type : String

**Nom**  
Nom du groupe hiérarchique.  
Type : Chaîne

## AgentHierarchyGroups objet
<a name="Hierarchygroups-object"></a>

L'objet `AgentHierarchyGroups` inclut les propriétés suivantes :

**Level1**  
Inclut les détails de niveau 1 de la hiérarchie attribuée à l'agent.  
Type : objet `HierarchyGroup`

**Level2**  
Inclut les détails de niveau 2 de la hiérarchie attribuée à l'agent.  
Type : objet `HierarchyGroup`

**Level3**  
Inclut les détails de niveau 3 de la hiérarchie attribuée à l'agent.  
Type : objet `HierarchyGroup`

**Level4**  
Inclut les détails de niveau 4 de la hiérarchie attribuée à l'agent.  
Type : objet `HierarchyGroup`

**Level5**  
Inclut les détails de niveau 5 de la hiérarchie attribuée à l'agent.  
Type : objet `HierarchyGroup`

## Compétence
<a name="proficiency-object"></a>

L'objet `Proficiency` inclut les propriétés suivantes :

**Nom**  
Nom de l’attribut prédéfini.  
Type : String  
Longueur : de 1 à 64

**Value**  
Valeur de l’attribut prédéfini.  
Type : Chaîne

**ProficiencyLevel**  
Niveau de compétence de l’agent.  
Type : Float  
Valeurs valides : 1,0, 2,0, 3,0, 4,0 et 5,0

## Objet Queue
<a name="queue-object"></a>

L'objet `Queue` inclut les propriétés suivantes :

**ARN**  
Amazon Resource Name (ARN) de la file d'attente.  
Type : String

**Nom**  
Nom de la file d'attente.  
Type : String

**Canaux**  
Type de canal de communication.  
Type : liste d'objets canaux

## RoutingProfile objet
<a name="routingprofile"></a>

L'objet `RoutingProfile` inclut les propriétés suivantes :

**ARN**  
Amazon Resource Name (ARN) du profil de routage de l'agent.  
Type : String

**Nom**  
Nom du profil de routage.  
Type : Chaîne

**InboundQueues**  
Liste des objets `Queue` associés au profil de routage de l'agent.  
Type : liste d'objets `Queue`

**DefaultOutboundQueue**  
File d'attente sortante par défaut pour le profil de routage de l'agent.  
Type : objet `Queue`

**Concurrency**  
Liste d'informations de simultanéité. Les objets d'information de AvailableSlots simultanéité ont des valeurs (nombre), Canal (un objet de canal) et MaximumSlots (nombre).