Campaigns
event_campaign_exited
This event will occur when a member or members exit a campaign.
Note:
Currently, the "tier_qualification_units" field is not available for Salesforce Commerce Cloud (SFCC) plugin.
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
| Header | Description |
|---|---|
x-zinrelo-signature | The HMAC-SHA512 hex digest of <request body>:<nonce>, computed with the webhook's secret key. See Webhook Event Signatures. |
nonce | The Unix time, in milliseconds, at which the request was signed. It's part of the signed message. |
Payload
| Field | Type | Description |
|---|---|---|
request_id | string | A unique identifier of this webhook request. |
total_count | integer | The number of events in the batch (events). |
created_date | string | When the webhook request was created, as MM/DD/YYYY HH:MM:SS. |
events | array of object | The events in this batch. |
events[].id | string | The unique identifier of the event. Use it to detect events you already processed. |
events[].event_type | string | The type of event. One of event_campaign_exited. |
events[].data | object | The event's data. |
events[].data.member_info (optional) | object | The member_info object of the event's data. Which fields are present depends on the event. |
events[].data.member_info.id (optional) | string | The internal ID generated by TrueLoyal. |
events[].data.member_info.first_name (optional) | string | The first name of the member. |
events[].data.member_info.last_name (optional) | string | The last name of the member. |
events[].data.member_info.email_address (optional) | string | The email address of the member. |
events[].data.member_info.address (optional) | object | |
events[].data.member_info.address.city (optional) | string | Member's city. |
events[].data.member_info.address.country (optional) | string | Member's country. |
events[].data.member_info.address.line2 (optional) | string | The member address. |
events[].data.member_info.address.line1 (optional) | string | The member address. |
events[].data.member_info.address.state (optional) | string | Member's state. |
events[].data.member_info.address.postal_code (optional) | string | Member's postal code. |
events[].data.member_info.phone_number (optional) | string | The phone number of the member. |
events[].data.member_info.member_id (optional) | string | The unique identifier of the member defined by an Admin. |
events[].data.member_info.member_status (optional) | string | The 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 string | The tags assocaited with a member. |
events[].data.member_info.number_of_purchases (optional) | integer | The number of purchases made by a member. |
events[].data.member_info.number_of_redemptions (optional) | integer | The number of redemptions made by a member. |
events[].data.member_info.birthdate (optional) | string | Birthdate 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) | string | The date on which the member joined the loyalty program. |
events[].data.member_info.last_modified_date (optional) | string | The most recent date on which a member's profile was updated. |
events[].data.member_info.first_purchase_date (optional) | string | The first purchase date of the member. |
events[].data.member_info.instagram_handle (optional) | string | The instagram handle of the member. |
events[].data.member_info.last_purchase_date (optional) | string | The last purchase made by a member. |
events[].data.member_info.anniversary_date (optional) | string | The 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) | string | The twitter handle of the member. |
events[].data.member_info.preferred_language (optional) | string | The 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) | string | The start date of the current tier cycle. |
events[].data.member_info.tier_info.loyalty_tier_name (optional) | string | The name of the current tier. |
events[].data.member_info.tier_info.qualified_points (optional) | integer | The qualified points for tier calculation. |
events[].data.member_info.tier_info.loyalty_tier_id (optional) | string | The unique tier ID stored in TrueLoyal. |
events[].data.member_info.tier_info.current_period_end (optional) | string or null | The end date of current tier cycle. |
events[].data.member_info.tier_info.qualifid_points (optional) | integer | |
events[].data.member_info.lifetime_points_earned (optional) | integer | The total points earned in a member's account since he joined the program. |
events[].data.member_info.lifetime_points_expired (optional) | integer | The total points expired from a member's account since he joined the program. |
events[].data.member_info.available_points (optional) | integer | The avaliable points of the member. |
events[].data.member_info.points_onhold (optional) | integer | |
events[].data.member_info.lifetime_points_deducted (optional) | integer | The total points deducted from a member's account since he joined the program. |
events[].data.member_info.lifetime_points_redeemed (optional) | integer | The 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) | string | The 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) | string | The unique referral code of the member. |
events[].data.campaign_info (optional) | object | The campaign_info object of the event's data. Which fields are present depends on the event. |
events[].data.campaign_info.event_name (optional) | string | |
events[].data.campaign_info.event_ID (optional) | string | |
events[].data.campaign_info.delay_in_days (optional) | integer | |
events[].data.campaign_info.campaign_name (optional) | string | |
events[].data.campaign_info.campaign_ID (optional) | string | |
events[].data.campaign_info.promotion_info (optional) | object | |
events[].data.campaign_info.promotion_info.promotion_id (optional) | string | |
events[].data.campaign_info.promotion_info.promotion_type (optional) | string | |
events[].data.campaign_info.promotion_info.configuration_settings (optional) | null |
Example
{
"request_id": "63be6dfb071e220010516de6",
"total_count": 1,
"events": [
{
"id": "63be6dfda74c1ca07736e435",
"event_type": "event_campaign_exited",
"data": {
"member_info": {
"id": "6385e0e96c3148000beb356b",
"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": "johndoe21",
"member_status": "active",
"member_tags": [
"outofcampaign",
"exitcampaign"
],
"number_of_purchases": 10,
"number_of_redemptions": 1,
"birthdate": "08/26/1989 00:00:00",
"enrollment_date": "09/27/2022 00:00:00",
"last_modified_date": "09/27/2022 00:00:00",
"first_purchase_date": "10/26/2022 00:00:00",
"instagram_handle": "www.instagram.com/john",
"last_purchase_date": "12/29/2022 00:00:00",
"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": "12/29/2022 00:00:00",
"loyalty_tier_name": "Silver",
"qualified_points": 500,
"loyalty_tier_id": "zrl_silver",
"current_period_end": "12/29/2023 00:00:00"
},
"referral_code": "Anna286",
"number_of_referral_purchase": 0,
"number_of_referral_share": 0,
"lifetime_points_earned": 10,
"lifetime_points_expired": 0,
"available_points": 100,
"points_onhold": 10,
"lifetime_points_deducted": 50,
"lifetime_points_redeemed": 70,
"referral_URL": "https://zinrelo.com/ref/JOH6FWL5",
"custom_attributes": {
"Nationality": "Indian"
},
"revenue": 115,
"aov": null,
"deleted_date": null
},
"campaign_info": {
"delay_in_days": 0,
"event_name": "exit",
"campaign_ID": "campaign_7744b",
"promotion_info": {
"promotion_type": "no_action",
"promotion_id": "63bb91fcc88247000c83a868",
"configuration_settings": null
},
"event_ID": "campaign_exited247",
"campaign_name": "Exit Campaign"
}
}
}
]
}Responses
| Status | Description |
|---|---|
200 | Acknowledges 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. |
| Other | Any 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. |