Loyalty Admin API
AdjustmentAction1
An enum representing the type of adjustment applied to a customer's loyalty state.
This is not an exhaustive list. New values can be introduced without notice, and undocumented values may be returned. You MUST ignore any values you do not know how to handle.
Values
give_points
Give the specified number of points to the customer, as if they have earned them.
This will increase the number of points earned, potentially affecting the customer's tier.
In customer support scenarios you often want
unspend_points
more thangive_points
, although of course this depends on the use case.Detail properties:
points
.takeaway_points
Take away the specified number of points from the customer, decreasing the number of points earned.
The decrease in number of points earned might potentially affect the customer's tier.
Detail properties:
points
.unspend_points
Increase the customer's balance by the specific number of points, moving those from spent to available state.
This won't affect the number of points earned by the customer, so will not affect their tier.
You can safely do
unspend_points
without checking the points balance; if you're trying to unspend more than the customer has spent, Bubblehouse will unspend all the points it can, and will add the rest to the earned points.In customer support scenarios you often want
unspend_points
more thangive_points
, although of course this depends on the use case.Detail properties:
points
.takeaway_points_as_spent
Decrease the customer's balance by the specific number of points, moving those from available/pending to spent state.
This won't affect the number of points earned by the customer, so will not affect their tier.
Detail properties:
points
.takeaway_points_for_change
Take away points earned as a result of the given change event.
The decrease in number of points earned might potentially affect the customer's tier.
This marks the corresponding change's points as having been neutered, so further similar calls for the same change won't have any effect.
Detail properties:
change_id
.reset_all_points_expiration
Reset expiration time for all points of the given customer.
The timer for point expiration starts counting anew from the time of the call.
Regardless of whether the shop uses fine-grained or global point expiration, this resets the expiration for all of the customer's points.
Detail properties: none.
add_customer_mark
Applies the given mark on the given customer.
Detail properties:
mark
.remove_customer_mark
Remove the given mark on the given customer.
Detail properties:
mark
.request_customer_deletion
Request GDPR deletion of the customer.
The customer's account is marked as deleted, and the data is queued to be physically destroyed following a configured retention period.
Detail properties: none.
cancel_customer_deletion
Cancel GDPR deletion of the customer.
If the customer's account is marked for deletion, but within a guaranteed retention window, this call cancels the deletion request and reinstates the account.
Detail properties: none.
upgrade_tier
Upgrade the customer to the given tier.
The customer will retain at least the specified tier until it expires, or until another manual adjustment is made.
Detail properties: subject (you can identify the tier by
subject_id
orsubject_slug
).reset_tier
Reset the customer's tier to the given one.
The customer is moved to the given tier, the expiration time is reset, and any upgrade metrics (like points earned or dollars spent) start counting from zero.
Detail properties: subject (you can identify the tier by
subject_id
orsubject_slug
).reset_tier_expiration
Reset the expiration timer on the customer's tier.
The expiration timer on the customer's current tier (if any) starts counting anew.
Detail properties: none.
unlock_achievement
Unlock the given achievement for the given customer.
The customer immediately gets any rewards associated with the achievement.
Detail properties: subject (you can identify the achievement by
subject_id
orsubject_slug
).relock_achievement
Re-locks the given achievement for the given customer.
The given achievement is taken away from the customer, if they have previously unlocked it. The customer immediately loses any further rewards associated with the achievement.
(Note that, if a customer has obtained an immediate reward at the time of unlocking the achievement, that reward isn't lost.)
Detail properties: subject (you can identify the achievement by
subject_id
orsubject_slug
).undo_achievement
Undoes unlocking of the given achievement for the given customer.
The given achievement is taken away from the customer, if they have previously unlocked it. The customer immediately loses any further rewards associated with the achievement, and also loses any rewards they got by unlocking the achievement.
This call effectively finds the latest change caused by unlocking the given achievement, and undoes it.
Detail properties: subject (you can identify the achievement by
subject_id
orsubject_slug
).reset_achievement_uses
Reset remaining use count of the given achievement for the given customer.
For achievements with limited number of uses, resets the use count on the given achievement, so that the remaining uses start counting anew.
Detail properties: subject (you can identify the achievement by
subject_id
orsubject_slug
).complete_source
Mark the given Way to Earn Points as completed by the given customer.
This immediately grants any associated rewards.
Detail properties: subject (you can identify the point source by
subject_id
orsubject_slug
).undo_source
Undo effects of completing the given Way to Earn Points by the given customer.
This marks the point source uncompleted and unapproved, and undoes any rewards gained from it.
Detail properties: subject (you can identify the point source by
subject_id
orsubject_slug
).approve_source
Mark the given Way to Earn Points as approved.
For point sources requiring approval of completion, marks the given completed source as approved, and grants any associated rewards.
Detail properties: subject (you can identify the point source by
subject_id
orsubject_slug
).reject_source
Rejects approval of completion of the given Way to Earn Points.
For point sources requiring approval of completion, rejects approval of the given completed source.
Detail properties: subject (you can identify the point source by
subject_id
orsubject_slug
).undecide_source_approval
Undoes approval or rejection of the given Way to Earn Points.
For point sources requiring approval of completion, undoes marking the given completed source as approved or rejected. Takes away any rewards gained form it, and returns it to an undecided state.
Detail properties: subject (you can identify the point source by
subject_id
orsubject_slug
).record_trigger
Records a custom trigger completion.
Note that this mainly for customer support-initiated completions and similar scenarios. Use Customer Triggers API when sending custom events to Bubblehouse.
Detail properties: subject (you can identify the trigger by
subject_id
orsubject_slug
).undo_trigger
Undoes a custom trigger completion.
Undoes any effects of completing the given custom trigger.
Detail properties: subject (you can identify the trigger by
subject_id
orsubject_slug
).undo_trigger
Undoes a custom trigger completion.
Undoes any effects of completing the given custom trigger.
Detail properties: subject (you can identify the trigger by
subject_id
orsubject_slug
).undo_change
Undoes the given change.
Undoes the effects of the given customer change. Does nothing if the change has already been undone.
Detail properties:
change_id
.reinstate_change
Undoes the undoing of the given change.
Makes sure that the given change is not undone. (Or, in other words, finds the latest change that undoes the specified change, and undoes that.) Does nothing if the change has not been undone.
Note that you can also accomplish the same by running
undo_change
on the corresponding undo change record. The difference is thatreinstate_change
is invoked on the original change and automatically decides which undo change to undo (pardon our pun).Detail properties:
change_id
.redeem_vendible
Redeems the given vendible.
Acts as if the customer has clicked Redeem on the given vendible, including spending the points. Fails if the customer does not have enough points.
Detail properties: subject (you can identify the vendible by
subject_id
orsubject_slug
).grant_vendible
Redeems the given vendible without spending points.
Acts almost as if the customer has clicked Redeem on the given vendible, but does not spend any points, i.e. grants the vendible for free.
Detail properties: subject (you can identify the vendible by
subject_id
orsubject_slug
).undo_vendible
Undoes redemption of the given vendible.
Takes away any rewards obtained from redeeming a vendible, and refunds the points spent on it.
Has no effect if the customer has never redeemed the given vendible. In case of multiple redemptions, acts on the latest redemption that hasn't yet been undone.
Detail properties: subject (you can identify the vendible by
subject_id
orsubject_slug
).approve_referral
Approves the given referral without waiting for the referred customer to place an order.
Acts as if a referral has been accepted and a qualifying order has been placed.
Detail properties:
subject_id
.reject_referral
Rejects the given referral and undoes effects of its approval.
Attempts to take away the rewards obtained as part of the given referral. Note that a discount that has already been used cannot be taken away.
Detail properties:
subject_id
.