Home
System

event_rewards_within_reach_reminder

The rewards within reach reminder event occurs whenever a user earns 80% of the required points to redeem the reward.

Request

We send events to your webhook's URL with POST and a JSON body. Events are batched: a request can carry several events of this type. See Receiving Webhooks for batch sizes and retries, and Webhook Event Signatures to verify the request.

Headers

HeaderDescription
x-zinrelo-signatureThe HMAC-SHA512 hex digest of <request body>:<nonce>, computed with the webhook's secret key. See Webhook Event Signatures.
nonceThe Unix time, in milliseconds, at which the request was signed. It's part of the signed message.

Payload

FieldTypeDescription
request_idstringA unique identifier of this webhook request.
total_countintegerThe number of events in the batch (events).
created_datestringWhen the webhook request was created, as MM/DD/YYYY HH:MM:SS.
eventsarray of objectThe events in this batch.
events[].idstringThe unique identifier of the event. Use it to detect events you already processed.
events[].event_typestringThe type of event. One of event_rewards_within_reach_reminder.
events[].dataobjectThe event's data.
events[].data.member_info (optional)objectThe member_info object of the event's data. Which fields are present depends on the event.
events[].data.member_info.id (optional)stringThe internal ID generated by TrueLoyal.
events[].data.member_info.first_name (optional)stringThe first name of the member.
events[].data.member_info.last_name (optional)stringThe last name of the member.
events[].data.member_info.email_address (optional)stringThe email address of the member.
events[].data.member_info.address (optional)object
events[].data.member_info.address.city (optional)stringMember's city.
events[].data.member_info.address.country (optional)stringMember's country.
events[].data.member_info.address.line2 (optional)stringThe member address.
events[].data.member_info.address.line1 (optional)stringThe member address.
events[].data.member_info.address.state (optional)stringMember's state.
events[].data.member_info.address.postal_code (optional)stringMember's postal code.
events[].data.member_info.phone_number (optional)stringThe phone number of the member.
events[].data.member_info.member_id (optional)stringThe unique identifier of the member defined by an Admin.
events[].data.member_info.member_status (optional)stringThe current status of the member- ‘active’ , ‘blocked’, ‘opted_out’. ‘active’ member is the one accumulating loyalty points and has access to rewards and earning opportunities. ‘blocked’ member is prohibited from participating in the program. ‘opted_out’ member is the one who has chosen to opt out of the loyalty program.
events[].data.member_info.member_tags (optional)array or stringThe tags assocaited with a member.
events[].data.member_info.number_of_purchases (optional)integerThe number of purchases made by a member.
events[].data.member_info.number_of_redemptions (optional)integerThe number of redemptions made by a member.
events[].data.member_info.birthdate (optional)stringBirthdate of the loyalty member. Expected date format: MM/DD/YYYY or MM/DD Irrespective of the year passed, 1904 will be set as a default value.
events[].data.member_info.churn_status (optional)string
events[].data.member_info.enrollment_date (optional)stringThe date on which the member joined the loyalty program.
events[].data.member_info.last_modified_date (optional)stringThe most recent date on which a member's profile was updated.
events[].data.member_info.first_purchase_date (optional)stringThe first purchase date of the member.
events[].data.member_info.instagram_handle (optional)stringThe instagram handle of the member.
events[].data.member_info.last_purchase_date (optional)stringThe last purchase made by a member.
events[].data.member_info.anniversary_date (optional)stringThe anniversary date of the member. Expected date format: MM/DD/YYYY or MM/DD In case, where a year has not been passed the default year will be set as 1904.
events[].data.member_info.twitter_handle (optional)stringThe twitter handle of the member.
events[].data.member_info.preferred_language (optional)stringThe preferred language of the member.
events[].data.member_info.deprecated_fields (optional)object
events[].data.member_info.deprecated_fields.user_id (optional)string
events[].data.member_info.tier_info (optional)object
events[].data.member_info.tier_info.tier_qualification_units (optional)integer
events[].data.member_info.tier_info.current_period_start (optional)stringThe start date of the current tier cycle.
events[].data.member_info.tier_info.loyalty_tier_name (optional)stringThe name of the current tier.
events[].data.member_info.tier_info.qualified_points (optional)integerThe qualified points for tier calculation.
events[].data.member_info.tier_info.loyalty_tier_id (optional)stringThe unique tier ID stored in TrueLoyal.
events[].data.member_info.tier_info.current_period_end (optional)string or nullThe end date of current tier cycle.
events[].data.member_info.tier_info.qualifid_points (optional)integer
events[].data.member_info.lifetime_points_earned (optional)integerThe total points earned in a member's account since he joined the program.
events[].data.member_info.lifetime_points_expired (optional)integerThe total points expired from a member's account since he joined the program.
events[].data.member_info.available_points (optional)integerThe avaliable points of the member.
events[].data.member_info.points_onhold (optional)integer
events[].data.member_info.lifetime_points_deducted (optional)integerThe total points deducted from a member's account since he joined the program.
events[].data.member_info.lifetime_points_redeemed (optional)integerThe total points redeemed from a member's account since he joined the program.
events[].data.member_info.number_of_referral_purchase (optional)integer
events[].data.member_info.number_of_referral_share (optional)integer
events[].data.member_info.referral_URL (optional)stringThe unique referral url of the member.
events[].data.member_info.custom_attributes (optional)object
events[].data.member_info.custom_attributes.Nationality (optional)string
events[].data.member_info.custom_attributes.City_Name (optional)string
events[].data.member_info.custom_attributes.Marital_Status (optional)string
events[].data.member_info.custom_attributes.Income_Source (optional)string
events[].data.member_info.custom_attributes.Age_In_Years (optional)string
events[].data.member_info.custom_attributes.Gender_Identity (optional)string
events[].data.member_info.custom_attributes.Graduation_Date (optional)string
events[].data.member_info.custom_attributes.Number of purchases (optional)integer
events[].data.member_info.custom_attributes.Favourite Destination (optional)string
events[].data.member_info.custom_attributes.Last traveled (optional)string
events[].data.member_info.custom_attributes.Gender (optional)string
events[].data.member_info.custom_attributes.List of favourite place (optional)array of string
events[].data.member_info.custom_attributes.Review date (optional)string
events[].data.member_info.custom_attributes.traveled destination (optional)string
events[].data.member_info.custom_attributes.Preferences (optional)string
events[].data.member_info.custom_attributes.Subscription Plan (optional)string
events[].data.member_info.custom_attributes.Active Camera (optional)integer
events[].data.member_info.revenue (optional)integer
events[].data.member_info.aov (optional)number or null
events[].data.member_info.deleted_date (optional)null
events[].data.member_info.referral_code (optional)stringThe unique referral code of the member.
events[].data.reward_info (optional)objectThe reward_info object of the event's data. Which fields are present depends on the event.
events[].data.reward_info.count (optional)integer
events[].data.reward_info.rewards (optional)array of object
events[].data.reward_info.rewards[].reward_name (optional)string
events[].data.reward_info.rewards[].enduser_reward_confirmation_html (optional)string
events[].data.reward_info.rewards[].reward_card_background_image_url (optional)string
events[].data.reward_info.rewards[].implementation_type (optional)string
events[].data.reward_info.rewards[].enduser_reward_post_confirmation_html (optional)string
events[].data.reward_info.rewards[].show_on_guest_dashboard (optional)boolean
events[].data.reward_info.rewards[].last_modified_date (optional)string
events[].data.reward_info.rewards[].is_active (optional)boolean
events[].data.reward_info.rewards[].product_url (optional)string
events[].data.reward_info.rewards[].reward_sub_type (optional)string
events[].data.reward_info.rewards[].eligible_tiers_list (optional)array of string
events[].data.reward_info.rewards[].created_date (optional)string
events[].data.reward_info.rewards[].enduser_reward_short_description (optional)string
events[].data.reward_info.rewards[].points_to_be_redeemed (optional)integer
events[].data.reward_info.rewards[].reward_type (optional)string
events[].data.reward_info.rewards[].redemption_eligibility_criteria (optional)string
events[].data.reward_info.rewards[].id (optional)string
events[].data.reward_info.rewards[].reward_id (optional)string
events[].data.reward_info.rewards[].product_id (optional)string
events[].data.reward_info.rewards[].metadata (optional)object
events[].data.reward_info.rewards[].metadata.Category (optional)string
events[].data.reward_info.rewards[].metadata.Location (optional)string
events[].data.reward_info.rewards[].metadata.Gender (optional)string
events[].data.reward_info.rewards[].earning_period_operator (optional)string
events[].data.reward_info.rewards[].points_earned (optional)integer
events[].data.reward_info.rewards[].points_earned_operator (optional)string
events[].data.reward_info.rewards[].reward_value (optional)string

