Contents
Universal Contact Server Support for GDPR
This page describes product-specific aspects of Universal Contact Server support for the European Union's General Data Protection Regulation (GDPR) in premise deployments. For general information about Genesys support for GDPR compliance, see General Data Protection Regulation.
Dependencies
Universal Contact Server (UCS) has no dependency on other products for the management of contacts and interactions. However the following products depend on UCS for contact and interaction data:
- Interaction Server has interaction data related to UCS contacts.
- Genesys Mobile Services (GMS) uses Context Service profiles to look up GMS callback requests.
- Genesys Info Mart uses interaction data gathered by Interaction Concentrator (ICON) during routing.
Before deleting data in UCS, ensure that the Genesys Info Mart ETL cycle is complete and any pending GMS and Interaction Server activities are completed.
Exporting Data
The data export format is JSON. Functionality is provided by a custom Java command-line application. The application will export contact and interaction data in JSON format. Attachments will be inlined in interactions using base64 format. The script to export contacts is named exportUcsInteractions.bat (.sh).
Command-line parameters
- The script exportUcsInteractions.bat (.sh) must be edited to provide the UCS HOST and PORT.
- A contact ID or comma-separated list of contact IDs surrounded with quotation marks (mandatory if no contact identification request is provided).
- A contact identification request in format JSON surrounded with quotation marks (mandatory if no contact ID provided). In the JSON string the quotation marks must be escaped.
- -count (optional)—if used, provides the number of contacts and interactions that will be exported without doing the export (simulation mode).
Command-line examples
- exportUcsInteractions.sh 0001SaD2PVY4312K -count
- exportUcsInteractions.sh 0001SaD2PVY4312K
- exportUcsInteractions.sh "0001SaD2PVY4312K,0001SaD2PVY4315J" -count
- exportUcsInteractions.sh "0001SaD2PVY4312K,0001SaD2PVY4315J"
- exportUcsInteractions.sh "{\"TenantId\":101,\"EmailAddress\":\"jane.doe@company.com\"}" -count
- exportUcsInteractions.sh "{\"TenantId\":101,\"EmailAddress\":\"jane.doe@company.com\"}"
The result files are generated in the folder where the export script is running. The result will have the following structure where 0001SaD2PVY4312K is the contactId:
contact-0001SaD2PVY4312K.json interactions-for-contact-0001SaD2PVY4312K.json
Implementing Forget Me
This functionality is provided for all existing UCS versions by the PSDK contact RequestDelete (contact) API. Deleting a contact using this API will delete all contact entities as well as all interaction entities regardless of their states (in progress or not).
Deleting individual contacts—On Premise
To delete an individual contact, use the following procedure:
Step #1—Verify the contact and the request
- The customer requests deletion using media such as email, chat or voice. This incoming interaction is routed to an agent who can either capture the information on the caller or perform the deletion while connected.
- The Agent makes sure the request is valid according to the contact center's policy and that the deletion request is genuine.
- The Agent may confirm to the customer that deletion is about to take place and warn that no further communication will be made. The customer must understand that if he/she communicates with the Call Center again their data will be recreated.
- If the Agent is not currently on an interaction with a customer requesting to be forgotten, or the Contact History is not currently showing, they will need to find the customer in the Contact History using this procedure:
- ImportantBe aware that there may be multiple contacts with the same name and/or multiple contact records for the same person.
- The Agent disconnects from chat, voice or makes sure that a confirmation email has been sent.
Step #2—Close any in-progress interactions
- Having located the appropriate contact, the Agent then reviews their contact history for in-progress interactions. See Step #8 of Finding and viewing an interaction in the contact database.
- If interactions are in progress, such interactions must be stopped. Agents must remove all interactions from workbins.
Step #3—Clean up the Context Services database
If Conversation Manager is installed, any Service/State/Task records in the Context Services database must be deleted. To do this use the Delete Customer Profile API.
Step #4—Delete the contact in UCS:
If the Agent is using Workspace Desktop and has permission to manage contacts, then they delete the contact using one of the methods described at the links below:
Deleting individual contacts—Cloud
To delete an individual contact, use the following procedure:
Step #1—Verify the contact and the request
- The customer requests deletion using media such as email, chat or voice. This incoming interaction is routed to an agent who can either capture the information on the caller or perform the deletion while connected.
- The Agent makes sure the request is valid according to the contact center's policy and that the deletion request is genuine.
- The Agent may confirm to the customer that deletion is about to take place and warn that no further communication will be made. The customer must understand that if he/she communicates with the Call Center again their data will be recreated.
- If the Agent is not currently on an interaction with a customer requesting to be forgotten, or the Contact History is not currently showing, they will need to find the customer in the Contact History using one of the procedures described here:
- ImportantBe aware that there may be multiple contacts with the same name and/or multiple contact records for the same person.
- The Agent disconnects from chat, voice or makes sure that a confirmation email has been sent.
Step #2—Close any in-progress interactions
- Having located the appropriate contact, the Agent then reviews their contact history for in-progress interactions—see Contact and interaction history
- If the Agent finds any interaction listed as "In Progress" they must wait until it is routed and handled before proceeding to delete the contact.
Step #3—Delete the contact
If the Agent is using Workspace Desktop and has permission to manage contacts, then they delete the contact using the procedures described here:
Batch deletion of contacts
Batch deletion named deleteContact.bat (.sh) deletes contacts with their interactions.
Command-line parameters
- The script deleteContact.bat (.sh) must be edited to provide the UCS HOST and PORT.
- A contact ID or comma separated list of contact IDs surrounded with quotation marks (mandatory if no contact identification request is provided).
- A contact identification request in format JSON surrounded with quotation marks (mandatory if no contact ID provided). In the JSON string the quotation marks must be escaped.
- -confirm: mandatory to perform the contact deletion. If not provided the script only reports the contacts found and their attributes.
Command-line examples
- exportUcsInteractions.sh 0001SaD2PVY4312K
- exportUcsInteractions.sh 0001SaD2PVY4312K -confirm
- exportUcsInteractions.sh "0001SaD2PVY4312K,0001SaD2PVY4315J"
- exportUcsInteractions.sh "0001SaD2PVY4312K,0001SaD2PVY4315J" -confirm
- exportUcsInteractions.sh "{\"TenantId\":101,\"EmailAddress\":\"jane.doe@company.com\"}"
- exportUcsInteractions.sh "{\"TenantId\":101,\"EmailAddress\":\"jane.doe@company.com\"}" -confirm
Downloadable script
The script (download using this link) is provided for exporting interactions linked to a contact.
To use it:
- Unzip the file to a target directory and cd to this directory.
- Edit the script file to match your requirements (such as UCS host, UCS port, contact IDs, and so on).
- Launch the script.
Windows example
deleteContact.bat Mon May 21 08:34:16 CEST 2018: Starting interaction export Mon May 21 08:34:16 CEST 2018: Export path is \tmp Mon May 21 08:34:16 CEST 2018: Directory exists: C:\tmp Mon May 21 08:34:16 CEST 2018: Connecting to UCS at 192.168.1.2:8889 Mon May 21 08:34:17 CEST 2018: Retrieve contact '0002Ha7QB2MX000K' Mon May 21 08:34:17 CEST 2018: Found contact Id '0002Ha7QB2MX000K' Mon May 21 08:34:17 CEST 2018: Saving contact info to C:\tmp\contact-0002Ha7QB2MX000K.json Mon May 21 08:34:17 CEST 2018: Saving interactions to C:\tmp\interactions-for-contact-0002Ha7QB2MX000K.json Mon May 21 08:34:17 CEST 2018: Found interactions for contact '0002Ha7QB2MX000K' Mon May 21 08:34:31 CEST 2018: Successfully exported all interactions for contactId 0002Ha7QB2MX000K from DataSource main Mon May 21 08:34:31 CEST 2018: Saving interactions to C:\tmp\interactions-for-contact-0002Ha7QB2MX000K.json Mon May 21 08:34:31 CEST 2018: No interactions found for contact Id'0002Ha7QB2MX000K' in source archive Mon May 21 08:34:31 CEST 2018: Reason: 06:34:30.964 Server: ucs85-49d888d5a732 Msg: No data source with role 'archive' found Mon May 21 08:34:31 CEST 2018: Done
Linux example
$ ./ExportUcsInteractions.sh Mon May 21 08:31:15 CEST 2018: Starting interaction export Mon May 21 08:31:15 CEST 2018: Export path is C:\Users\username\AppData\Local\Temp Mon May 21 08:31:16 CEST 2018: Directory exists: C:\Users\username\AppData\Local\Temp Mon May 21 08:31:16 CEST 2018: Connecting to UCS at 192.168.1.2:8889 Mon May 21 08:31:17 CEST 2018: Retrieve contact '0002Ha7QB2MX000K' Mon May 21 08:31:17 CEST 2018: Found contact Id '0002Ha7QB2MX000K' Mon May 21 08:31:17 CEST 2018: Saving contact info to C:\Users\username\AppData\Local\Temp\contact-0002Ha7QB2MX000K.json Mon May 21 08:31:17 CEST 2018: Saving interactions to C:\Users\username\AppData\Local\Temp\interactions-for-contact-0002Ha7QB2MX000K.json Mon May 21 08:31:17 CEST 2018: Found interactions for contact '0002Ha7QB2MX000K' Mon May 21 08:31:30 CEST 2018: Successfully exported all interactions for contactId 0002Ha7QB2MX000K from DataSource main Mon May 21 08:31:30 CEST 2018: Saving interactions to C:\Users\username\AppData\Local\Temp\interactions-for-contact-0002Ha7QB2MX000K.json Mon May 21 08:31:30 CEST 2018: No interactions found for contact Id'0002Ha7QB2MX000K' in source archive Mon May 21 08:31:30 CEST 2018: Reason: 06:31:30.793 Server: ucs85-49d888d5a732 Msg: No data source with role 'archive' found Mon May 21 08:31:30 CEST 2018: Done