Sandbox
Test iMessage for free on Zernio's shared sandbox line before ordering a sender: inbound, replies, inbox and webhooks with your own phone
The sandbox lets you try iMessage end to end without ordering a sender. You message Zernio's shared sandbox line from your own phone or Apple ID, and those messages reach your inbox and your message.received webhooks exactly as they would on a sender of your own. Use it to check the integration and the latency before you buy.
Set it up
- Add your phone number or Apple ID email as a sandbox contact, in the dashboard (iMessage page, "Try iMessage free on our sandbox line") or with
POST /v1/imessage/sandbox/contacts:
{ "handle": "+15551234567" }- The contact starts as
pending. From that phone or Apple ID, send itsjoinText(for exampleJOIN 4821) to the sandbox line. The response'sjoinLink, and the QR code in the dashboard, open Messages with the text already filled in. - When the code arrives the contact turns
active. Every message you send to the sandbox line from then on lands in your inbox, and fires your webhooks, on the sandbox account.
The handle has to be the one your device starts new conversations from (iPhone: Settings > Apps > Messages > Send & Receive; Mac: Messages > Settings > iMessage), or the code arrives from a different address and the contact stays pending.
GET /v1/imessage/sandbox/contacts returns the sandbox line (handle), the sandbox accountId and your contacts with their status.
Reply
Reply from the inbox, or with POST /v1/inbox/conversations/{conversationId}/messages using the sandbox accountId. The conversationId comes from the message.received webhook or from listing the sandbox account's conversations. Each user sees only their own sandbox conversations.
Limits
| Rule | Value |
|---|---|
| Contacts | Up to 5 per user. A phone or email can be on one list at a time; a contact not activated within 24 hours can be claimed by someone else |
| Who you can message | Only your own active sandbox contacts |
| Reply window | 24 hours after the contact's last message; each new message from the contact reopens it |
| Starting conversations | Not supported: the contact always writes first |
| Group chats | Not supported |
| Content | No verification codes, prices or marketing content |
| Volume | 50 messages a day per user |
| Cost | Free. The sandbox is not billed and does not count as a connected account |
A send outside these rules returns 403 with the reason. The sandbox is for testing only; do not use it for production traffic or for messaging anyone but yourself. Access can be revoked for misuse.
When you are done
Remove your contacts with DELETE /v1/imessage/sandbox/contacts/{contactId} or the trash icon in the dashboard. Removing a contact deletes its sandbox conversation, and messages from that handle to the sandbox line are no longer delivered to you. To go to production, order a sender: it has no reply window, can start conversations within the new-contact rules, and supports groups.