Sandbox & test environment¶
The sandbox isn't a separate environment with different URLs. It's a curated Revento organization with a pre-seeded test event that lives on the same production endpoints as everything else. You request access from your account contact and get added as an organizer.
How it works¶
- Same OAuth + API + webhook endpoints as production
- Same
client_id/client_secretfor your integration regardless of test or production usage - What changes between test and production is which event you connect to: the Revento sandbox org's test event for testing, your real customer's event for production
| All usage | |
|---|---|
| OAuth base | https://auth.revento.example/oauth/... |
| API base | https://api.revento.example/api/v1/... |
| Test data | Pre-seeded in the Revento sandbox org |
| Reset | Sandbox org's test event resets weekly + on-demand |
Getting access¶
- Email your Revento contact with: integration name, what it does, who's building it
- We register your integration and reply with
client_id+client_secret+ (if you declared webhook event types) the webhook signing secret - We add your account (or your developer's account) as an organizer on the Revento sandbox org's test event
- You connect your integration to that event via the normal OAuth flow and exercise the contract against pre-seeded data
The same credentials work for production — when a real customer connects your integration to their event, you authenticate identically. The only difference is which event your token is bound to.
What's in the sandbox org¶
The Revento sandbox organization is verified as formal (so integration authorization is permitted). It hosts test events with realistic seed data:
- 30+ participants per event (mix of
pending,approved,rejected,revision_requestedapplication statuses) - Programs with several days × multiple threads × 8-12 activities per thread
- Locations / venues / buildings / floors
- Custom application form fields (
favorite_track,dietary_notes,arrival_day) - A few registration waves at various lifecycle stages
- Roles defined for the org
Plenty to exercise pagination, scope variations, and edge cases without affecting real customer data.
Triggering events for testing¶
Most webhook event types fire when you do the corresponding action in the sandbox event:
- Approve an application →
application.approved - Publish a draft event →
event.published
A few are harder to trigger naturally:
integration.suspended/integration.unpublished→ contact us; we'll trigger them for your test integration on request.user.revoked_access→ sign in as a test participant who's previously authorized your integration, go to "Settings → Connected apps", revoke.
Webhook delivery to your endpoint¶
Sandbox webhooks deliver to whatever URL you registered. Common dev patterns:
- localhost via tunnel (
ngrok,cloudflared,localtunnel) — fastest dev iteration; register the tunnel URL - Staging environment — point webhooks at your staging deploy
- Webhook capture service (
webhook.site,requestbin) — inspect payloads without writing handler code
Sandbox webhook deliveries have identical shape to production: same headers, same signing, same retry curve.
Differences from production usage¶
Functionally none — same contract, same endpoints, same credentials.
Practically:
- The sandbox org's test event resets weekly (Monday 02:00 UTC); any data you change in it goes back to seed state. Your installed integration's token survives the reset.
- The sandbox org doesn't process real payments, send real emails, or fire real notifications to participants.
- You can ask for an on-demand reset by emailing your account contact.
That's the entire list. If you encounter something that's "different in sandbox," that's a bug — please report.
When to go beyond the sandbox¶
Your developer's own org's draft event works just as well as a sandbox. If your team already has a Revento organization, create a draft event there with fake data and test against it — the OAuth flow, API endpoints, and webhook deliveries work identically. The Revento-curated sandbox org is a convenience for publishers who don't have their own org or want a neutral baseline.
You can also (at your own risk) connect your integration to a real production event with real participants while still iterating on your code. Nothing prevents it. Just be careful.