What You Can Do with the Developer Portal
This page gives an overview of the integration methods (REST API and Webhooks) offered by the ReceiptRoller developer portal and what you can build with each. It's the first page to read when you're ready to start implementing.
What You Can Do with the Developer Portal
The ReceiptRoller developer portal provides the means to securely connect retail data — purchases, sales, products, inventory, advertising, user receipts, and more — from external systems. There are two integration methods: the REST API and Webhooks.
Two Integration Methods
REST API (polling / request-based)
Send HTTPS requests from an external system to ReceiptRoller's servers to retrieve and manipulate data. Authenticate with OAuth 2.0 and call endpoints using an access token scoped to the permissions you need.
- Within the range a store owner has authorized, you can operate on products, orders, inventory, customers, coupons, and more
- An approved partner can reference the receipt and spending data a user has consented to share
- Best suited for use cases like "I want to fetch the current state right now" or "I want to update data"
Webhooks (push / event-based)
Events that occur on the ReceiptRoller side (such as receipt issuance or updates) are automatically POSTed to a URL you register. Your external system doesn't need to poll the API periodically — it can start processing the moment an event occurs.
- Receive a notification on your own server the moment a receipt is issued
- Verify the sender using a signature (HMAC-SHA256)
- Failed deliveries are automatically retried up to 4 times
What You Can Do with the API
The resources you can access are separated by OAuth scope. Below are representative examples. For the complete list of scopes, see the OAuth scopes reference.
| Category | Main operations | Representative scopes |
|---|---|---|
| Products & inventory | Read and update product master, SKUs, and stock levels | store.products.* store.inventory.read |
| Orders | Read order data, update status | store.orders.* |
| Customers & CRM | Read customer data and segments | store.customers.read crm.profiles.read |
| Coupons | Create, update, and read coupons | store.coupons.* |
| Store flyers | Create and publish flyers | store.flyers.* |
| SNS & analytics | Read SNS posts, audience, and analytics data | sns.* analytics.read |
| User (review required) | An individual user's receipts, spending, and favorite stores | user.* |
What You Can Do with Webhooks
Subscribe to events on ReceiptRoller and process them in real time in your external system.
- Receipt issued event — the moment a checkout completes at the POS and a digital receipt is issued, a notification is sent to your server
- Receipt updated event — notified when a receipt's state changes due to a refund, cancellation, and so on
- Order event — notified on a new order or a status change (store-facing)
For implementation considerations such as signature verification, retries, and idempotency design, see the store-facing Webhook guide.
Common Use Cases
| What you want to do | Method to use | Related guide |
|---|---|---|
| Send receipt data to my own server when a checkout completes at my store | Webhook + Store API | Store-facing guide |
| Show a user all of their receipts across every store in my own wallet app | OAuth + User API (review required) | Wallet app guide |
| Sync product master and inventory from an external inventory management system | Store API (batch) | — |
| Visualize a store's SNS posting performance in an internal BI tool | SNS / Analytics API | — |
| Embed an in-store survey into a digital receipt and aggregate the responses | Survey API + Receipt embed | Survey API guide |
About SDKs and Client Generation
We don't provide language-specific SDKs. Instead, we publish the definitions of all endpoints as a machine-readable specification in OpenAPI (Swagger) format.
https://receiptroller.io/openapi/v1.json
Pass this URL to an AI coding assistant, or feed it into a code-generation tool such as openapi-generator, NSwag, or Kiota, to automatically generate a typed API client. There's no need to wait for an SDK.
If you implement by hand, a combination of your language's standard HTTP client and an OAuth 2.0 library is all you need.
- JavaScript / TypeScript:
fetch,axios,openid-client - Python:
requests,requests-oauthlib,authlib - .NET:
HttpClient,IdentityModel - Ruby / PHP / Go: your language's standard library + an OAuth 2.0 client
Steps to Get Started
- Create a ReceiptRoller account
- Submit a developer application and get approved
- Register an application in the developer portal and set the client ID, client secret, and redirect URL
- Specify the OAuth scopes you need and implement the authorization flow
- Call the API with the access token you obtain, or register a Webhook URL to receive events
Related Guides
-
How to read the API reference and docsExplains the structure of ReceiptRoller's developer documentation and when to use each part. Covers the four entry points — the developer help, the API top page, the Swagger-based API reference, and the developer community — and how to obtain the OpenAPI spec (openapi/v1.json) for use with AI assistants and code generators.
-
Store-facing: Guide to Issuing Digital Receipts from Your Own App and Getting Webhook NotificationsExplains how a store or brand issues digital receipts to customers from its own app and receives real-time notifications via Webhooks. Covers app registration, OAuth, Webhook setup, and signature verification.
-
Survey API and receipt embedThe ReceiptRoller Survey feature lets a store collect responses via QR / link / digital receipt embed and optionally hand back a coupon. This article covers the…
-
Available data domainsA 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.
-
OAuth Scopes Reference and AvailabilityA reference of all scopes available in the ReceiptRoller OAuth API and which kinds of apps each scope can be granted to. Also covers the review requirement for User scopes, why Store and User scopes can't be mixed, and how to use the API from a LIFF app.