Managing the client ID and client secret
Where to find the client ID and client secret, how to store them, regenerating the secret after a suspected leak, and running several environments.
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.
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.
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.
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.
PosTransactionDto specification — field reference for transaction data
A complete field reference for PosTransactionDto, the canonical model for the transaction data ReceiptRoller handles. For each category — identifiers, dates, amounts, line items, payments, staff, status, and CRM linkage — it summarizes the field names, types, meanings, and how each POS vendor populates them. A reference for developers and external-system integrators. Also referenced from the Smaregi and Square mapping articles.
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.
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.
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.
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.
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.
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.
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.
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.
Signature verification and security
How X-RR-Signature is computed, verification code for Node.js, Python and C#, guarding against replays, and how to replace a webhook secret.
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.
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.
Cannot obtain a token (authentication error)
How to narrow down a 400 or 401 from the token endpoint, with the fix for each error and error_description, including invalid_client and invalid_grant.
Using the Reservations API
How to read, create, change, move and update the status of reservations, generate slots, and read menus, settings, tables and monthly counts.
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.