Reward Notification

Abstract

This document outlines the integration process and data flows for Cardlytics’ reward redemption reporting, focusing on two main delivery mechanisms: S3 File Transfer and Real-Time Messaging (RTM) Webhooks. The S3 integration ensures that publishers receive daily flat files containing comprehensive redemption data, which is essential for reconciliation. The RTM Webhook provides immediate notification of redemption events as they occur. The document includes sample data structures for reward redemptions and details the API endpoint /v2/customerProfile/getCustomerRewardSummary, which aggregates and returns a customer’s reward activity across various time periods. This guide is intended to help publishers implement robust and real-time reward tracking and reporting using Cardlytics' platform.

How It Works

Prerequisites

S3 - Flat File

  • Cardlytics will produce a daily Redemption Feed and transfer it to your S3. This is a mandatory step regardless of Webhook implementation due to reconciliation.

Webhook

Example Reward File

{
  "redemptionId": "517713527",
  "sourceOrganizationId": "CRP",
  "sourcePortfolioId": "CRP-Standard",
  "redemptionDate": "2025-03-08T00:00:00.000Z",
  "sourceAccountId": "c5f0be70-bb01-4da1-a01c-8d63b1425633",
  "sourceCustomerId": "7554b88f-167d-4aed-aaff-8bd01ba8fdcb",
  "sourceTransactionIds": [
    "b59977fa-7b66-4fde-88c6-89acec5d57cf"
  ],
  "adId": "1000080445",
  "rewardId": "84359",
  "rewardAmount": "359",
  "rewardCurrencyType": "USD",
  "isOfferFullyRedeemed": true,
  "isReversal": false,
  "rewardSettlementProcessDate": "2025-03-11T16:48:52.261Z"
}

Get Customer Reward Summary

GET /v2/customerProfile/getCustomerRewardSummary

Use this call to retrieve a customer's total and time-based reward summaries.

Request Headers:

  • Content-Type: application/json
  • *x-source-customer-id: string

Request Payload:

  • clientId: Your unique clientId provided by Cardlytics.

secret: A secure secret key shared with you by Cardlytics.

Response

Returns a rewardsSummary object that contains aggregated reward data.

Time PeriodFields
allTime, yearToDate, previousCalendarYear, previousMonth, previousTwelveMonths, currentMonthredemptionCount, redeemedOfferCount, totalRedeemingTransactionAmount, totalRewardAmount

Response

{
  "requestId": "380052b4-3a64-4952-b640-ba696eb9f44b",
  "rewardsSummary": {
        "allTime": {
            "redemptionCount": 35,
            "redeemedOfferCount": 10,
            "totalRedeemingTransactionAmount": 350.55,
            "totalRewardAmount": 35.05
        },
        "yearToDate": {
            "redemptionCount": 15,
            "redeemedOfferCount": 5,
            "totalRedeemingTransactionAmount": 150.55,
            "totalRewardAmount": 15.05
        },
        "previousCalendarYear": {
            "redemptionCount": 25,
            "redeemedOfferCount": 10,
            "totalRedeemingTransactionAmount": 250.80,
            "totalRewardAmount": 25.08
        },
        "previousMonth": {
            "redemptionCount": 7,
            "redeemedOfferCount": 3,
            "totalRedeemingTransactionAmount": 45.67,
            "totalRewardAmount": 4.06
        },
        "previousTwelveMonths": {
            "redemptionCount": 19,
            "redeemedOfferCount": 9,
            "totalRedeemingTransactionAmount": 200.34,
            "totalRewardAmount": 20.03
        },
        "currentMonth": {
            "redemptionCount": 5,
            "redeemedOfferCount": 3,
            "totalRedeemingTransactionAmount": 19.17,
            "totalRewardAmount": 1.91
        }
    }
}