Travailler avec des enregistrements exportés dans un seau AWS S3

Après la configuration de l'intégration d'actions groupées d'enregistrements AWS S3, vous pouvez exporter en vrac les enregistrements qui se trouvent dans Genesys Cloud vers votre seau AWS S3. Cette exportation peut être effectuée automatiquement via une politique QM, ou explicitement en invoquant l'API d'action groupée d'enregistrement. 

Cet article détaille le contenu qui est exporté vers votre seau AWS S3.

Contenu du seau AWS S3

Les fichiers d'enregistrement sont exportés vers le seau AWS S3 dans des dossiers ayant la structure suivante :

s3://{bucket}/{organizationId}/year={year}/{month={month}/day={day}/hour={hourOfDay}/conversation_id={conversationId}/ 

Placeholder Description
{bucket} Le nom du seau S3.
{organizationId} L'ID de l'organisation.
{année} L'année où la conversation a commencé.
{mois} Le mois au cours duquel la conversation a commencé (en chiffres).
{jour} Le jour au cours duquel la conversation a commencé.
{hourOfDay}
L'heure à laquelle la conversation a commencé.
{conversationId}
L'identifiant de la conversation.
Remarque : La date et l'heure auxquelles la conversation a commencé apparaissent en heure UTC.

Ce dossier contient tous les fichiers d'enregistrement qui sont conservés pendant la conversation. Chaque fichier d'enregistrement comporte un enregistrement, et le nom du fichier est l'ID de l'enregistrement.

À chaque fichier d'enregistrement correspond un fichier de métadonnées JSON. Le nom du fichier de métadonnées JSON est suffixé par "_metadata.json".

Les métadonnées peuvent être utilisées pour rechercher l'enregistrement exporté. Pour plus d'informations, voir l'exemple Athena+Glue (un exemple de service de recherche d'enregistrements).

Le fichier de métadonnées est au format JSON avec le schéma suivant.

{
"$schema" : "http://json-schema.org/draft-04/schema#",
"type" : "objet",
"propriétés" : {
"mediaType" : {
"description" : "Type de média (l'un des éléments suivants : appel, chat, courriel, message, rappel, écran)",
"type" : "string" (chaîne de caractères)
},
"provider" : {
"description" : "Type de fournisseur pour l'enregistrement, par exemple bord",
"type" : "string" (chaîne de caractères)
},
"userIds" : {
"description" : "Liste des utilisateurs",
"type" : "array",
"items" : [
{
"type" : "chaîne de caractères"
}
]
},
"startTime" : {
"description" : "Heure de début des enregistrements",
"type" : "string" (chaîne de caractères)
},
"endTime" : {
"description" : "Heure de fin des enregistrements",
"type" : "string" (chaîne de caractères)
},
"durationMs" : {
"description" : "Durée de l'enregistrement",
"type" : "entier"
},
"initialDirection" : {
"description" : "Direction initiale de la conversation (entrant/sortant)",
"type" : "string" (chaîne de caractères)
},
"aniNormalized" : {
"description" : "ANI",
"type" : "string" (chaîne de caractères)
},
"aniDisplayable" : {
"description" : "ANI sous forme affichable",
"type" : "string" (chaîne de caractères)
},
"dnisNormalized" : {
"description" : "DNIS",
"type" : "string" (chaîne de caractères)
},
"dnisDisplayable" : {
"description" : "DNIS sous forme affichable",
"type" : "string" (chaîne de caractères)
},
"queueIds" : {
"description" : "Liste des identifiants de file d'attente pour l'enregistrement",
"type" : "array",
"items" : [
{
"type" : "chaîne de caractères"
}
]
},
"wrapupCodes" : {
"description" : "Codes de synthèse pour la conversation",
"type" : "array",
"items" : [
{
"type" : "chaîne de caractères"
}
]
},
"organizationId" : {
"description" : "ID unique pour la conversation",
"type" : "string" (chaîne de caractères)
},
"conversationId" : {
"description" : "ID unique associé à la conversation",
"type" : "string" (chaîne de caractères)
},
"conversationStartTime" : {
"description" : "Heure de début de la conversation",
"type" : "string" (chaîne de caractères)
},
"conversationEndTime" : {
"description" : "Heure de fin de la conversation",
"type" : "string" (chaîne de caractères)
},
"recordingId" : {
"description" : "ID unique pour l'enregistrement",
"type" : "string" (chaîne de caractères)
},
"filePath" : {
"description" : "Chemin d'accès original de l'enregistrement",
"type" : "string" (chaîne de caractères)
},
"fileSize" : {
"description" : "Taille du fichier d'enregistrement",
"type" : "entier"
},
"messageType" : {
"description" : "Type de plateforme de message d'où provient le message, par exemple, sms, twitter, line, facebook, whatsapp, webmessaging, open, instagram",
"type" : "string" (chaîne de caractères)
},
"languageIds" : {
"description" : "Identifiant sur la langue",
"type" : "string" (chaîne de caractères)
},
"screenInformation" : {
"description" : "Informations spécifiques à l'écran, comprenant l'ID de l'écran, la position X et Y, les informations sur la résolution",
"type" : "objet"
}
},
"requis" : [
"mediaType",
"fournisseur",
"startTime",
"endTime",
"durationMs",
"organizationId",
"conversationId",
"conversationStartTime",
"conversationEndTime",
"recordingId",
"filePath",
"fileSize"
]
}

Par exemple, une conversation téléphonique dont l'enregistrement d'écran est activé peut avoir le contenu du dossier suivant. 

Dans l'image ci-dessous, le fichier .opus est le fichier d'enregistrement audio, le fichier .zip contient le fichier d'enregistrement d'écran, et les fichiers .json sont les métadonnées JSON associées aux fichiers médias respectifs.

Cliquez sur l’image pour l’agrandir.

Une conversation numérique peut avoir le contenu du dossier suivant.

Dans l'image ci-dessous, le fichier .zip contient le fichier d'enregistrement numérique, et le fichier .json est le fichier JSON correspondant.

Cliquez sur l’image pour l’agrandir.

Chiffrement :

Votre seau S3 est déjà configuré avec AWS S3 Server-Side Encryption (SSE). Il peut avoir été activé avec des clés de chiffrement gérées par Amazon S3 (SSE-S3), ou activé avec les clés gérées par AWS, ou encore clés fournies par le client à partir du service de gestion des clés d'AWS (SSE-KMS).

AWS S3 Server-Side Encryption (SSE) sécurise les fichiers d'enregistrement au repos dans le seau S3. Lorsque les fichiers sont récupérés dans le seau, AWS décrypte automatiquement le contenu du fichier.

Si votre système comprend une option supplémentaire activée Recording Export Encryption, vous devez décrypter vous-même le contenu du fichier après avoir récupéré les fichiers du seau S3.

Remarque :   Genesys ne prend pas en charge le cryptage au niveau de l'objet sur les enregistrements exportés via PGP dans la région FedRAMP. Le cryptage côté serveur est pris en charge.