Start with a sandbox key
- Open your project’s Sandbox area and create a sandbox API key.
- Configure your server-side integration with that key and the normal Miss Blue API origin.
- Check that the key begins with mb_sandbox_. Keep it on your server, outside browser code and source control.
- Run a simulated send and inspect the returned message and conversation records.
Exercise more than the happy path
The sandbox can simulate sent, delivered, read, reply, failed, offline, rate_limited, and timeout scenarios. Use the documented scenario controls to check how your integration updates its records and handles failures.
Test a reply that reaches the right conversation, a failed send that does not create an endless retry loop, and a timeout where your app needs to inspect the result before retrying. Sandbox fixtures let you repeat these cases without contacting a customer.
Test your webhook receiver deliberately
Register a sandbox webhook endpoint when you want to exercise your receiver. Sandbox events can make real HTTP requests to the webhook URL or status callback you explicitly provide, even though the messages are simulated.
Use a test receiver, verify signatures as documented, and check that duplicate events do not repeat business actions. Keep sandbox records separate from live customer records in your own application.
Know what the sandbox does not test
When the integration behaves correctly, switch to a live key and an accessible ready number for a controlled test with a consenting recipient. Confirm the real send, reply, and webhook flow before enabling a broader workflow.
- It does not contact real recipients, place live calls, purchase numbers, or bill for simulated traffic.
- It does not test Apple device behavior or actual delivery and playback of media. Uploads are limited metadata fixtures.
- Sandbox data is bounded and expires after seven days, with cleanup on a subsequent request.
- Resetting the sandbox clears its fixture data and registered endpoints. Sandbox keys remain valid; register the test endpoints again when needed.