Webhook overview
Which webhook events are actually sent, what the request and signature headers look like, how duplicates, order and lost events behave, and when to use the API.
Webhook is not being delivered
When a webhook does not arrive: narrow it down with a test send and the delivery log, then check the active flag, subscribed events, connection and signature.
How to register a Webhook
Register a webhook in the developer portal or through the API, choose events that are actually sent, run a test send, and change, pause or delete a webhook.
Designing resends, ordering, and idempotency
What counts as success, the retry rules (1 min, 10 min, 1 h, four attempts), ordering and lost events, and dropping duplicates by X-RR-Delivery.
Monitoring and handling failures
Read a webhook's active flag, last delivery time and delivery log, notice when it has switched itself off, recover, and fill the gap from the API.
Receive new sales by webhook and post them to Slack
Register a receipt.created webhook, verify its signature and drop duplicates in Node.js, and post each new sale to a Slack channel.
Available data domains
A one-page overview of the data domains you can retrieve from the ReceiptRoller developer portal. Summarizes the contents, retrieval methods, and required scopes for each domain — transactions, products, inventory, orders, customers, coupons, SNS, advertising, individual user data, and more.
Show a store's reservations in your own calendar
Fetch the next 7 days of a store's reservations with the Reservations API and write them to an iCalendar (.ics) file with Node.js.
Purchase and receipt data integration
Explains the structure of the purchase and receipt data ReceiptRoller handles, how to retrieve it, related scopes, Webhooks, and common use cases.