We have developed a client-side custom softphone application using the Genesys Cloud Platform API Client SDK (JavaScript). Currently, we are storing user settings such as ringtone volume, selected audio devices (ringtone and microphone), and WebRTC preferences in the browser's local storage. However, these settings are lost whenever the user clears the browser cache.
Upon reviewing the Genesys Cloud Embedded Framework release notes, we discovered that there is an option to save settings in Genesys Cloud via an API (/api/v2/settings). However, this API is not available in the Genesys Cloud API Explorer or the Preview API.
Reference Link: Do agent settings in the embedded clients remain after the browser cache is cleared? - Genesys Cloud Resource Center
Could you please confirm:
Whether we can use this API in our custom application?
If not, is there another API method available in the Genesys Cloud Platform API Client SDK (JavaScript) to persist these settings?
Sample Request and Response for the Settings API:
Update Settings API
Request URL: https://apps.usw2.pure.cloud/platform/api/v2/settings
Request Method: PUT
Payload - JSON
{
"crmWebClient": {
"ringtoneVolumeNotOnCall": "88",
"ringtoneVolumeOnCall": "75",
"lastDialOnBehalfQueue": "",
"popupWebRTC": true,
"audioInputDeviceId": "3eb841ec221fc9b9c00e7e5951e0acc94231663a4860c88c26b361192f451352",
"audioInputDeviceLabel": "Microphone Array (IntelĀ® Smart Sound Technology for Digital Microphones)",
"disableWebRtcAudioStreams": false,
"playRingtoneSeparate": true,
"audioRingerDeviceId": "4e18bacbf27a436b5312cbfec3ecadd221ae61e54bd50cea27382eebd6dbe083",
"audioRingerDeviceLabel": "Speakers (Realtek(R) Audio)",
"audioOutputDeviceId": "communications",
"audioOutputDeviceLabel": "Communications - Speakers (Realtek(R) Audio)"
}
}
Get Settings API
Request URL: https://apps.usw2.pure.cloud/platform/api/v2/settings
Request Method: GET
Payload - JSON
{
"crmWebClient": {
"ringtoneVolumeNotOnCall": "88",
"ringtoneVolumeOnCall": "75",
"lastDialOnBehalfQueue": "",
"popupWebRTC": true,
"audioInputDeviceId": "3eb841ec221fc9b9c00e7e5951e0acc94231663a4860c88c26b361192f451352",
"audioInputDeviceLabel": "Microphone Array (IntelĀ® Smart Sound Technology for Digital Microphones)",
"disableWebRtcAudioStreams": false,
"playRingtoneSeparate": true,
"audioRingerDeviceId": "4e18bacbf27a436b5312cbfec3ecadd221ae61e54bd50cea27382eebd6dbe083",
"audioRingerDeviceLabel": "Speakers (Realtek(R) Audio)",
"audioOutputDeviceId": "communications",
"audioOutputDeviceLabel": "Communications - Speakers (Realtek(R) Audio)"
}
}