Most WhatsApp API setups do not fail because the idea is hard. They fail on small things: a token that quietly expires, a webhook that verifies but never receives anything, a phone number still tied to the regular app. If you are a developer about to connect your product to WhatsApp, doing the steps in the right order saves hours. Here is the path in plain language.
What You Need Before You Start
- A Meta business portfolio where you are an admin.
- A Meta developer account.
- A phone number that is not registered on WhatsApp or the WhatsApp Business app, and can receive an SMS or voice call.
- An HTTPS webhook endpoint with a valid TLS certificate. ngrok is handy for local development.
- Verification documents for Meta business verification, needed when you go live.
The full WhatsApp Cloud API setup guide from Get Click Media includes code and cURL examples for every step below.
Good News: You Can Build Before You Are Verified
Meta’s test number lets you build and test before business verification is complete. Verification only gates going live on your own number, and the test number can send to up to five allowed recipients. The technical setup can be done in a day. Going live usually takes three to five business days, because business verification and template approval each take one to three days. They can run in parallel, so start both early.
The Seven Steps
- Create a Meta app and connect a WABA. Create a Business-type app, add the WhatsApp product and note the WABA ID.
- Generate a System User token. Assign the app and WABA to a System User with the Admin role, set expiry to Never and grant the messaging and management permissions.
- Register your phone number. Verify it by SMS or voice, then register it for Cloud API use with a two-step verification PIN. Once it is on the Cloud API, it cannot be used in the WhatsApp apps.
- Subscribe the app to the WABA. Without this, no webhook events arrive.
- Build and verify the webhook. Handle the GET handshake, check the signature on the raw request body and subscribe to the messages field.
- Create a message template. Choose Marketing, Utility or Authentication, then wait for the APPROVED status before sending.
- Send a test message. Confirm that status events and replies reach your webhook.
Three Mistakes That Waste the Most Time
- Using the temporary token in production. The token in the App Dashboard expires after about 24 hours, which is a common cause of sudden 401 errors. Use a System User token instead.
- Skipping the subscription step. If your webhook verifies but nothing arrives, the app is probably not subscribed to the WABA, or the messages field is not subscribed.
- Checking the signature on re-serialised JSON. Compute the HMAC-SHA256 on the raw body, using the correct App Secret, or every POST will fail the check.
Templates and the 24-Hour Window
Messages that start a conversation outside the 24-hour customer service window must use an approved template. Meta can recategorise or reject a template whose content does not match its category, so write the text honestly for the category you choose. A template send can also fail for a simple reason, such as the wrong language code or the wrong number of parameters.
A Quick Go-Live Checklist
- Status events and inbound replies both reach your webhook.
- Your code handles the 24-hour window correctly.
- The display name is set, and errors are logged.
- Duplicate webhook deliveries are de-duplicated on the message or status ID.
A Few Things to Keep in Mind
If sends start failing after many have succeeded, you may have reached a messaging limit or throughput cap. Meta has sunset the On-Premises API, so new builds should use the Cloud API. And the template category decides pricing, so confirm current rates with your provider before you plan a budget.
Not a Developer? You Have Options
If you would rather not build the integration in-house, a managed service can handle onboarding for you. Get Click Media offers WhatsApp Business API alongside RCS, bulk SMS, OTP, voice and IVR and more, so you can keep your messaging in one place.
Final Thoughts
A reliable WhatsApp integration comes down to a good order of operations: test first, use the right token, subscribe the app and keep your templates honest. Follow the steps, run the checklist and you will be sending in days, not weeks. Treat every timeline as a guide rather than a promise, because verification and template approval depend on Meta’s review. For the complete walkthrough with code, read the Cloud API setup guide, and see the full range of services on the Get Click Media website.
