Home
Transactions

event_points_expired

The Points Expired event occurs whenever loyalty points in a customer's loyalty account balance expire.

This event is triggered as soon as the status of the points is marked as expired.

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_points_expired.
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.transaction_info (optional)objectThe transaction_info object of the event's data. Which fields are present depends on the event.
events[].data.transaction_info.id (optional)stringThe unique internal ID generated by TrueLoyal.
events[].data.transaction_info.transaction_type (optional)stringThe type of transaction- award, redeem or deduct.
events[].data.transaction_info.member_id (optional)stringThe unique identifier of the member defined by an Admin.
events[].data.transaction_info.transaction_attributes (optional)object
events[].data.transaction_info.transaction_attributes.order_id (optional)stringThe unique ID associated with the placed order. This is system defined transaction attribute for "made_a_purchase" activity.
events[].data.transaction_info.transaction_attributes.coupon_code (optional)stringThe coupon code used for the purchase of the product. This is system defined transaction attribute for "made_a_purchase" activity.
events[].data.transaction_info.transaction_attributes.reason (optional)stringThe reason for making transaction.
events[].data.transaction_info.transaction_attributes.tags (optional)array or string
events[].data.transaction_info.transaction_attributes.products (optional)array of object
events[].data.transaction_info.transaction_attributes.products[].product_id (optional)string
events[].data.transaction_info.transaction_attributes.products[].product_price (optional)string
events[].data.transaction_info.transaction_attributes.products[].product_title (optional)string
events[].data.transaction_info.transaction_attributes.products[].product_category (optional)string
events[].data.transaction_info.transaction_attributes.products[].product_quantity (optional)string
events[].data.transaction_info.transaction_attributes.products[].product_url (optional)string or null
events[].data.transaction_info.transaction_attributes.products[].is_excluded (optional)boolean
events[].data.transaction_info.transaction_attributes.products[].bonus_multiplier (optional)integer
events[].data.transaction_info.transaction_attributes.products[].product_points_per_quantity (optional)integer
events[].data.transaction_info.transaction_attributes.products[].product_image_url (optional)string
events[].data.transaction_info.transaction_attributes.source_of_redemption (optional)string
events[].data.transaction_info.transaction_attributes.pow_01 (optional)null
events[].data.transaction_info.transaction_attributes.order_subtotal (optional)integer
events[].data.transaction_info.transaction_attributes.order_total (optional)integer
events[].data.transaction_info.transaction_attributes.coupons (optional)string
events[].data.transaction_info.transaction_attributes.currency (optional)string
events[].data.transaction_info.approver_details (optional)object
events[].data.transaction_info.approver_details.approver_id (optional)null
events[].data.transaction_info.approver_details.approver_name (optional)string
events[].data.transaction_info.approved_date (optional)stringThe date and time on which the transaction will be approved.
events[].data.transaction_info.last_modified_date (optional)stringThe most recent date on which a transaction was updated.
events[].data.transaction_info.created_date (optional)stringThe date and time on which the transaction was created.
events[].data.transaction_info.award_info (optional)objectThese data are system-defined for award transactions.
events[].data.transaction_info.award_info.activity_id (optional)stringThe unique ID of the activity assigned by TrueLoyal.
events[].data.transaction_info.award_info.activity_name (optional)stringThe activity name stored with TrueLoyal.
events[].data.transaction_info.award_info.points_status (optional)stringThe status of the points- 'pending', 'approved', 'rejected', 'auto_approved', 'auto_rejected', 'expired' or 'exhausted.'
events[].data.transaction_info.award_info.points (optional)integerThe number of points awarded for performing the activity.
events[].data.transaction_info.points_expiration_date (optional)stringThe date and time when points expire.
events[].data.transaction_info.auto_approval_date (optional)stringThe date and time on which the transaction will be auto-approved. It can be configured through the Admin Console > Activities > Settings > Approval Type. This is a system-defined field for award transactions.
events[].data.transaction_info.reward_info (optional)objectThese data are system-defined for reward transactions.
events[].data.transaction_info.reward_info.reward_id (optional)stringThe unique reward ID assigned by TrueLoyal.
events[].data.transaction_info.reward_info.reward_name (optional)stringThe name of the reward stored in TrueLoyal.
events[].data.transaction_info.reward_info.points_status (optional)stringThe status of the points- 'redeemed,' redemption_pending' or 'redemption_cancelled.'
events[].data.transaction_info.reward_info.points (optional)integerThe number of points redeemed by the member.
events[].data.transaction_info.reward_info.coupon_code (optional)stringThe coupon code used for redemption.
events[].data.transaction_info.reward_info.reward_link (optional)nullThe link to flexi reward. Instead of asking members to choose from a fixed set of rewards, loyalty points can be used as a currency and members can redeem any number of points they have from their account for a corresponding discount on their transactions.
events[].data.transaction_info.deduct_info (optional)objectThese data are system-defined for deduct transactions.
events[].data.transaction_info.deduct_info.points_status (optional)stringThe status of the points- 'redeemed,' redemption_pending' or 'redemption_cancelled.'
events[].data.transaction_info.deduct_info.points (optional)integerThe number of points redeemed by the member.
events[].data.transaction_info.expiry_info (optional)object
events[].data.transaction_info.expiry_info.points_status (optional)stringThe status of the points- 'redeemed,' redemption_pending' or 'redemption_cancelled.'
events[].data.transaction_info.expiry_info.points (optional)integerThe number of points redeemed by the member.