Example

{
  "request_id": "64880b23c111d90011ee4eb9",
  "total_count": 1,
  "events": [
    {
      "id": "64880b2594832e4e92d871ae",
      "event_type": "event_rewards_within_reach_reminder",
      "data": {
        "member_info": {
          "id": "64880b215a684b000d281e1c",
          "first_name": "John",
          "last_name": "Doe",
          "email_address": "johndoe@gmail.com",
          "address": {
            "city": "Palo Alto",
            "country": "US",
            "line2": "530 Lytton Ave",
            "line1": "Suite #200",
            "state": "CA",
            "postal_code": "94301"
          },
          "phone_number": "+1-6507017759",
          "member_id": "john.doe23",
          "member_status": "active",
          "member_tags": [
            "rewardsreminder",
            "remindingrewards"
          ],
          "number_of_purchases": 1,
          "number_of_redemptions": 0,
          "birthdate": "08/26/1986 00:00:00",
          "enrollment_date": "06/13/2023 06:22:25",
          "last_modified_date": "06/13/2023 06:22:27",
          "first_purchase_date": "06/13/2023 06:22:26",
          "instagram_handle": "www.instagram.com/john",
          "last_purchase_date": "06/13/2023 06:22:26",
          "anniversary_date": "12/06/2014 00:00:00",
          "twitter_handle": "www.twitter.com/john",
          "preferred_language": "English",
          "deprecated_fields": {
            "user_id": "abgjdyo2"
          },
          "tier_info": {
            "tier_qualification_units": 100,
            "current_period_start": "03/01/2022 00:00:00",
            "loyalty_tier_name": "Silver",
            "qualified_points": 500,
            "loyalty_tier_id": "tier_silver",
            "current_period_end": "02/28/2023 23:59:59"
          },
          "referral_code": "KES1HX1E",
          "lifetime_points_earned": 600,
          "lifetime_points_expired": 0,
          "available_points": 600,
          "points_onhold": 10,
          "lifetime_points_deducted": 0,
          "lifetime_points_redeemed": 0,
          "referral_URL": "https://zinrelo.com/ref/SAM02XIU",
          "number_of_referral_purchase": 0,
          "number_of_referral_share": 0,
          "custom_attributes": {
            "City_Name": "Paris",
            "Marital_Status": "Married",
            "Income_Source": "Business",
            "Age_In_Years": "35",
            "Gender_Identity": "Male",
            "Graduation_Date": "03/12/2000 00:00:00"
          },
          "revenue": 50,
          "aov": 70.2,
          "deleted_date": null
        },
        "reward_info": {
          "count": 1,
          "rewards": [
            {
              "enduser_reward_post_confirmation_html": "Go to the <a href=\"{{PRODUCT_URL}}\" target=\"_blank\"> product page </a> and add this product to cart. Apply the coupon code at checkout",
              "earning_period_operator": "Lifetime",
              "enduser_reward_confirmation_html": "<b>{{POINTS}} Points</b> WILL be deducted from your account balance. Do you wish to redeem this reward?",
              "reward_card_background_image_url": "https://d1qbqkkh49kht1.cloudfront.net/86d0f83a4a99cc52c5cb04c4a4509bc2.jpeg",
              "implementation_type": "coupon_code",
              "is_active": true,
              "show_on_guest_dashboard": false,
              "last_modified_date": "11/29/2022 08:36:05",
              "points_earned": 1,
              "reward_name": "₹5 OFF COUPON",
              "id": "62e90f019396a278eb9baf66",
              "reward_sub_type": "Fixed Amount Discount",
              "created_date": "08/02/2022 11:48:17",
              "enduser_reward_short_description": "For {{POINTS}} points",
              "points_to_be_redeemed": 1500,
              "reward_type": "Coupon Based Rewards",
              "redemption_eligibility_criteria": "Points Based",
              "points_earned_operator": "Greater Than",
              "reward_id": "reward_c852d",
              "reward_value": "5",
              "metadata": {
                "Category": "T-Shirt",
                "Location": "London",
                "Gender": "Male"
              }
            }
          ]
        }
      }
    }
  ],
  "created_date": "06/13/2023 06:22:27"
}

Responses

StatusDescription
200Acknowledges receipt of the events. Return 200 as soon as you receive the request and process the events afterwards, so the request doesn't time out.
OtherAny status code other than 200 is a failure: the request is sent again every 5 minutes until your endpoint returns 200 or the maximum number of attempts (5 by default) is reached. Your Customer Success Manager can change these settings.