Use Your Own Numbers
Send test messages to phone numbers you control. This lets you verify delivery, formatting, and opt-out handling without affecting real contacts.Leverage the Free Tier
Every account includes 500 free messages per month. Use this allowance for integration testing before committing to paid volume.Use a Sandbox API Key
Create a key in Dashboard > Settings > API Keys with Sandbox mode enabled — its value begins withtrk_test_, and every send made with it is simulated instead of delivered. The partner key-mint endpoint issues live keys only, so provision sandbox keys from the dashboard. Label the key clearly (e.g., “Development - Sandbox”) so it’s easy to:
- Revoke it without affecting production keys
- Keep test traffic out of billing and message history — sandbox sends are never billed and are not recorded
- Prevent accidental production sends from development environments
Test Opt-Out Flow
Verify that STOP keyword handling works correctly. This requires a live key — a sandbox send is never delivered or recorded, so it can’t complete the flow below:- Send a test message to your own number with a live key
- Reply with
STOP - Confirm the contact is marked as unsubscribed in the dashboard
- Attempt to send another message — it should be blocked
- Reply with
STARTto re-subscribe (if your account supports it)
opted_out outcome without a live send, send to +15005550103 with a sandbox key. See Sandbox Mode for the simulated response and the webhook event it fires.
Test Webhooks
Use a webhook inspection tool to verify event delivery before building your handler:- Set up a temporary endpoint using a service like webhook.site or RequestBin
- Register that URL as an account webhook endpoint with Create Endpoint and store the signing secret it returns
- Send a test message using a sandbox API key and verify you receive the event, with
sandbox: trueon the envelope’sdataobject - Check that the
X-Trackly-Signatureheader is present
Per-list Delivery Forwarding webhooks configured in the dashboard are a separate system: they carry your shared secret in the
X-Webhook-Secret header, are not HMAC-signed, and do not receive sandbox events. See Webhook Events for that format.X-Trackly-Signature header carries t=<timestamp>,v1=<hex_signature>, where the signature is an HMAC-SHA256 of {timestamp}.{body} keyed with the endpoint’s signing secret. See Webhook Signing & Verification for the full procedure, including the rotation header.
Test Bulk Operations
Start with small batches before scaling up:- 5 contacts — verify the request format and response structure
- 50 contacts — check partial failure handling (include one invalid number)
- 500 contacts — validate performance and error handling at moderate scale
Test Checklist
- Single message sends and receives successfully
- Bulk send handles partial failures correctly
- Webhook events are received and verified
- STOP keyword triggers unsubscribe
- Error responses are parsed and handled
- Transient error (5xx) retry logic works
- Link tracking redirects correctly (if using offers)
- Contact creation and journey enrollment works
Next Steps
Going to Production
Launch your integration
Error Codes
Handle all error scenarios