Example

{
  "request_id": "63341215563aef00174f73a7",
  "total_count": 1,
  "events": [
    {
      "id": "6334121b4f113d58b2ed3ef5",
      "event_type": "event_points_expired",
      "data": {
        "member_info": {
          "id": "6329aeaddee54a000cbce5ec",
          "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_doe",
          "member_status": "active",
          "member_tags": [
            "member1",
            "member2"
          ],
          "number_of_purchases": 10,
          "number_of_redemptions": 0,
          "birthdate": "09/21/1900 00:00:00",
          "enrollment_date": "09/20/2022 00:00:00",
          "last_modified_date": "09/28/2022 00:00:00",
          "first_purchase_date": "09/20/2022 00:00:00",
          "instagram_handle": "www.instagram.com/john",
          "last_purchase_date": "09/21/2022 00:00:00",
          "anniversary_date": "09/21/1900 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": "09/01/2022 00:00:00",
            "loyalty_tier_name": "Silver",
            "qualified_points": 10390,
            "loyalty_tier_id": "zrl_silver",
            "current_period_end": "09/30/2022 23:59:59"
          },
          "lifetime_points_earned": 11034,
          "lifetime_points_expired": 11034,
          "available_points": 0,
          "points_onhold": 10,
          "lifetime_points_deducted": 0,
          "lifetime_points_redeemed": 0,
          "number_of_referral_purchase": 0,
          "number_of_referral_share": 0,
          "referral_URL": "https://zinrelo.com/ref/JOH7EI9V",
          "custom_attributes": {
            "Gender": "Male",
            "Number of purchases": 1,
            "List of favourite place": [
              "London",
              "Paris"
            ],
            "Review date": "12/10/2022 00:00:00"
          },
          "revenue": 1000,
          "aov": 10,
          "deleted_date": null
        },
        "transaction_info": {
          "id": "632acf6cdee54a000b092934",
          "transaction_type": "award",
          "member_id": "john_doe",
          "expiry_info": {
            "points_status": "expired",
            "points": 1000
          },
          "approved_date": "09/21/2022 08:46:36",
          "approver_details": {
            "approver_id": null,
            "approver_name": "System"
          },
          "last_modified_date": "09/28/2022 09:10:17",
          "created_date": "09/21/2022 08:46:35"
        }
      }
    }
  ],
  "created_date": "09/28/2022 09:21:24"
}

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.