This covers interactions with Genesys Call Center at the start of the call.

Get enhanced customer profile

Context

When a person calls the call centre (CC), CC uses the caller’s phone number to look up the customer in the DB via a dedicated “search by phone number for CC” endpoint.

  • If not found, nothing is returned

  • If found, an enhanced customer profile is returned

Endpoint

GET /customers/supportInfo

Inputs

Attribute

Type

Notes

Full phone number

string

may include the country code

Interaction ID

UUID

for audit logging

Account number POST MVP

number

The phone number must be verified. Otherwise no results are provided.

Given that the customer DB stores the phone number separated into countryCode and phoneNumber following processing should be applied:

  • Remove all spaces and leading “+” from the fullPhoneNumber

    • if what is left is not just digits, no customers are found, return an empty list

    • (the following steps assume it’s already trimmed)

  • If it has 10 digits, search using {countryCode: 63, phoneNumber: fullPhoneNumber}

  • If it has 11 digits, search using {countryCode: fullPhoneNumber.substr(0, 1), phoneNumber: fullPhoneNumber.substr(1)}

  • If it has 12 digits, search using {countryCode: fullPhoneNumber.substr(0, 2), phoneNumber: fullPhoneNumber.substr(2)}

  • Otherwise: no customers are found, return an empty list

Outputs

Attribute

Type (only strings allowed)

Notes

Customer ID

cusotomerId

UUID string

Email

email

string

Phone number

phoneNumber

string

Customer profile info

firstName
middleName
lastName
gender
dateOfBirth
placeOfBirth
nationality

all are strings

Customer is authorized

fullyVerified

true/false string

true if calling from the mobile app, provided by Authenticate calling customer

Customer is bank employee

isBankEmployee

true/false string

flag manager by BO

List: Ticket ID, Ticket Reporter ID POST MVP

In order to possibly route to same CC agent as last time

Active campaigns POST MVP

Is in collection POST MVP

inCollection

true/false string

Always false in MVP

Genesys opening embedded BOFE

If Genesys got the “extended profile” (above) it will open BOFE at:

/customer/{customerId}?interactionId={interactionId}

In case the customer was “fully verified”:

/customer/{customerId}?interactionId={interactionId}&fullyVerified=true

If no profile is available this route will be used:

/customer/search?interactionId={interactionId}

Authenticate customer

Context

There are 3 main scenarios

  1. Fully verified: When the customer calls from the app, no questions are asked.

  2. Partially verified: When the customer calls from a known verified phone number but not from the app, 3 questions will be asked

    • At least 2 of them need to be answered correctly in order to proceed.

  3. Unverified: When an existing customer calls from a phone number that does not match the one in the system, the CC operator will also ask for the customer’s name and date of birth to find them in BOFE

    • When this happens the operator needs to also verify that the caller is who they say they are and 5 security questions are used.

    • At least 3 of them need to be answered correctly in order to proceed.

1. Customer calling from the mobile app

2. Customer calling from a verified phone number

3. Customer calling from an unknown phone number

4. During the call the customer wants to ask about another account

Same as 3. for the “search by name and DOB” action.

5. A non-Genesys BO wants to initiate customer authentication

6. Genesys user searches for a customer before an outgoing call

Attachments:

