Reputation: 21
I’m having trouble with my WhatsApp Cloud API setup. After several tests, it appears that outbound messages show a status of "accepted"
in the API response, but the recipient phone never actually receives them. I also never see two gray ticks in WhatsApp—only one tick.
WhatsApp Business Account (WABA) ID: <WABA_ID>
Phone Number ID: <PHONE_NUMBER_ID>
App ID: <APP_ID>
Webhook URL: https://<MY_DOMAIN>/webhook
(confirmed reachable).
When I run this command (example below), I get a 200 OK response with "message_status": "accepted"
:
bash
curl -X POST \\ "https://graph.facebook.com/v21.0/\<PHONE_NUMBER_ID\>/messages" \\ -H "Authorization: Bearer \<ACCESS_TOKEN\>" \\ -H "Content-Type: application/json" \\ -d '{ "messaging_product": "whatsapp", "to": "\<RECIPIENT_NUMBER\>", "type": "template", "template": { "name": "promo_prueba", "language": { "code": "es_MX" } } }'
API Response:
{ "messaging_product": "whatsapp", "contacts": [ { "input": "<RECIPIENT_NUMBER>", "wa_id": "521XXXX" } ], "messages": [ { "id": "wamid...", "message_status": "accepted" } ] }
Despite the "accepted"
status, the message never appears on the recipient phone. Also, when I try to send a WhatsApp message from another phone to this new Cloud API number, it only shows one gray tick (never delivered).
Webhook / Event Subscription
Confirmed subscribed_fields
are ["messages", "statuses"]
.
Webhook works for my “test” number (a Meta-provided test number), but not for this newly added business phone.
Verified the Phone Number
The Graph API shows "code_verification_status": "VERIFIED"
.
Within Meta Business Suite, I see the number listed with a status that appears connected.
Removed & Re-Added the Number
Checked for Conflicts
Outbound: “Accepted” by the API, no actual delivery.
Inbound: A different phone sending a message to this Cloud API number only gets one gray tick—never delivered.
Has anyone dealt with a partially activated or “stuck” WhatsApp Cloud API number? Any advice on what else to check?
Thanks in advance for any suggestions! Let me know if you need more logs (with sensitive info removed) or additional details.
Upvotes: 2
Views: 136
Reputation: 1
Have you set up a payment method? When you send out a message (template), your webhook will be called with the status of that message. It might contain an error indicating the issue with sending the message.
Upvotes: 0