The communication-history-manager service collects the history of all inbound or outbound communication between the bank and a customer.

API

https://communication-history-manager.apps.brave.safibank.online/swagger/views/swagger-ui/

  • POST /communicationRecords - creates communication record

  • GET /communicationRecords/v2 - returns a list of communication records

    • Paging, filtering and sorting included

  • GET /communicationRecords/{id} - returns a single communication record

    • Not used

Data model

CommunicationRecord entity

{
  id: UUID
  direction: "INBOUND" | "OUTBOUND"
  communicatedAt: timestamp
  source: string
  channel: "EMAIL" | "SMS" | "CHAT" | "APP_CHAT" | "VOICE" | "SOCIAL_MEDIA" | ...
  domain: "SALES" | "TRANSACTIONS" | "CARDS" | "ACCOUNTS" | "LOANS" | "ONBOARDING" | "OTHER" | ... 
  customerId: UUID [optional] // optional for comms with non-customers
  customerHandle: string // email address, phone number etc.
  interactionId: UUID [optional]
  purpose: string // e.g. "Card delivery notification", "Customer complaint", 
                  // "Transaction notification", "Inactivity enquiry campaign", ...
  title: string   // e.g. email subject or generated title
  body: anything (BLOB)
  createdAt: timestamp
}

Kafka messages

This component publishes snapshots of CommunicationRecord entity for Datalake. See https://safibank.atlassian.net/wiki/spaces/ITArch/pages/219973494/Kafka+messages#Producers.

Usage

Logging communication

Domain

Scenario

How does it get to communication-history-manager

Call center

Inbound call from a customer received in CC

Via backoffice-manager see Logging communication from Genesys

Call center

Oubound call to customer

as above

Call center

Inbound email received by CC

TODO: To be discussed with Zbyněk Melichar (Unlicensed) it may be problematic as Genesys is not able know and sent customer ID and without it we cannot pair the communication.

Possible solution: Find customer ID by email, but email is not required to be unique.

Sales

Email sent by Meiro

PUBLIC LAUNCH Unknown

Sales

Email (response) received by Meiro

PUBLIC LAUNCH Unknown

Transactions

Transaction notification sent via output-manager

output-manager logs all messages directly to ommunication-history-manager

Cards

Card delivery notification sent via output-manager

as above

Displaying communication history

It’s displayed on the dedicated customer communication history page see Routes [wip].