plantuml_1655828870082.svg (image/svg+xml)
plantuml_1655828870082 (text/plain)
plantuml_1655828870082.png (image/png)
plantuml_1655828870082 (text/plain)
plantuml_1655828870082.svg (image/svg+xml)
plantuml_1655828870082.png (image/png)
plantuml_1655828870082.svg (image/svg+xml)
plantuml_1655828870082 (text/plain)
plantuml_1655828870082.png (image/png)
plantuml_1668164880076.svg (image/svg+xml)
plantuml_1668164880076 (text/plain)
plantuml_1668164880076.png (image/png)
plantuml_1668164880076.svg (image/svg+xml)
plantuml_1668164880076 (text/plain)
plantuml_1668164880076.png (image/png)
plantuml_1668165226803 (text/plain)
plantuml_1668165226803.svg (image/svg+xml)
plantuml_1668165226803.png (image/png)
plantuml_1655828870082 (text/plain)
plantuml_1655828870082.svg (image/svg+xml)
plantuml_1655828870082.png (image/png)
plantuml_1668164880076.svg (image/svg+xml)
plantuml_1668164880076 (text/plain)
plantuml_1668164880076.png (image/png)
plantuml_1668165226803 (text/plain)
plantuml_1668165226803.svg (image/svg+xml)
plantuml_1668165226803.png (image/png)
plantuml_1655828870082.svg (image/svg+xml)
plantuml_1655828870082 (text/plain)
plantuml_1655828870082.png (image/png)
plantuml_1668164880076.svg (image/svg+xml)
plantuml_1668164880076 (text/plain)
plantuml_1668164880076.png (image/png)
plantuml_1668164880076 (text/plain)
plantuml_1668164880076.svg (image/svg+xml)
plantuml_1668164880076.png (image/png)
plantuml_1668164880076 (text/plain)
plantuml_1668164880076.svg (image/svg+xml)
plantuml_1668164880076.png (image/png)
plantuml_1655828870082.svg (image/svg+xml)
plantuml_1655828870082 (text/plain)
plantuml_1655828870082.png (image/png)
plantuml_1668165226803 (text/plain)
plantuml_1668165226803.svg (image/svg+xml)
plantuml_1668165226803.png (image/png)
plantuml_1668165226803 (text/plain)
plantuml_1668165226803.svg (image/svg+xml)
plantuml_1668165226803.png (image/png)
plantuml_1668166219151.svg (image/svg+xml)
plantuml_1668166219151 (text/plain)
plantuml_1668166219151.png (image/png)
plantuml_1668164880076.svg (image/svg+xml)
plantuml_1668164880076 (text/plain)
plantuml_1668164880076.png (image/png)
plantuml_1655828870082.svg (image/svg+xml)
plantuml_1655828870082 (text/plain)
plantuml_1655828870082.png (image/png)
plantuml_1668165226803 (text/plain)
plantuml_1668165226803.svg (image/svg+xml)
plantuml_1668165226803.png (image/png)
plantuml_1668164880076.svg (image/svg+xml)
plantuml_1668164880076 (text/plain)
plantuml_1668164880076.png (image/png)
plantuml_1668171644963 (text/plain)
plantuml_1668171644963.svg (image/svg+xml)
plantuml_1668171644963.png (image/png)
plantuml_1668171644963 (text/plain)
plantuml_1668171644963.svg (image/svg+xml)
plantuml_1668171644963.png (image/png)
plantuml_1655828870082.svg (image/svg+xml)
plantuml_1655828870082 (text/plain)
plantuml_1655828870082.png (image/png)
plantuml_1668165226803.svg (image/svg+xml)
plantuml_1668165226803 (text/plain)
plantuml_1668165226803.png (image/png)
plantuml_1668164880076.svg (image/svg+xml)
plantuml_1668164880076 (text/plain)
plantuml_1668164880076.png (image/png)
plantuml_1668171644963 (text/plain)
plantuml_1668171644963.svg (image/svg+xml)
plantuml_1668171644963.png (image/png)
plantuml_1668164880076.svg (image/svg+xml)
plantuml_1668164880076 (text/plain)
plantuml_1668164880076.png (image/png)
plantuml_1655828870082.svg (image/svg+xml)
plantuml_1655828870082 (text/plain)
plantuml_1655828870082.png (image/png)
plantuml_1668165226803.svg (image/svg+xml)
plantuml_1668165226803 (text/plain)
plantuml_1668165226803.png (image/png)
plantuml_1669032388526.svg (image/svg+xml)
plantuml_1669032388526 (text/plain)
plantuml_1669032388526.png (image/png)
plantuml_1669032892757 (text/plain)
plantuml_1669032892757.svg (image/svg+xml)
plantuml_1669032892757.png (image/png)
plantuml_1655828870082 (text/plain)
plantuml_1655828870082.svg (image/svg+xml)
plantuml_1655828870082.png (image/png)
plantuml_1668165226803 (text/plain)
plantuml_1668165226803.svg (image/svg+xml)
plantuml_1668165226803.png (image/png)
plantuml_1669032388526 (text/plain)
plantuml_1669032388526.svg (image/svg+xml)
plantuml_1669032388526.png (image/png)
plantuml_1669032892757 (text/plain)
plantuml_1669032892757.svg (image/svg+xml)
plantuml_1669032892757.png (image/png)