Send Client Event

POST /v2/events/clientEvent

This endpoint is used to capture user activity throughout a session by logging various client events. It allows modeling specific user interactions such as interacting with an offer and recording an ad impression.

Request Headers:

  • Content-Type: application/json
  • Authorization: Bearer
  • x-source-customer-id: string
  • x-mock-data: true

Note: x-mock-data is only required to return dummy data for testing and development purposes. Refer to the Security Requirements section on suggestions to secure the x-source-customer-id.

Here is the documentation formatted for better readability:

Request Attributes:

ClientEventMessage

PropertyTypeDescriptionRequired
clientEventIdstringGUID assigned by client to associate with the eventYes
clientEventTypeClientEventTypeType of the event which took placeYes
clientEventClientEventEvent which took placeYes
clientEventTimestampstringISO-8601 timestamp representing when the event took placeYes
clientEventMetadataClientEventMetadataMetadata to associate with event, if applicableDepends

LogEnrollment (Send Client Event)

Request Payload
{
    "clientEvents": [
        {
            "clientEventId": "12395199-1565-4565-bf99-3f94ee505d12",
            "clientEventType": "SessionAction",
            "clientEvent": "LogEnrollment",
            "clientEventTimestamp": "2024-10-01T07:00:00Z",
         }
    ]
}
Response
{
    "requestId": "380052b4-3a64-4952-b640-ba696eb9f44b"
}

Activating an offer (Send Client Event)

Request Payload
{
    "clientEvents": [
        {
            "clientEventId": "12395199-1565-4565-bf99-3f94ee505d12",
            "clientEventType": "AdInteraction",
            "clientEvent": "ActivateOffer",
            "clientEventTimestamp": "2024-10-01T07:00:00Z",
            "clientEventMetadata": {
                "serveToken": "CiQ3MGU5ZjQzMy0xMjQxLTRlZTctOTZlZi02ZWM4MDQwZjg3MzgQqoTjo6syGgoxMDAwMDYyNzQwIgVFbWFpbA==",
                "section": "Dashboard",
                "channel": "OLB",
            }
        }
    ]
}
Response
{
    "requestId": "380052b4-3a64-4952-b640-ba696eb9f44b"
}

Send an Impression (Send Client Event)

Request Payload
{
    "clientEvents": [
        {
            "clientEventId": "12395199-1565-4565-bf99-3f94ee505d12",
            "clientEventType": "AdImpression",
            "clientEvent": "AdViewableImpression",
            "clientEventTimestamp": "2024-10-01T07:00:00Z",
            "clientEventMetadata": {
                "serveToken": "CiQ3MGU5ZjQzMy0xMjQxLTRlZTctOTZlZi02ZWM4MDQwZjg3MzgQqoTjo6syGgoxMDAwMDYyNzQwIgVFbWFpbA==",
                "section": "Dashboard",
                "channel": "OLB",
            }
        }
    ]
}
Response
{
    "requestId": "380052b4-3a64-4952-b640-ba696eb9f44b"
}
Response:
  • 200 OK: Indicates successful retrieval of ads.
  • 401 Unauthorized: Indicates that token is invalid
  • 500 Internal Server Error: Indicates a failure in submitting clientEvent.

Types

ClientEventType

ValueTypeDescription
AdImpressionStringPertains to an Ad Impression, e.g., a viewable impression
AdInteractionStringPertains to an Ad Interaction, such as activating the Ad
CustomerProfileActionStringAction on a customer’s profile, like viewing a reward summary
SessionActionStringPertains to a customer’s session, such as changing geolocation

ClientEvent

ValueTypeEvent descriptionClientEventType
DisplayElementExpandedStringUser expanded display element to show offer detailsAdInteraction
DisplayElementCollapsedStringUser collapsed display element to hide offer detailsAdInteraction
UrlLinkClickedStringUser clicked on a URL embedded in an offer messageAdInteraction
ActivateOfferStringActivate the offer associated with an AdAdInteraction
ParkOfferPark an offer, hiding it from the customerAdInteraction
AdViewableImpressionStringSignal that a viewable impression has taken placeAdImpression
LogEnrollmentStringEvent sent when the user is shown offers at session startSessionAction

ClientEventAdMetadata

ValueTypeEvent descriptionRequired
serveTokenStringServe token which was originally returned with the adYes
sectionSectionID pertaining to the FI-specific section of the UI where the event took place. For example, if the event took place in a “Featured Offers” section with a sectionId of 5, the event’s sectionId should be set to 5Yes
channelChannelChannel through which the ad was deliveredYes
imageSlotsString[]Activate the offer associated with an AdNo
categoryIdStringPark an offer, hiding it from the customerNo
curationIdStringSignal that a viewable impression has taken placeNo
displayPositionIntegerEvent sent when the user is shown offers at session startYes

Channel

ValueTypeEvent description
EmailStringEmail advertising channel
SMSStringText messaging channel
MMSStringMultimedia text messaging channel
OLBStringOnline Banking, the typical online banking website channel
MobileWebMobile Online Banking, the mobile specific online banking
MobileWebStringNative mobile device applications channel
MobileWalletMobile Wallet application channel

Section

ValueEvent description
EmailActivatable email
SMSText messaging channel
MMSMultimedia text messaging channel
TransactionUnderneath or relative to a specific debit/credit transaction
SummaryA section which displays a summary of the customer’s rewards and/or offers
DashboardA section featuring the rewards program’s education, instructions, or other things for interfacing with the rewards program other than viewing offer details and rewards
LandingCustomer landing page for a website or web application
OnboardingPageRewards program onboarding page
LatestOffersLatest Offers section
ExpiringSoonExpiring Soon section
RewardSummaryListViewReward Summary list view
FeaturedOffersFeatured Offers section
RewardsA Rewards page that shows rewards you have been paid
WidgetAccountOverviewAccount Overview area of the widget
WidgetDebitDebit area of the widget
WidgetCreditCredit area of the widget
MapA map view such as MapQuest