View as Markdown

Test and live

Key prefixBehaviour
fitsa_test_Writes are simulated, nothing reaches WhatsApp. Reads are real.
fitsa_live_Messages are really sent from your number.

What a test key does exactly

It travels the same path as a live key: authentication, plan check, scopes, rate limiting, body validation. It stops just before the call to WhatsApp.

{
  "success": true,
  "request_id": "req_54f2a167bd3bdab6",
  "data": {
    "simulated": true,
    "message_id": "wamid.TEST_a1b2c3d4e5f6",
    "note": "Simulated call: nothing was sent to WhatsApp."
  }
}

The identifier is prefixed wamid.TEST_: if it ever lands in a production database by mistake, it stands out immediately.

Why reads stay real

Because a developer needs to list their actual templates to build an integration. A fake list would be useless, and would force them into production just to learn their own template names.

Going live

You change the environment variable holding the key. Nothing else: same URL, same request format, same response shape.