Travailler avec des enregistrements exportés dans un panier 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 (un parmi Appel, Chat, Email, Message, Écran)",
"type" : "chaîne"
},
"mediaSubtype" : {
"description" : "Le sous-type de l'enregistrement (un parmi Trunk, Station, Consult, Screen)",
"type" : "chaîne"
},
"mediaSubject" : {
"description" : "Le sujet de l'enregistrement",
"type" : "chaîne"
},
"fournisseur" : {
"description" : "Type de fournisseur pour l'enregistrement, par exemple le bord",
"type" : "chaîne"
},
"userIds" : {
"description" : "Liste des utilisateurs",
"type" : "array",
"items" : [
{
"type" : "chaîne"
}
]
},
"startTime" : {
"description" : "Heure de début des enregistrements",
"type" : "chaîne"
},
"endTime" : {
"description" : "Heure de fin des enregistrements",
"type" : "chaîne"
},
"durationMs" : {
"description" : "Durée de l'enregistrement",
"type" : "integer"
},
"initialDirection" : {
"description" : "Direction initiale de la conversation (entrante/sortante)",
"type" : "chaîne"
},
"aniNormalized" : {
"description" : "ANI",
"type" : "chaîne"
},
"aniDisplayable" : {
"description" : "ANI sous forme affichable",
"type" : "chaîne"
},
"dnisNormalized" : {
"description" : "DNIS",
"type" : "chaîne"
},
"dnisDisplayable" : {
"description" : "DNIS sous une forme affichable",
"type" : "chaîne"
},
"queueIds" : {
"description" : "Liste des identifiants de file d'attente pour l'enregistrement",
"type" : "array",
"items" : [
{
"type" : "chaîne"
}
]
},
"wrapupCodes" : {
"description" : "Codes de synthèse pour la conversation",
"type" : "array",
"items" : [
{
"type" : "chaîne"
}
]
},
"organizationId" : {
"description" : "ID unique pour la conversation",
"type" : "chaîne"
},
"conversationId" : {
"description" : "ID unique associé à la conversation",
"type" : "chaîne"
},
"conversationStartTime" : {
"description" : "L'heure de début de la conversation",
"type" : "chaîne"
},
"conversationEndTime" : {
"description" : "L'heure de la fin des conversations",
"type" : "chaîne"
},
"recordingId" : {
"description" : "ID unique pour l'enregistrement",
"type" : "chaîne"
},
"filePath" : {
"description" : "Chemin d'origine de l'enregistrement",
"type" : "chaîne"
},
"fileSize" : {
"description" : "Taille du fichier d'enregistrement",
"type" : "integer"
},
"messageType" : {
"description" : "Type de plateforme de messagerie d'où provient le message, par exemple sms, twitter, line, facebook, whatsapp, webmessaging, open, instagram",
"type" : "chaîne"
},
"languageIds" : {
"description" : "Identifiant de la langue",
"type" : "array",
"items" : [
{
"type" : "chaîne"
}
]
},
"screenInformation" : {
"description" : "Informations spécifiques à l'écran, y compris 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.