Using the Sales API
An overview of ReceiptRoller's Sales API (/api/v1/sales/*) and how to filter by business account, store, POS terminal, and period. A getting-started guide covering the actual response structure (the KpiValue nested type) through averageTicket and the 8-hour token lifetime, for building a sales dashboard in an Android/iOS mobile app or server integration.
Setting the redirect URL
Explains the role of the redirect URI (callback URL) you set in the ReceiptRoller developer portal, the registration rules, using development vs. production environments, and common errors and how to handle them.
Using the Store App Content API (News, Pages, and Business Info)
A guide to /api/v1/apps/{shopId}/*, used to fetch store app content (news, pages, app manifest, business info, and membership card config). Explains that shopId is the same as the business account ID, the difference between business-account-level content and store-level content, and how authentication is handled.
How to register a Webhook
Explains how to register a Webhook endpoint in the ReceiptRoller developer portal, how to choose subscribed events, test delivery, using multiple endpoints, and how to delete or pause an endpoint.
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.
Using the in-store media display API (Display API)
An overview of ReceiptRoller's in-store Android display API (/api/v1/displays/*) and the steps for pairing, heartbeat, playlist retrieval, and impression reporting. An introductory guide for building an app that plays a media loop on an Android kiosk or in-store signage device.
Obtaining and refreshing an access token
Explains how to obtain the access token and refresh token used with the ReceiptRoller API, their expiry, the refresh procedure, and what to do on errors.
What is application registration
Explains the concept of ReceiptRoller application registration. Registering an app as an OAuth client issues a client ID, secret, and redirect URI, letting you start API and Webhook integrations.
app_not_approved is returned for User-scope calls
What to check when using a User-scope results in an app_not_approved error. Explains development with a sandbox slot, applying for review, and the flow from sandbox to production.
Declaring your purpose of use and connections (POS / e-commerce / analytics, etc.)
Explains the meaning of the "purpose of use" and "connection category" (POS / e-commerce / analytics / CRM / OMS / WMS / SNS / other) declared when registering an app in the ReceiptRoller developer portal, how to choose them, cautions when changing them, and the relationship to User-scope review.
Posting a Question to the Community
Explains how to post a question to the developer community, and the review-approval and notification-email flow after posting.
Using the Transactions API (POS + OMS unified feed)
ReceiptRoller's Transactions API is a read-only API that unifies register sales (PosTransactions) and order-management orders (OmsOrders) into a single feed. It is the entry point for showing "all of a business account's transactions" as a list in an Android / iOS app.
Designing resends, ordering, and idempotency
Explains ReceiptRoller's Webhook resend policy, why delivery order is not guaranteed, implementing idempotency with event_id, handling dead letters, and common anti-patterns.
Rotating and safely storing secrets
Explains the rotation plan for safely operating ReceiptRoller client secrets and Webhook secrets, how to use the old/new parallel period, and best practices for storage.
Representative API examples
Introduces, as curl commands, examples of calling the representative ReceiptRoller API endpoints (retrieving receipts, listing stores, creating products, registering Webhooks).
Contacting support (technical integration)
Explains the types of support available to ReceiptRoller developers, a checklist to run before contacting support, and a template of the information to attach so issues get resolved efficiently.
403/401 is returned (permissions and scopes)
How to isolate the cause when an API call returns 401 or 403. Explains the typical cases: invalid token, insufficient scope, no store access permission, and User-scope review not passed.
Best practices for production operation
Explains best practices for running a ReceiptRoller integration app in production — environment separation, monitoring, deployment, incident response, and keeping documentation in order.
The basics of requests and responses (JSON)
Explains the request format, required headers, response structure, pagination, filtering, and date/time format rules of the ReceiptRoller API.
Cannot obtain a token (authentication error)
How to isolate the cause when you cannot obtain an access token. Explains the representative errors — invalid_client, invalid_grant, redirect_uri_mismatch — and what to do about them.