Events Reference
Below are sample request payloads you will receive based on the webhook event types you have selected for your campaign.
Overview
PARTICIPANT_REACHED_A_GOAL- Referral programs only. When a participant unlocks a new reward.NEW_PARTICIPANT_ADDED- When a new participant is added to the campaign (includes direct signups, referrals, and participants added/imported via admin dashboard).PARTICIPANT_FRAUD_STATUS_UPDATED- When an existing participant's fraud status changes.NEW_COMMISSION_ADDED- Affiliate programs only. When a new commission is generated for an affiliate.COMMISSION_ADJUSTED- Affiliate programs only. When an existing commission is adjusted (refunds, chargebacks, or refund cancellations).NEW_PAYOUT_ISSUED- Affiliate programs only. When a payout is successfully issued to an affiliate.CAMPAIGN_ENDED- When the campaign ends.
PARTICIPANT_REACHED_A_GOAL
PARTICIPANT_REACHED_A_GOALReferral programs only
Description: When a participant unlocks a new reward.
Important notes:
For double-sided rewards, two events will be sent for both referrer and referee. To discern between the two, use the
data.reward.isReferrerproperty (the referrer will haveisReferrerastrue).You can confirm this by examining
data.reward.referrerIdanddata.reward.referredIdand comparing it withdata.participant.id.If the reward is for the referrer, you can view the person they referred by accessing
data.participant.referee.If the reward is for the referred friend, you can view the person who referred them by accessing
data.participant.referrer.
If you have manual reward approval enabled for your campaign, events will be sent twice: (1) when the reward is pending approval and (2) when the reward is approved. To discern between unapproved/approved rewards, use the
data.reward.approvedproperty (approved rewards will haveapprovedastrue).The
data.rewardobject contains combined data from theCampaignRewardandParticipantReward.data.reward.rewardIdrepresents the ID of theCampaignRewardand will always be the same. You can find this ID from Campaign Editor > 1. Rewards and clicking the reward.data.reward.idrepresents the ID of theParticipantRewardthat was unlocked for the participant. This will be different for every new reward that the participant earns. You can find this ID by going to your admin dashboard and viewing the participant's rewards.
Here is an example event of a PARTICIPANT_REACHED_A_GOAL event where the reward is for the referrer because data.reward.isReferrer is true. The person they referred is reflected in data.participant.referee.
If this reward was for the referred person, then data.reward.isReferrer would be false. And the person that referred them would be accessible from data.participant.referrer.
NEW_PARTICIPANT_ADDED
NEW_PARTICIPANT_ADDEDDescription: When a new participant is added to the campaign (includes direct signups, referrals, and participants added/imported via admin dashboard).
Here is an example event of a NEW_PARTICIPANT_ADDED event where the newly added participant was referred. The person that referred them is reflected in data.referrer. If the participant was not referred, then data.referrer will not exist.
NEW_COMMISSION_ADDED
NEW_COMMISSION_ADDEDAffiliate programs only
Description: When a new commission is generated for an affiliate.
COMMISSION_ADJUSTED
COMMISSION_ADJUSTEDAffiliate programs only
Description: When an existing commission is adjusted (refunds, chargebacks, or refund cancellations).
NEW_PAYOUT_ISSUED
NEW_PAYOUT_ISSUEDAffiliate programs only
Description: When a payout is successfully issued to an affiliate.
PARTICIPANT_FRAUD_STATUS_UPDATED
PARTICIPANT_FRAUD_STATUS_UPDATEDDescription: When an existing participant's fraud status changes.
This webhook event is emitted if either of the following happens:
If you manually mark a participant as a fraudster or non-fraudster from the GrowSurf admin dashboard. Learn more here.
If GrowSurf's anti-fraud system automatically identifies a referrer as a fraudster after they tried referring someone.
Here is an example of a PARTICIPANT_FRAUD_STATUS_UPDATED event where you can check the participant's fraud status via data.participant.fraudRiskLevel (it will be one of the following options: "LOW", "MEDIUM", or "HIGH"). You can also check the fraud reason code via data.participant.fraudReasonCode (see the Participant object for all fraud reason code options).
CAMPAIGN_ENDED
CAMPAIGN_ENDEDDescription: When the campaign ends.
Last updated
Was this helpful?