Home / Blog / WhatsApp
WhatsAppQADevelopers

Testing WhatsApp Business API Onboarding with Real Numbers

A practical guide for teams building on the WhatsApp Business Platform — how to test number registration, Embedded Signup and verification codes without risking production numbers.

OTP Bolt Team · · 7 min read

Building on the WhatsApp Business Platform means dealing with phone numbers at every step: registering a sender, verifying it with a code, and handling the edge cases when Meta rejects or re-requests verification. Testing those steps against your production number is risky — one mistake and your live sender is stuck in a pending state. Here's how to build a safer test loop.

What needs testing

Most integrations touch four number-related flows:

  1. Adding a phone number to a WhatsApp Business Account (WABA).
  2. Verifying it with a six-digit code sent by SMS or voice.
  3. Registering the number for Cloud API messaging (setting the two-step PIN).
  4. Embedded Signup — if you are a solution partner, your customers go through the whole flow inside your app.

Each step has failure modes worth testing: a number already linked to a consumer WhatsApp account, a code that expires, a display-name review that fails, a PIN mismatch.

Choose the right kind of test number

Meta's own test number (provided in the developer dashboard) is great for sending template messages, but it can't exercise the registration and verification path. For that you need a real number that can receive SMS.

  • Temporary numbers work well for a single verification test — for example, confirming that your Embedded Signup UI shows the code screen correctly and handles a wrong code. Remember that the number won't be yours later, so don't keep a WABA you care about on it.
  • Dedicated numbers are the better choice for a long-lived staging sender. Because you keep the number for the whole term, you can re-verify after Meta asks again, rotate the two-step PIN, and run your regression suite against the same sender every week.

With OTP Bolt you can do both from one dashboard: rent a WhatsApp-ready temporary number from 200+ countries, or keep a US or Canada line under My Numbers with a persistent SMS inbox.

A staging setup that works

  1. Create a separate Meta app and WABA for staging. Never share a WABA between staging and production.
  2. Buy a dedicated number for the staging sender and verify it by SMS. The code appears in the number's inbox in your dashboard.
  3. Store the two-step PIN in your secrets manager next to the staging access token.
  4. Use temporary numbers for negative tests: a number that has never been on WhatsApp, a number in a different country, deliberately wrong codes.
  5. Automate the code read. Poll GET /api/v1/numbers/{id}/messages (dedicated) or GET /api/v1/activations/{id} (temporary) instead of copying codes by hand.

Edge cases worth a test case

  • Number already on consumer WhatsApp. Registration fails until the number is removed from the consumer app. Your UI should explain this clearly.
  • Code expired. Meta codes expire quickly; make sure your UI lets the user request a new one without restarting the flow.
  • Voice fallback. If SMS fails, Meta offers a voice call. Temporary numbers are provisioned for SMS, so test the voice path on a dedicated line with browser calling.
  • Display-name rejection. Not number-specific, but it often surfaces at the same time — check your error handling.
  • Rate limits. Repeated verification requests on the same number trigger cool-downs; space out your automated runs.

Respect the platform

WhatsApp's commerce and business policies apply to test accounts too. Use test numbers for building and verifying your integration, keep message volumes realistic, and never use rented numbers to get around a ban or to send unsolicited messages. That keeps your staging environment healthy and your production sender's quality rating safe.

Summary

  • Meta's test number covers messaging, not registration.
  • Use a dedicated number for a persistent staging sender and temporary numbers for negative tests.
  • Automate code collection through the OTP Bolt API.
  • Cover expiry, consumer-account conflicts and voice fallback in your test plan.
Ready when you are

Your next OTP is one click away.

Create a free account, top up from $5 and receive your first code in under a minute.