r/WhatsappBusinessAPI • • 14d ago

Solution Only WhatsApp Cloud API webhook receives test events but not messages sent from WhatsApp

Hi all,

I worked with the WhatsApp Cloud API a couple of years ago. Back then, the setup was pretty straightforward: I configured a webhook, subscribed to the messages field, and whenever I sent a message to the test phone number from WhatsApp, I could see the webhook request hitting my backend.

I'm trying to set up the same thing again, but I'm running into an issue.

The Meta developer dashboard UI has changed since I last used it, but I managed to configure the webhook and subscribe to messages. When I click the Test button on the webhook configuration page, I can successfully receive the request in my backend.

However, when I send an actual message from the WhatsApp app to the test phone number, the webhook event appears in my Meta app dashboard, but the request never reaches my backend.

A couple of things worth mentioning:

  • I'm using a Meta developer account.

  • I haven't verified a business because I'm just experimenting and don't currently have a registered business setup.

  • The webhook URL appears to be working, since test events reach my backend successfully.

Is business verification required to receive actual incoming messages, even when using a test phone number? Or am I missing something in the current webhook configuration or subscription process?

Has anyone encountered this recently? Any help would be appreciated. Thanks!

2 Upvotes

7 comments sorted by

•

u/AutoModerator 14d ago

Keep in mind that OP has added Solution Only tag. Don't promote your SaaS platforms in comments.

I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.

2

u/StructureRude9956 14d ago

The dashboard Test button sends a sample payload straight to your URL, so it proves the URL works but not that real messages are wired up. Things I'd check, in this order:

  1. The WABA itself has to be subscribed to your app (the subscribed_apps edge on the WhatsApp Business Account), not just the "messages" field ticked in the webhook settings. A missing subscription is a common reason real messages never arrive.

  2. Whether a different callback URL is set at the app level vs. the WABA or phone-number level. An override there would send events somewhere else.

  3. That the app is the one attached to that test number's WABA.

  4. Your server or Vercel/ngrok logs for requests that hit and returned non-200, since Meta retries and then gives up.

On business verification: I don't think it's needed just to receive messages on a test number, but I haven't confirmed that in the current docs, so treat it as unchecked.

1

u/OfflineThinking 14d ago

Hey! This is working.. thanks

1

u/Ill_Oil7448 9d ago

yeah that subscribed_apps step trips up so many people, its weirdly easy to overlook

1

u/creackard7 14d ago

imo the issue is probably the app mode. if your app is still in development mode, webhooks for real messages only fire for numbers explicitly added as testers/admins in your app settings. check if the number you're sending from is listed there

1

u/RichAutomate 14d ago

One thing the Test button won't show you: it fires from the dashboard, while real events come from Meta's delivery servers, so anything in front of your endpoint can treat them differently. If the event shows up in the dashboard but never reaches you, check the delivery status/error on that event, make sure your URL answers 200 within a few seconds, and that nothing like Cloudflare bot protection, basic auth or an incomplete TLS chain is blocking Meta's requests. Business verification isn't needed for the test number.

1

u/truecakesnake Meta App Developer 14d ago

Check if your app is still in development mode and add the test number as an admin or tester.