Test and live
| Key prefix | Behaviour |
|---|---|
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.