Skip to main content
Want to track the price of a product, or know when it’s back in stock? We provide webhooks that let you do just that.
1

Register an endpoint

Add an endpoint in the dashboard and copy its signing secret. Each endpoint receives events from every subscription on the account, for the event types you enable on it. Add another when you want a separate URL, such as QA alongside production.
Endpoint configuration in the Channel3 dashboard, with the Endpoints tab selected and an Add Endpoint button

Add an endpoint from the Endpoints tab.

Respond 2xx within 15 seconds. Verify the signature before you act on the body.
2

Create a subscription

Pass a product ID from search or lookup, and the event types you want.
Sending the same scope again (the same events, domains, and selection) returns the existing subscription.domains limits events to those merchants. Pass up to 25 bare domains.
selection pins a variant. Copy { "name", "label" } from variants.selected on the product, one entry per dimension.
Some values, usually colors, are a separate product with their own product_id in variants.options. Selecting one subscribes you to that product, so the product_id in the response and in events can differ from the one you sent.Every subscription reads the product in English, US, USD.Create, list, get, and cancel from the API. Cancelling stops events for that subscription as soon as the call returns.
3

What arrives

Every body has id, timestamp, type, and data. data.subscription_id is your subscription. data.subject names the offer: product_id, merchant domain, locale, and selection (null when you subscribed to the offer as a whole). The id stays the same when a delivery is retried, so skip any you have already handled.
subject.domain is the merchant this offer came from. subject.selection is the variant you pinned. Leave selection off the subscription and it arrives as null.

Price updates

offer.price.changed when a price moves.

Availability updates

offer.availability.changed when stock flips.

New and removed offers

offer.created and offer.deleted when a new merchant starts selling the product, or one stops.

Product Subscription Webhooks

Signatures, retries, endpoints, and the full payload reference.