Genesys gateway provides following 3 main functions to interact with Genesys Call Center.

  1. Logging communication for a call

  2. Dump recordings to Google storage service

  3. Chat in app

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

  • See Genesys auth example

  • 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

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