Save User Settings using Genesys cloud settings API from custom application

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)"
}
}

This API endpoint is not publicly released and is not suitable for use by non-Genesys applications. Your custom application must provide its own server-side data store if you wish to store your custom data outside of the browser's local storage; Genesys Cloud is not a general-purpose data store.

We do not have a server-side application for storing settings. Instead, we plan to save only the same properties that the Genesys Cloud embedded framework currently stores, without adding any custom properties of our own. Can we use this API?

No. Your application is responsible for managing its own configuration.

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.