Prerequisites

As a prerequisite to integrating Loyalty, please ensure you have registered for webhooks

1. Initiate loyalty request

Initiating a loyalty request is as straightforward as setting the flag display_loyalty on the intent to be true.

Note: Once a user has granted consent to share their information with the operator, subsequent requests to display_loyalty will not re-prompt the user.

POST /intent

{
    "user_id": "user_28CJjV7P4Go5PNJvfzghiD",
    "amount": 1450,
    "direction": "cash_in",
    "currency": "USD",
    "display_loyalty": true,
    ... // other fields omitted for brevity
}

Upon completing their transaction in the Push UX, the user will be shown the following loyalty opt-in pages - which will be in the style of your branding. We require the user to opt-in (i.e. Check the Authorize Push to share … box and then click Share and upgrade) to loyalty before proceeding.

Example offer screen (left) & consent page (right)

Note: Push Cash team will build custom offer and consent pane screens based on your loyalty program details and branding

2. Receive loyalty webhook from Push

You can expect the loyalty data analytics (identifying and aggregating user spend in gaming vertical) to take no more than a minute. When it’s ready we will deliver the data to you via webhook (user.loyalty_processed), example below:

{
  "type": "user.loyalty.processed",
  "data": {
    "currency": "USD",
    "date": "2024-01-01",
    "deposit_count": 10,
    "deposit_volume": 1000,
    "earliest_transaction_date": "2023-01-01",
    "user_id": "user_w3xVTif8GNSJSCQYT9pBVF",
    "withdrawal_count": 5,
    "withdrawal_volume": 500
  },
  "timestamp": "2024-03-21T05:31:09.218236Z"
}

3. Simulations

To test your integration with our sandbox environment, invoke the simulate/loyalty endpoint, example below:

NOTE: You must first complete the loyalty authorization for the user through the UX before calling the simulate endpoint

POST /simulate/loyalty

{
  "user_id": "user_28CJjV7P4Go5PNJvfzghiD",
  "deposit_count": 10,
  "deposit_volume": 1000,
  "withdrawal_count": 5,
  "withdrawal_volume": 500,
  "currency": "USD",
  "earliest_transaction_date": "2023-01-01",
  "date": "2024-01-01"
}