Genesys gateway provides following 3 main functions to interact with Genesys Call Center.
This component is work in progress SAF-1404 - BO: Genesys integration Backlog .
API
https://genesys-gateway.apps.brave.safibank.online/swagger/views/swagger-ui/
GET users/{userId} // returns user info by ID GET wrapupCodes/{codeId} // returns wrap-up code info by ID
Data Model
GenesysUser
is a subset of User model
{ "id": "84bac900-63c6-4669-9854-bb0f703b6e6b", "name": "John Agent", "email": "mail@test.com" }
GenesysWrapupCode
is a subset of WrapupCode model
{ "id": "2717cb9a-2cdd-464b-839d-04cf991e8c56", "name": "Refuse to provide info" }
Usage
There is one use case, to get missing details from Genesys whenever Genesys tries to log some communication with the customer: https://safibank.atlassian.net/wiki/spaces/ITArch/pages/217645167/Logging+communication+from+Genesys#2.-Fetch-missing-details
Implementation
Use Genesys Java API
Set up and login
Client ID - stored in vault
secret/data/brave/apps/genesys-gateway/manual~GENESYS_CLIENT_ID
Client secret - stored in vault
secret/data/brave/apps/genesys-gateway/manual~GENESYS_CLIENT_SECRET
Base path - use
https://api.mypurecloud.jp
(not.com
!)
Getting data
Get user (name) by user ID
UsersApi.getUser(useId)
Genesys Java SDK - getUserGet wrapup code (name) by code ID
RoutingApi.getRoutingWrapupCode(codeId)
Genesys Java SDK - getRoutingWrapupcode
Genesys Java SDK Versions
We import and use com.mypurecloud:platform-client-v2:162.0.1
. v163 will cause:
GenesysClientTest > initializationError FAILED
io.micronaut.context.exceptions.BeanInstantiationException at DefaultBeanContext.java:1921
Caused by: io.micronaut.context.exceptions.BeanInstantiationException at DefaultBeanContext.java:2367
Caused by: java.lang.ClassCastException at LoggerConfig.kt:19