Best practices for production operation
Production operation
Best practices
Monitoring
Deployment
Who this article is for
Practical guidance for teams that want to run a ReceiptRoller integration app stably in production.
Practical guidance for teams that want to run a ReceiptRoller integration app stably in production.
Split into three environments
| Environment | Purpose | RR app |
|---|---|---|
| Production | Real customers / real stores | Production app |
| Staging | Pre-release verification | Staging app |
| Development | Day-to-day development / testing | Development app (a per-person app is fine) |
Separate secrets, databases, and URLs completely.
Monitoring (minimum)
- API call success rate: alert below 99%
- Rate-limit hit rate: alert at 1% or higher
- Webhook receive success rate: alert below 99%
- Token refresh failures: immediate notification
- Signature verification failures: alert if they occur continuously
- Processing-queue backlog: alert when it exceeds a threshold
Deployment
- Automated tests in CI: type checks, unit tests, API contract tests
- Canary: roll out a new version to a subset of traffic first
- Rollback plan: revert to the previous version with a single command
- Migration strategy: release DB schema changes in two steps (add → remove)
- Feature flags: deploy new features OFF, and switch them ON in production
Following ReceiptRoller-side versions
- Subscribe to "Announcements"
- Log the
Sunset/Deprecationheaders and get notified - Review your use of deprecated APIs in a monthly review
- When a new API version is released, verify it in staging first
The basic structure of incident response
- Detection: a monitoring alert fires
- First move: the on-call responder starts within 15 minutes
- Identify the scope of impact: what is broken for whom
- Temporary mitigation: rollback, feature disable, manual handling
- Communication: notify the affected stores / users
- Permanent fix: fix the root cause
- Retrospective: a postmortem (improvement, not blame)
Keep documentation in order
- Runbook: response steps for common incidents
- Architecture diagram: the connection points with ReceiptRoller
- Contacts: ReceiptRoller support desk, internal team contacts
- List of environment variables: what value, and where it comes from
- Recovery steps: DB restore, deploy rollback, secret regeneration
Test accounts and test data
- For E2E tests that involve production access, use a dedicated test store and test user
- Make test credit card numbers and test email addresses constants
- As a rule, do not test with production data (risk of handling personal information)
Related guides
Published: 2026-04-27
Updated: 2026-07-05
Category
Tags
API (22)
OAuth (15)
Android (10)
iOS (9)
Webhook (6)
Troubleshooting (5)
api (5)
App registration (4)
POS Integration (4)
Reference (4)