Using the Business Hours API
A guide to ReceiptRoller's Business Hours API (/api/v1/stores/{storeId}/business-hours). Covers retrieving and updating per-day business hours, registering special business days (temporary closures and hour changes), configuring a store's workable hours (the upper bound for shift creation), and determining whether the store is currently open.
Your first API call: from app registration to listing transactions
Get a token with the OAuth authorization code flow and PKCE, confirm the business account, list its transactions, and refresh the token.
Creating a new app
How to register a developer app in a business account: the fields, how the credentials are shown, what you can do afterwards, and common stumbling points.
Guide for native mobile apps: multi-business-account access and the OAuth flow
An implementation guide for Android / iOS native apps. Turning off "bind the token to one business account at authorization time" during app registration issues a user-scoped OAuth token. With the /api/v1/me/organizations + ?organizationId= pattern, you can access multiple business accounts across the board.
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.
Account linking and merging API (token exchange, /me/identities, /account/merge)
How native apps and the LINE mini app sign in with a LINE, Apple or Google ID token, add and remove sign-in methods, and merge two accounts — the endpoints, the proof object and the error codes.
Listing business accounts, stores, and POS terminals
A guide to retrieving, via REST API, the business accounts a user belongs to, the stores under them, and each store's POS terminals, from a ReceiptRoller mobile app or server integration.
Using the Staff API
A guide to CRUD operations on the staff (employees) under a business account using ReceiptRoller's Staff API (/api/v1/staff). Supports fields compatible with Square Team Member (name kana, multiple job assignments, and the pay structure).
Using the Orders / OMS API
A guide to CRUD operations on the orders under a business account using ReceiptRoller's Orders / OMS API (/api/v1/orders). Covers creating, updating, transitioning status (confirm, process, cancel), and deleting orders, plus the flow for Android / iOS apps and server integrations.
Using the Products API
How to list, read, create, patch, replace, soft-delete and upload cover images for products with the Products API (/api/v1/products), with exact field names.
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.
Sync your product catalogue with ReceiptRoller
Build a Node.js script that reads a local CSV or JSON file, matches products by SKU, and creates or patches them through the Products API.
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.
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.
API Authentication Guide
How to authenticate with the OAuth 2.0 authorization code flow: authorize parameters, the consent screen, token exchange and revocation, errors and scopes.
Obtaining and refreshing an access token
How to obtain and refresh access tokens (8 hours) and refresh tokens (30 days), how refresh tokens rotate, and when tokens stop working.
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.
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.
Connect an AI agent to ReceiptRoller over MCP
Connect Claude as an MCP connector, then build your own MCP client with dynamic client registration, PKCE and JSON-RPC calls over HTTP.
Applying for review of User-scopes
For apps that handle general consumers' data (user.* scopes) on ReceiptRoller, this explains the review application flow, the documents to submit, the review criteria, the review period, and common reasons for rejection.