developers
ES Sign up

Get started

Sandbox

Try the API without connecting your own number. Your WhatsApp joins the heysteff shared number and an sk_test_ key sends messages to it there. Your replies reach your webhooks like any other message.

Join your WhatsApp#

In the panel, under Developers, you will find your workspace code (shaped like DEV-K7Q2MX) and a button that opens WhatsApp with the message already written. Send it from the phone you want to test with. You get a welcome message once you join.

You can join up to 5 phones per workspace. When a sixth joins, the oldest one leaves. To leave, send SALIR to the sandbox number.

Create a test key#

From the same panel, or in Settings → Developers → API keys by checking Test key. It starts with sk_test_ and only has three scopes: messages:write, conversations:read and conversations:write (hand off to a person, pause the bot and resolve, only on sandbox conversations). Everything else (contacts, campaigns, events, payments) works on the workspace's real data and returns 403 test_key_not_allowed.

Send your first message#

The same POST /v1/messages as always. You do not need channel_connection_id: a test key always sends through the sandbox number.

curl
curl https://app.heysteff.com/api/v1/messages \
  -H "Authorization: Bearer $HEYSTEFF_TEST_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "channel": "whatsapp_cloud",
    "to": "+56912345678",
    "content": "Hello from the heysteff sandbox"
  }'

The response includes "sandbox": true. With the same key, GET /v1/conversations and GET /v1/conversations/{id}/messages only return sandbox conversations.

Limits#

When you want to write to customers, connect your number in Settings → Channels and use an sk_live_ key.

Sandbox errors#

CodeHTTPWhat happened
sandbox_not_a_member422That phone has not joined the sandbox.
sandbox_window_closed422More than 24 hours since that phone's last message.
sandbox_template_not_allowed422You sent a template.
sandbox_whatsapp_only422The channel is not whatsapp_cloud.
sandbox_daily_cap_reached429The workspace reached today's cap.
sandbox_sandbox_unavailable503The sandbox number is not available.
test_key_not_allowed403That operation is not available with a test key.