Points Changed

Sent every time a customer's points balance changes, with the balance before and after. Use it to keep a points balance in another system in sync.

To receive it, add swell/points/changed to events when you create a filter, then create a store subscription for each store that installed your app. Yotpo sends the event to your target URL as a POST with this JSON body.

postWebhookswell/points/changed

Headers

X-Yotpo-Webhooks-Event-Typestring required

The event name. Matches topic in the body.

X-Yotpo-Webhooks-Tenant-Typestring required

The kind of account the event belongs to: store for store events.

X-Yotpo-Webhooks-Tenant-Idstring required

The store ID (app_key) the event belongs to.

WebhookMessageIdstring required

A unique ID for the event.

WebhookMessageIdPerTargetstring required

A unique ID for this delivery to this target. Use it to ignore duplicates.

Payload

topicstring

The event name, swell/points/changed.

namestring

The display name of the event.

website_urlstring

Your store's website URL.

store_namestring

Your store's name.

emailstring

The email address of the customer whose point balance changed.

previous_balanceinteger

The customer’s point balance before the change.

current_balanceinteger

The customer’s point balance after the change.

differenceinteger

The points added (positive) or removed (negative).

added_or_removedstring

Whether points were added or removed.

points_changed_reasonstring

Why the balance changed: a campaign title, Points Expired, a manual adjustment description, Refund made, Import or Redemption Made.

timestampstring date-time

When the event happened.

related_order_idsstring[]

The IDs of the orders related to the change, as your store sent them.

loyalty_next_points_expire_onstring date

The date the next batch of points expires.

loyalty_next_points_expire_amountinteger

The number of points in the next expiring batch.

published_atstring date-time

When Yotpo sent the event.

Response

Return any 2xx status quickly to acknowledge the event. Without one, Yotpo retries at least 10 times with exponential backoff.

Changes

Webhooks have no change history: a webhook is keyed by its event name rather than a path and method, so no recorded change can name it.