Integrate Offer with External System

This use case describes how to integrate an offer with an external system, which functions as the source of truth for the offer and its redemption.

From a SessionM standpoint, the work is related to evaluating a customer's behavior and issuing the offer. Doing so then triggers an external system to issue the offer to the customer's wallet via its own API. Once the customer redeems the offer through the external system, redemption details are sent back to SessionM for reconciliation.

Customer Journey

One helpful way of understanding this use case is to consider how it reflects the customer's experience, or journey, in the "real world"

Customer logs in to home goods website and completes loyalty action by opening app

SessionM responds to action with outcome, issuing offer to customer

Offer issuance triggers pre-existing event on SessionM as specified in offer

SessionM then determines if action meets rules defined in campaign associated with offer

If rules are met, SessionM sends message payload to external system

External system communicates with customer, awarding outcome, which is offer

Customer receives offer from external system, on behalf of home goods retailer

Platform Configuration

Before implementing this use case, ensure the SessionM data below is configured and consult with the SessionM team to create a provider for the external system that will send a campaign outcome when the offer is issued:

Customers

Customer profile, standard or custom, exists for customer being issued offer.

With help from your SessionM architect, ensure that "New Scope Observer" has been created and is ready to listen for a customer action and then trigger an event on the customer profile. Once the event occurs, like the customer opening an application, and the customer has received the outcome, the observer can publish it to the external system. This system can then issue a replica of the offer within its system.

Offers

Create offer that can be issued to customer. Replica of offer should exist on the external system so the offer can be added to the customer's wallet.

Campaigns

Evergreen campaign listening for event.

In coordination with the SessionM team, make sure the Webhook is pointing to client messaging provider and a variant is configured with all data points being sent within the message.

Campaign exists with external message using Webhook and variant mentioned above.

Sequence Diagram

See the overall flow for this use case below.

CUSTOMER CUSTOMER SESSIONM SESSIONM EXTERNAL SYSTEM EXTERNAL SYSTEM INTEGRATE OFFER WITH EXTERNAL SYSTEM 1 Log in to retailer website and complete loyalty action defined in campaign 2 Evaluate action against ruleset in campaign 3 Issue SessionM-side offer to customer 4 Trigger  event with offer information using SessionM scope observer 5 Capture offer-related event 6 Trigger outbound message to external system with message payload 7 Award outcome - offer - to customer