{"id":766,"date":"2026-10-29T13:24:37","date_gmt":"2026-10-29T13:24:37","guid":{"rendered":"https:\/\/vectalk.com.br\/blog\/whatsapp-api-message-not-delivered\/"},"modified":"2026-10-29T13:24:48","modified_gmt":"2026-10-29T13:24:48","slug":"whatsapp-api-message-not-delivered","status":"publish","type":"post","link":"https:\/\/vectalk.com.br\/blog\/en\/whatsapp-api-message-not-delivered\/","title":{"rendered":"WhatsApp API message sent but not delivered: a troubleshooting checklist"},"content":{"rendered":"\n<p><em>Updated on October 29, 2026<\/em><\/p>\n\n\n\n<p>When the WhatsApp Business API accepts a message but it never arrives, the answer is in the status webhook: either the message is stuck at <code>sent<\/code> (it left Meta&#8217;s servers but never reached the device) or it ended as <code>failed<\/code> with an error code. In the first case, the usual causes are a customer who stayed offline, a customer who blocked your number, or a restricted country; in the second, the code tells you what happened and whether a retry makes sense. Meta only charges for delivered messages, so a message that never arrived is not billed.<\/p>\n\n\n\n<p>This checklist starts from the symptom you see in your system and ends with an action. For the full code reference, see our guide to <a href=\"https:\/\/vectalk.com.br\/blog\/en\/whatsapp-api-error-codes\/\">WhatsApp API error codes<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 1: confirm the API accepted the message<\/h2>\n\n\n\n<p>Before talking about delivery, check the synchronous response from the send call. If it returned an <code>error<\/code> object, the message never left: the problem is the token, a parameter, the template or a rate limit, not delivery. If it returned <code>200<\/code> with a <code>wamid<\/code>, the message was accepted:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-json\">{\n  \"messaging_product\": \"whatsapp\",\n  \"contacts\": [{ \"input\": \"5511999999999\", \"wa_id\": \"5511999999999\" }],\n  \"messages\": [{ \"id\": \"wamid.HBgLNTUxMTk5OTk5OTk5...\" }]\n}<\/code><\/pre>\n\n\n\n<p>Store that <code>wamid<\/code>. It is how you match each status event to the original message. Without it in your database, troubleshooting becomes guesswork.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 2: read the status in the webhook<\/h2>\n\n\n\n<p>From here on, everything arrives through the <code>messages<\/code> webhook, in the <code>statuses<\/code> array. Meta&#8217;s <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/webhooks\/reference\/messages\/status\" target=\"_blank\" rel=\"noreferrer noopener\">status webhook reference<\/a> defines five values:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Status<\/th><th>What Meta says<\/th><th>What it means for troubleshooting<\/th><\/tr><\/thead><tbody><tr><td><code>sent<\/code><\/td><td>The message left Meta&#8217;s servers<\/td><td>Accepted and dispatched, but not on the device yet<\/td><\/tr><tr><td><code>delivered<\/code><\/td><td>Delivered to the user&#8217;s device<\/td><td>It arrived; from here it is billable<\/td><\/tr><tr><td><code>read<\/code><\/td><td>Displayed in an open chat on the device<\/td><td>Read (only counts as read if it was delivered)<\/td><\/tr><tr><td><code>played<\/code><\/td><td>First playback of a voice message<\/td><td>Voice messages only<\/td><\/tr><tr><td><code>failed<\/code><\/td><td>Failed to send or deliver<\/td><td>Check the <code>errors<\/code> array<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Two details prevent false alarms. First, if the user reads the message right away, Meta may skip the <code>delivered<\/code> webhook, because <code>read<\/code> already implies delivery. So &#8220;no delivered event&#8221; does not mean &#8220;not delivered&#8221; when there is a <code>read<\/code>. Second, if no webhooks arrive at all, you have a different problem: review the setup in our guide to <a href=\"https:\/\/vectalk.com.br\/blog\/en\/whatsapp-api-webhooks\/\">WhatsApp API webhooks<\/a> before blaming delivery.<\/p>\n\n\n\n<p>Our article on <a href=\"https:\/\/vectalk.com.br\/blog\/en\/whatsapp-api-message-status-webhook\/\">message status via webhook<\/a> shows how to store these events. Here we focus on what to do when they reveal a problem.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 3: message stuck at <code>sent<\/code><\/h2>\n\n\n\n<p>This is the most confusing case: no error, but no <code>delivered<\/code> either. Meta&#8217;s <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/support\" target=\"_blank\" rel=\"noreferrer noopener\">Cloud API support page<\/a> lists the common causes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>The customer did not come online.<\/strong> Meta holds messages for offline users for a 30-day window. If the device does not connect within that time, the message is not delivered.<\/li>\n\n\n<li><strong>The customer blocked your business number<\/strong>, or another business phone number owned by the same business.<\/li>\n\n\n<li><strong>The customer is in a restricted or sanctioned country.<\/strong><\/li>\n\n<\/ul>\n\n\n\n<p>Meta warns that in many of these cases it will not disclose the underlying cause. So the action is the same for all three: confirm through another channel (email, SMS, a phone call) that the person can message your number, has not blocked your business and is running an updated app.<\/p>\n\n\n\n<p>What not to do: resend the same message every hour. If you were blocked, resending does not change the outcome.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 4: <code>failed<\/code> with an error code<\/h2>\n\n\n\n<p>When delivery fails, the event includes an <code>errors<\/code> array with <code>code<\/code>, <code>title<\/code>, <code>message<\/code> and <code>error_data.details<\/code>. The table below covers the codes that show up most in &#8220;I sent it and it never arrived&#8221; cases, based on <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/support\/error-codes\" target=\"_blank\" rel=\"noreferrer noopener\">Meta&#8217;s error code table<\/a>:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Webhook symptom<\/th><th>Cause<\/th><th>Action<\/th><\/tr><\/thead><tbody><tr><td><code>failed<\/code> 131026<\/td><td>Unable to deliver: number not on WhatsApp, user has not accepted the latest terms, or old app version<\/td><td>Confirm the number through another channel; do not retry in a loop. See <a href=\"https:\/\/vectalk.com.br\/blog\/en\/whatsapp-error-131026\/\">error 131026<\/a><\/td><\/tr><tr><td><code>failed<\/code> 131047<\/td><td>More than 24 hours since the customer last replied<\/td><td>Send a template. See <a href=\"https:\/\/vectalk.com.br\/blog\/en\/whatsapp-error-131047\/\">error 131047<\/a><\/td><\/tr><tr><td><code>failed<\/code> 131049<\/td><td>Marketing not delivered to keep ecosystem engagement healthy (per-user limit)<\/td><td>Wait at least 24 hours before resending<\/td><\/tr><tr><td><code>failed<\/code> 131050<\/td><td>The user stopped receiving marketing from your business<\/td><td>Do not retry; treat as an opt-out<\/td><\/tr><tr><td><code>failed<\/code> 130472<\/td><td>Not sent because the user is part of a Meta experiment<\/td><td>Do not retry; see <a href=\"https:\/\/vectalk.com.br\/blog\/en\/whatsapp-error-130472\/\">error 130472<\/a><\/td><\/tr><tr><td><code>failed<\/code> 131042<\/td><td>Payment method problem<\/td><td>Review account billing<\/td><\/tr><tr><td><code>failed<\/code> 131048<\/td><td>Sending restricted: too many previous messages blocked or flagged as spam<\/td><td>Check quality in WhatsApp Manager<\/td><\/tr><tr><td><code>failed<\/code> 131056<\/td><td>Too many messages to the same recipient in a short time<\/td><td>Wait and retry for that contact only<\/td><\/tr><tr><td><code>failed<\/code> 131000<\/td><td>Unknown error<\/td><td>Retry; if it persists, open a ticket<\/td><\/tr><tr><td><code>sent<\/code> with no <code>delivered<\/code> for days<\/td><td>Offline customer, block or restricted country<\/td><td>Confirm through another channel<\/td><\/tr><tr><td><code>delivered<\/code> and <code>failed<\/code> for the same message<\/td><td>Customer on several devices: arrived on one, failed on another<\/td><td>Treat as delivered<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Codes driven by the recipient<\/h3>\n\n\n\n<p><strong>131026<\/strong> is the generic &#8220;undeliverable&#8221;. Meta lists three causes and does not tell you which one happened: the number is not a WhatsApp number, the person has not accepted the latest Terms of Service and Privacy Policy, or they run an old version of the app. Meta&#8217;s guidance is to ask the user, through another channel, to confirm they can message your number, accept the terms and update the app.<\/p>\n\n\n\n<p><strong>131050<\/strong> is the user&#8217;s choice: they stopped receiving marketing from your business. Meta says not to retry and suggests subscribing to the <code>user_preferences<\/code> webhook to know when a user stops or resumes marketing messages.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Marketing codes<\/h3>\n\n\n\n<p><strong>131049<\/strong> is the per-user marketing template limit. Meta says that if you suspect this limit, you should wait at least 24 hours before resending, because resending sooner returns the same error. We cover it in depth in <a href=\"https:\/\/vectalk.com.br\/blog\/en\/whatsapp-error-131049-marketing-limit\/\">the per-user marketing limit<\/a>.<\/p>\n\n\n\n<p><strong>130472<\/strong> comes from a Meta experiment that withholds marketing from a very small percentage of users. It is not a bug in your code, and there is no workaround.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Codes about your account<\/h3>\n\n\n\n<p><strong>131042<\/strong> points to the payment method. Meta lists common causes such as a credit line over its limit, no payment account attached, an inactive credit line, missing time zone or currency settings, and an On Behalf Of request that is pending or declined.<\/p>\n\n\n\n<p><strong>131048<\/strong> is a quality signal: the number is restricted because too many previous messages were blocked or reported as spam. Before resending, review your content and how the list was built. Our guide to the <a href=\"https:\/\/vectalk.com.br\/blog\/en\/whatsapp-phone-number-quality-rating\/\">phone number quality rating<\/a> explains how to monitor it.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 5: rule out messaging limits and payment<\/h2>\n\n\n\n<p>Two causes live above the message level and affect everything at once.<\/p>\n\n\n\n<p><strong>Portfolio messaging limit.<\/strong> Meta&#8217;s <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/messaging-limits\" target=\"_blank\" rel=\"noreferrer noopener\">messaging limits documentation<\/a> defines the limit as the maximum number of unique recipients you can reach outside the customer service window in a moving 24-hour period. New portfolios start at 250. The limit belongs to the whole portfolio, so one number can use up the capacity of all of them. If delivery problems started in the middle of a large campaign, compare the day&#8217;s volume with your current limit in WhatsApp Manager.<\/p>\n\n\n\n<p><strong>Payment method.<\/strong> According to the <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/pricing\" target=\"_blank\" rel=\"noreferrer noopener\">pricing page<\/a>, since October 1, 2026 each phone number gets 1,000 free service messages per month. Without a payment method, Meta stops delivering service messages once that free tier is used. If support replies stopped arriving late in the month, start here.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">A simple classifier for your webhook<\/h2>\n\n\n\n<p>This Node.js snippet sorts the cases so your team does not have to open raw JSON for every complaint. It stores the latest status, handles the <code>delivered<\/code> + <code>failed<\/code> conflict and returns an action:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-js\">\/\/ Action per error code (Meta error code table)\nconst ACTION = {\n  131026: 'confirm_via_other_channel',\n  131047: 'send_template',\n  131049: 'retry_after_24h',\n  131050: 'marketing_opt_out',\n  130472: 'do_not_retry',\n  131042: 'review_billing',\n  131048: 'review_quality',\n  131056: 'wait_and_retry',\n  131000: 'retry'\n};\n\nasync function onStatus(st, db) {\n  const msg = await db.findByWamid(st.id);\n  if (!msg) return;\n\n  if (st.status === 'failed') {\n    \/\/ If delivered already arrived, the message reached at least one device\n    if (msg.deliveredAt) return;\n    const err = (st.errors || [])[0] || {};\n    await db.update(st.id, {\n      status: 'failed',\n      errorCode: err.code,\n      errorDetails: err.error_data?.details,\n      action: ACTION[err.code] || 'manual_review'\n    });\n    return;\n  }\n\n  const patch = { status: st.status };\n  if (st.status === 'delivered' || st.status === 'read') patch.deliveredAt = st.timestamp;\n  await db.update(st.id, patch);\n}<\/code><\/pre>\n\n\n\n<p>Add a daily job that lists messages stuck at <code>sent<\/code> for more than 48 hours. Those are your &#8220;offline customer or block&#8221; candidates, and the action for them is reaching out through another channel, not resending.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Are undelivered messages charged?<\/h2>\n\n\n\n<p>No. Meta&#8217;s pricing page says businesses are only charged when a message is delivered. Messages that end as <code>failed<\/code>, or stay at <code>sent<\/code>, are not billed. The 130472 experiment page is explicit too: Meta does not send the message and does not bill you for it.<\/p>\n\n\n\n<p>Failures still have an indirect cost: lots of 131026 means an outdated contact list, and lots of spam reports lead to 131048.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">How to troubleshoot with Vectalk<\/h2>\n\n\n\n<p>Vectalk is a proxy for the official Cloud API, so status events reach your webhook in the same format Meta uses, with the same codes listed above. Besides the webhook, you can query the message history through the API:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"language-bash\">curl --request GET \\\n  --url 'https:\/\/apis.vectalk.com.br\/api\/messages?status=failed&amp;direction=outbound&amp;from=2026-10-01&amp;to=2026-10-29' \\\n  --header 'Authorization: Bearer YOUR_TOKEN'<\/code><\/pre>\n\n\n\n<p>The <a href=\"https:\/\/docs.vectalk.com.br\/api-reference\/messages\/list\">List Messages<\/a> endpoint accepts <code>status<\/code> (<code>sent<\/code>, <code>delivered<\/code>, <code>read<\/code>, <code>failed<\/code>, <code>pending<\/code>), <code>direction<\/code>, a date range and <code>messageId<\/code> (the <code>wamid<\/code>), which helps when you investigate one specific complaint. With Vectalk, only delivered messages are deducted from your prepaid balance, and Meta&#8217;s charges go through Vectalk&#8217;s credit line, so you do not add a card to Meta. To get started, sign up at <a href=\"https:\/\/apps.vectalk.com.br\/register\">apps.vectalk.com.br\/register<\/a>. For the big picture, read our guide to the <a href=\"https:\/\/vectalk.com.br\/blog\/en\/official-whatsapp-api\/\">official WhatsApp API<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Frequently asked questions<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Why is my message stuck at &#8220;sent&#8221;?<\/h3>\n\n\n\n<p>Because it left Meta&#8217;s servers but never reached the device. According to Meta, the most common causes are a customer who did not come online during the 30 days the message is held, a block on your business number, and a restricted or sanctioned country.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">I got both &#8220;delivered&#8221; and &#8220;failed&#8221; for the same message. Which one is right?<\/h3>\n\n\n\n<p><code>delivered<\/code>. Meta explains this happens when the customer uses WhatsApp on several devices and the message reaches one of them but fails on another. Delivered means it reached at least one device.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Does the API tell me when a customer blocks my number?<\/h3>\n\n\n\n<p>Meta&#8217;s support page lists a block as a cause of sent-but-not-delivered messages and says Meta often does not disclose the cause. Do not count on a specific error code for it: treat a long-running <code>sent<\/code> as the signal and confirm through another channel.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Do I pay for messages that were not delivered?<\/h3>\n\n\n\n<p>No. Meta only charges for delivered messages. A message that ends as <code>failed<\/code> or stays at <code>sent<\/code> is not billed.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Should I retry automatically on errors?<\/h3>\n\n\n\n<p>Only for temporary errors such as 131000 and 131056, and with a delay between attempts. For 131026, 131050 and 130472, retrying does not help. For 131049, wait at least 24 hours.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p><strong>Official sources consulted on October 29, 2026:<\/strong> <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/support\/error-codes\" target=\"_blank\" rel=\"noreferrer noopener\">WhatsApp Cloud API error codes<\/a>, <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/support\" target=\"_blank\" rel=\"noreferrer noopener\">WhatsApp Cloud API support<\/a>, <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/webhooks\/reference\/messages\/status\" target=\"_blank\" rel=\"noreferrer noopener\">Status webhook reference<\/a>, <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/support\/experiments\" target=\"_blank\" rel=\"noreferrer noopener\">Experiments<\/a>, <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/messaging-limits\" target=\"_blank\" rel=\"noreferrer noopener\">Messaging limits<\/a>, <a href=\"https:\/\/developers.facebook.com\/documentation\/business-messaging\/whatsapp\/pricing\" target=\"_blank\" rel=\"noreferrer noopener\">Pricing<\/a>, <a href=\"https:\/\/docs.vectalk.com.br\/api-reference\/messages\/list\">List Messages in the Vectalk docs<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>From sent without delivered to failed: how to troubleshoot a WhatsApp API message that was not delivered, with a symptom, cause and action table.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[1],"tags":[],"class_list":["post-766","post","type-post","status-publish","format-standard","hentry","category-blog"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>WhatsApp API Message Not Delivered: Checklist | Vectalk<\/title>\n<meta name=\"description\" content=\"WhatsApp API message not delivered? Learn to read the status webhook, what errors 131026, 131049, 131047 and 130472 mean, and what to do in each case.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vectalk.com.br\/blog\/en\/whatsapp-api-message-not-delivered\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"WhatsApp API Message Not Delivered: Checklist | Vectalk\" \/>\n<meta property=\"og:description\" content=\"WhatsApp API message not delivered? Learn to read the status webhook, what errors 131026, 131049, 131047 and 130472 mean, and what to do in each case.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vectalk.com.br\/blog\/en\/whatsapp-api-message-not-delivered\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog Vectalk\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-29T13:24:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-29T13:24:48+00:00\" \/>\n<meta name=\"author\" content=\"wanderleyfcunha\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"wanderleyfcunha\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"9 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/en\\\/whatsapp-api-message-not-delivered\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/en\\\/whatsapp-api-message-not-delivered\\\/\"},\"author\":{\"name\":\"wanderleyfcunha\",\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/ff36ecd9d8257856f227f8e5d639db2b\"},\"headline\":\"WhatsApp API message sent but not delivered: a troubleshooting checklist\",\"datePublished\":\"2026-10-29T13:24:37+00:00\",\"dateModified\":\"2026-10-29T13:24:48+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/en\\\/whatsapp-api-message-not-delivered\\\/\"},\"wordCount\":1663,\"articleSection\":[\"Blog\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/en\\\/whatsapp-api-message-not-delivered\\\/\",\"url\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/en\\\/whatsapp-api-message-not-delivered\\\/\",\"name\":\"WhatsApp API Message Not Delivered: Checklist | Vectalk\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/#website\"},\"datePublished\":\"2026-10-29T13:24:37+00:00\",\"dateModified\":\"2026-10-29T13:24:48+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/ff36ecd9d8257856f227f8e5d639db2b\"},\"description\":\"WhatsApp API message not delivered? Learn to read the status webhook, what errors 131026, 131049, 131047 and 130472 mean, and what to do in each case.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/en\\\/whatsapp-api-message-not-delivered\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/en\\\/whatsapp-api-message-not-delivered\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/en\\\/whatsapp-api-message-not-delivered\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"WhatsApp API message sent but not delivered: a troubleshooting checklist\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/\",\"name\":\"Blog Vectalk\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/vectalk.com.br\\\/blog\\\/#\\\/schema\\\/person\\\/ff36ecd9d8257856f227f8e5d639db2b\",\"name\":\"wanderleyfcunha\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/21c37077f1731eb558973f27a7b647d55f72fde5200a843ac5f5345b247ea725?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/21c37077f1731eb558973f27a7b647d55f72fde5200a843ac5f5345b247ea725?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/21c37077f1731eb558973f27a7b647d55f72fde5200a843ac5f5345b247ea725?s=96&d=mm&r=g\",\"caption\":\"wanderleyfcunha\"},\"sameAs\":[\"https:\\\/\\\/vectalk.com.br\\\/blog\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"WhatsApp API Message Not Delivered: Checklist | Vectalk","description":"WhatsApp API message not delivered? Learn to read the status webhook, what errors 131026, 131049, 131047 and 130472 mean, and what to do in each case.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vectalk.com.br\/blog\/en\/whatsapp-api-message-not-delivered\/","og_locale":"en_US","og_type":"article","og_title":"WhatsApp API Message Not Delivered: Checklist | Vectalk","og_description":"WhatsApp API message not delivered? Learn to read the status webhook, what errors 131026, 131049, 131047 and 130472 mean, and what to do in each case.","og_url":"https:\/\/vectalk.com.br\/blog\/en\/whatsapp-api-message-not-delivered\/","og_site_name":"Blog Vectalk","article_published_time":"2026-10-29T13:24:37+00:00","article_modified_time":"2026-10-29T13:24:48+00:00","author":"wanderleyfcunha","twitter_card":"summary_large_image","twitter_misc":{"Written by":"wanderleyfcunha","Est. reading time":"9 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/vectalk.com.br\/blog\/en\/whatsapp-api-message-not-delivered\/#article","isPartOf":{"@id":"https:\/\/vectalk.com.br\/blog\/en\/whatsapp-api-message-not-delivered\/"},"author":{"name":"wanderleyfcunha","@id":"https:\/\/vectalk.com.br\/blog\/#\/schema\/person\/ff36ecd9d8257856f227f8e5d639db2b"},"headline":"WhatsApp API message sent but not delivered: a troubleshooting checklist","datePublished":"2026-10-29T13:24:37+00:00","dateModified":"2026-10-29T13:24:48+00:00","mainEntityOfPage":{"@id":"https:\/\/vectalk.com.br\/blog\/en\/whatsapp-api-message-not-delivered\/"},"wordCount":1663,"articleSection":["Blog"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/vectalk.com.br\/blog\/en\/whatsapp-api-message-not-delivered\/","url":"https:\/\/vectalk.com.br\/blog\/en\/whatsapp-api-message-not-delivered\/","name":"WhatsApp API Message Not Delivered: Checklist | Vectalk","isPartOf":{"@id":"https:\/\/vectalk.com.br\/blog\/#website"},"datePublished":"2026-10-29T13:24:37+00:00","dateModified":"2026-10-29T13:24:48+00:00","author":{"@id":"https:\/\/vectalk.com.br\/blog\/#\/schema\/person\/ff36ecd9d8257856f227f8e5d639db2b"},"description":"WhatsApp API message not delivered? Learn to read the status webhook, what errors 131026, 131049, 131047 and 130472 mean, and what to do in each case.","breadcrumb":{"@id":"https:\/\/vectalk.com.br\/blog\/en\/whatsapp-api-message-not-delivered\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vectalk.com.br\/blog\/en\/whatsapp-api-message-not-delivered\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/vectalk.com.br\/blog\/en\/whatsapp-api-message-not-delivered\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vectalk.com.br\/blog\/"},{"@type":"ListItem","position":2,"name":"WhatsApp API message sent but not delivered: a troubleshooting checklist"}]},{"@type":"WebSite","@id":"https:\/\/vectalk.com.br\/blog\/#website","url":"https:\/\/vectalk.com.br\/blog\/","name":"Blog Vectalk","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vectalk.com.br\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/vectalk.com.br\/blog\/#\/schema\/person\/ff36ecd9d8257856f227f8e5d639db2b","name":"wanderleyfcunha","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/21c37077f1731eb558973f27a7b647d55f72fde5200a843ac5f5345b247ea725?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/21c37077f1731eb558973f27a7b647d55f72fde5200a843ac5f5345b247ea725?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/21c37077f1731eb558973f27a7b647d55f72fde5200a843ac5f5345b247ea725?s=96&d=mm&r=g","caption":"wanderleyfcunha"},"sameAs":["https:\/\/vectalk.com.br\/blog"]}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/posts\/766","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/comments?post=766"}],"version-history":[{"count":1,"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/posts\/766\/revisions"}],"predecessor-version":[{"id":769,"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/posts\/766\/revisions\/769"}],"wp:attachment":[{"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/media?parent=766"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/categories?post=766"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vectalk.com.br\/blog\/wp-json\/wp\/v2\/tags?post=766"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}