<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[WABB]]></title><description><![CDATA[WABB]]></description><link>https://wabb.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Sat, 07 Nov 2026 12:24:42 GMT</lastBuildDate><atom:link href="https://wabb.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Your WhatsApp Cloud API Service Replies Are No Longer All Free: What to Check in Your Code]]></title><description><![CDATA[Meta now bills WhatsApp Cloud API service messages after the first 1,000 per number each month. See what changed and which webhook field shows it.]]></description><link>https://wabb.hashnode.dev/your-whatsapp-cloud-api-service-replies-are-no-longer-all-free-what-to-check-in-your-code</link><guid isPermaLink="true">https://wabb.hashnode.dev/your-whatsapp-cloud-api-service-replies-are-no-longer-all-free-what-to-check-in-your-code</guid><category><![CDATA[whatsapp]]></category><category><![CDATA[whatsapp-api]]></category><category><![CDATA[api]]></category><dc:creator><![CDATA[Arseny Ivanchuk]]></dc:creator><pubDate>Fri, 06 Nov 2026 10:10:51 GMT</pubDate><content:encoded><![CDATA[<p>If your software answers customers on WhatsApp through the Cloud API, part of your bill changed on 1 October 2026. Replies that used to cost nothing now cost money once a number passes a monthly allowance. Nothing in your code breaks. A number in a webhook changes, and that is the only warning you get.</p>
<p>We cover the same change for business owners in full on WABB. You can open <a href="https://wabb.in/blogs/whatsapp-new-features">What’s new on WhatsApp for business in 2026</a> and read the whole guide there, including the ad window and Meta Business Agent pricing.</p>
<p>The Cloud API is Meta's hosted version of the WhatsApp Business API: your software sends and receives messages by calling Meta's servers. Every fact below comes from Meta for Developers. Each section ends with the page and the date it was checked, because Meta changes these pages often.</p>
<h2>1. What is free now, and what is not</h2>
<p>Meta bills per delivered message, not per sent one. It charges only for messages from a business to a user. Messages from users to a business are free.</p>
<p>Each business message belongs to one of five categories: Marketing, Utility, Authentication, Service and Meta Business Agent messages. A Service message is any non-template message that the Meta Business Agent platform did not produce, for example a reply written by a person or by a third-party AI. You can send such messages only while the customer service window is open. That window lasts 24 hours and restarts every time the user writes to you.</p>
<img src="https://cdn.hashnode.com/uploads/covers/6aeae4f8871caab6b21482e7/99e269a0-540d-49d4-b03e-34b17d494850.jpg" alt="Five WhatsApp message categories; only Service messages have the monthly free tier of 1,000 per number" style="display:block;margin:0 auto" />

<p><em>Meta's five message categories; only Service messages count toward the 1,000 free messages per number.</em></p>
<p>From 1 October 2026, Meta gives each business phone number a free tier of 1,000 delivered Service messages per month. Meta starts charging with the 1,001st one. Unused messages do not roll over to the next month. The counter resets at 00:00 in the time zone of the messaging account.</p>
<p><em>Source:</em> <a href="https://developers.facebook.com/documentation/business-messaging/whatsapp/pricing"><em>Meta for Developers, "Pricing on the WhatsApp Business Platform"</em></a> <em>(updated 30 Sep 2026), checked 6 Nov 2026. Same topic on WABB:</em> <a href="https://wabb.in/blogs/whatsapp-new-features"><em>What’s new on WhatsApp for business in 2026</em></a><em>.</em></p>
<h2>2. The allowance is per number, not per account</h2>
<p>The 1,000 messages belong to each business phone number. A business with three numbers has three allowances. One number that answers a busy support line can run through its allowance in a few days, while a quiet number never gets near it.</p>
<img src="https://cdn.hashnode.com/uploads/covers/6aeae4f8871caab6b21482e7/c5d7b192-52f7-4c3d-8c75-b8c059c4cffd.jpg" alt="The free tier of 1,000 service messages per business phone number, charging from the 1,001st, and the monthly reset" style="display:block;margin:0 auto" />

<p><em>The monthly allowance as Meta describes it: free up to 1,000, charged from the 1,001st, reset every month.</em></p>
<p>Two things follow for your code:</p>
<ul>
<li>Count Service messages per phone number, not per account.</li>
<li>Reset your own counter by the time zone of the messaging account, not by UTC and not by your server clock.</li>
</ul>
<p><em>Source:</em> <a href="https://developers.facebook.com/documentation/business-messaging/whatsapp/pricing"><em>Meta for Developers, "Pricing on the WhatsApp Business Platform"</em></a> <em>(updated 30 Sep 2026), checked 6 Nov 2026. Same topic on WABB:</em> <a href="https://wabb.in/blogs/whatsapp-new-features"><em>What’s new on WhatsApp for business in 2026</em></a><em>.</em></p>
<h2>3. The webhook field that shows it</h2>
<p>Meta marks every message status webhook with a <code>pricing</code> object. For a Service message, the <code>type</code> field tells you whether it fell inside the allowance. Before 1 October 2026, every Service message in an open window had the type <code>free_customer_service</code>. The figure shows how the field reads now.</p>
<img src="https://cdn.hashnode.com/uploads/covers/6aeae4f8871caab6b21482e7/a5d85185-ac87-47e0-b829-35ba5822ff98.jpg" alt="The pricing.type value for service messages before and after 1 October 2026" style="display:block;margin:0 auto" />

<p><em>How</em> <code>pricing.type</code> <em>reads for a service message before 1 October 2026, inside the free tier, and after it.</em></p>
<p>Inside the allowance:</p>
<pre><code class="language-json">"pricing": {
  "billable": false,
  "pricing_model": "PMP",
  "type": "free_customer_service",
  "category": "service"
}
</code></pre>
<p>After the allowance is used up, the same category arrives like this:</p>
<pre><code class="language-json">"pricing": {
  "billable": true,
  "pricing_model": "PMP",
  "type": "regular",
  "category": "service"
}
</code></pre>
<p>The type changes to <code>regular</code> from the 1,001st message. If your code or your reports treat <code>free_customer_service</code> as "this message is free forever", they are now wrong for busy numbers.</p>
<p><em>Source:</em> <a href="https://developers.facebook.com/documentation/business-messaging/whatsapp/pricing"><em>Meta for Developers, "Pricing on the WhatsApp Business Platform"</em></a> <em>(updated 30 Sep 2026), checked 6 Nov 2026. Same topic on WABB:</em> <a href="https://wabb.in/blogs/whatsapp-new-features"><em>What’s new on WhatsApp for business in 2026</em></a><em>.</em></p>
<h2>4. A missing payment method now has a cost</h2>
<p>If a business has no payment method on its messaging account, Meta still delivers Service messages inside the free tier. It stops delivering them once the free tier is used up. Meta's page asks you to make sure a payment method exists in Billing Hub so Service messages keep flowing from 1 October 2026.</p>
<img src="https://cdn.hashnode.com/uploads/covers/6aeae4f8871caab6b21482e7/2e130c34-99e1-4684-a4c6-71867f189337.jpg" alt="What Meta delivers for a messaging account without a payment method: Service messages inside the free tier, none after it" style="display:block;margin:0 auto" />

<p><em>What Meta delivers without a payment method: Service messages inside the free tier, none after it.</em></p>
<p>For a bot, that means a failure tied to the calendar, not to the code: once a number has used its free tier, its replies would stop. Check the payment method before you debug the sending code.</p>
<p><em>Source:</em> <a href="https://developers.facebook.com/documentation/business-messaging/whatsapp/pricing"><em>Meta for Developers, "Pricing on the WhatsApp Business Platform"</em></a> <em>(updated 30 Sep 2026), checked 6 Nov 2026. Same topic on WABB:</em> <a href="https://wabb.in/blogs/whatsapp-api-prerequisites"><em>WhatsApp Business API Requirements: Checklist for India (2026)</em></a><em>.</em></p>
<h2>5. Exceptions worth knowing</h2>
<ul>
<li><strong>Free entry point window.</strong> When a user writes to you from an ad that clicks to WhatsApp (Android and iOS apps only), your reply opens a free window of up to 7 days. Inside it, Meta does not charge Marketing, Utility, Authentication or Service messages. Meta Business Agent messages are still charged.</li>
<li><strong>Government and non-profit organizations</strong> that Meta treats as eligible keep Service messages free after the monthly allowance, under a policy that runs to 31 December 2027.</li>
<li><strong>AI providers</strong> that build on the platform follow their own pricing policy, so the October change does not apply to them.</li>
</ul>
<img src="https://cdn.hashnode.com/uploads/covers/6aeae4f8871caab6b21482e7/1b18565d-9607-48fd-906e-e8d9939d0b92.jpg" alt="Three cases with their own rules: the free entry point window, eligible governments and non-profits, and AI providers" style="display:block;margin:0 auto" />

<p><em>The three cases that follow their own rules: the free entry point window, eligible governments and non-profits, and AI providers.</em></p>
<p><em>Source:</em> <a href="https://developers.facebook.com/documentation/business-messaging/whatsapp/pricing"><em>Meta for Developers, "Pricing on the WhatsApp Business Platform"</em></a> <em>(updated 30 Sep 2026), checked 6 Nov 2026. Same topic on WABB:</em> <a href="https://wabb.in/blogs/set-up-click-to-whatsapp-ads"><em>How to Set Up Click-to-WhatsApp Ads and Answer Every Lead</em></a><em>.</em></p>
<h2>6. A note on the marketing page</h2>
<p>Meta also publishes a pricing page for businesses. When we checked it on 6 November 2026, it still described Service messages as free and the ad window as 72 hours. The developer documentation above describes the 1,000-message allowance and a window of up to 7 days. When the two disagree, we trust the documentation, which carries the date of its last update. Meta changes prices only on the first day of a quarter and gives at least one month of notice for rate card changes, so the next possible dates are 1 January and 1 April.</p>
<img src="https://cdn.hashnode.com/uploads/covers/6aeae4f8871caab6b21482e7/8f9aaca3-9fe4-430a-8cb4-23e0ab5c3435.jpg" alt="Two Meta pages read on 6 November 2026: the pricing page for businesses says Service messages are free, the developer documentation describes 1,000 free per number" style="display:block;margin:0 auto" />

<p><em>What the two Meta pages said on 6 November 2026.</em></p>
<p><em>Sources:</em> <a href="https://developers.facebook.com/documentation/business-messaging/whatsapp/pricing"><em>Meta for Developers, "Pricing on the WhatsApp Business Platform"</em></a> <em>(updated 30 Sep 2026);</em> <a href="https://business.whatsapp.com/products/platform-pricing"><em>WhatsApp Business Platform pricing page for businesses</em></a><em>; both checked 6 Nov 2026. Same topic on WABB:</em> <a href="https://wabb.in/blogs/whatsapp-new-features"><em>What’s new on WhatsApp for business in 2026</em></a><em>.</em></p>
<h2>Checklist</h2>
<ul>
<li>Count delivered Service messages per phone number, by the messaging account's time zone.</li>
<li>Read <code>pricing.type</code> and <code>pricing.billable</code> from message status webhooks instead of assuming a category is free.</li>
<li>Make sure every messaging account has a payment method in Billing Hub.</li>
<li>Check the date on the developer page before you copy a number from a pricing page.</li>
</ul>
<p><strong>More from the same team:</strong> <a href="https://wabb.in/blogs/whatsapp-business-broadcasts">WhatsApp Business Broadcast: Lists, Limits &amp; Cost</a>, <a href="https://wabb.in/blogs/set-up-click-to-whatsapp-ads">How to Set Up Click-to-WhatsApp Ads and Answer Every Lead</a> and <a href="https://wabb.in/blogs/whatsapp-api-prerequisites">WhatsApp Business API Requirements: Checklist for India (2026)</a>.</p>
<p><em>We build WABB (</em><a href="https://wabb.in"><em>https://wabb.in</em></a><em>), a WhatsApp Business API platform. This post is not a pricing guarantee: rates and rules are Meta's and can change on the dates above.</em></p>
]]></content:encoded></item><item><title><![CDATA[Before You Call /register: A Pre-Flight Checklist for a WhatsApp Cloud API Number]]></title><description><![CDATA[Which numbers Meta accepts, why adding a number is not registering it, the 10-attempt registration cap and messaging limits.]]></description><link>https://wabb.hashnode.dev/before-you-call-register-a-pre-flight-checklist-for-a-whatsapp-cloud-api-number</link><guid isPermaLink="true">https://wabb.hashnode.dev/before-you-call-register-a-pre-flight-checklist-for-a-whatsapp-cloud-api-number</guid><category><![CDATA[whatsapp]]></category><category><![CDATA[whatsapp-api]]></category><category><![CDATA[api]]></category><dc:creator><![CDATA[Arseny Ivanchuk]]></dc:creator><pubDate>Wed, 04 Nov 2026 08:31:21 GMT</pubDate><content:encoded><![CDATA[<p>A WhatsApp Cloud API setup starts with the phone number, and Meta spreads the number rules over four documentation pages. One step is API-only and has no button in the dashboards. This checklist puts the rules in the order you meet them.</p>
<p>The Cloud API is Meta's hosted version of the WhatsApp Business API: your software sends and receives messages by calling Meta's servers. Every fact below comes from Meta for Developers. Each section ends with the page it comes from and the date it was checked, because Meta changes these pages often.</p>
<p>I work at <a href="https://wabb.in">WABB</a>, which builds on the WhatsApp Business Platform.</p>
<h2>1. Check the number before you buy or move anything</h2>
<p>A business phone number must meet four conditions:</p>
<ul>
<li>you own it;</li>
<li>it has a country code and an area code (short codes are not supported);</li>
<li>it can receive voice calls or SMS;</li>
<li>it has "scaled capabilities" (the page links to Meta's own definition of the term).</li>
</ul>
<img src="https://cdn.hashnode.com/uploads/covers/6aeae4f8871caab6b21482e7/e4007904-2e20-4127-85c8-3fa88be99a00.jpg" alt="The four conditions a number must meet and the two things that block it" style="display:block;margin:0 auto" />

<p><em>Meta's eligibility rules as a checklist: four conditions to meet and two blockers to clear first.</em></p>
<p>Two blockers are written in the same section. A number that is already in use with WhatsApp cannot be registered until that WhatsApp account is deleted. A number banned on WhatsApp must be unbanned through the appeal process first. Meta also says a registered number can still be used for calls and texts, but not with WhatsApp itself.</p>
<p><em>Source:</em> <a href="https://developers.facebook.com/documentation/business-messaging/whatsapp/business-phone-numbers/phone-numbers"><em>Meta for Developers, "Phone numbers"</em></a> <em>(updated 21 May 2026), checked 4 Nov 2026. Related guide on WABB: <a href="https://wabb.in/blogs/whatsapp-api-prerequisites">WhatsApp Business API Requirements: Checklist for India (2026)</a>.</em></p>
<h2>2. Pick a number type that can receive the code</h2>
<p>Meta rates each number type for receiving the one-time code, by SMS and by voice call.</p>
<img src="https://cdn.hashnode.com/uploads/covers/6aeae4f8871caab6b21482e7/79d45d18-4b0a-4c10-9bfa-28871aefa0b5.jpg" alt="Number types rated for receiving the one-time code by SMS and by voice" style="display:block;margin:0 auto" />

<p><em>Meta's ratings by number type. Only a mobile number is "Standard" on both channels.</em></p>
<p>A fixed line, VoIP or freephone number relies on the voice code. Meta's advice differs by type. For a fixed line it says to enable international calls and SMS, make sure the line can take incoming calls, and switch off call forwarding and IVR. For VoIP it says to confirm that the VoIP provider supports international calls and SMS.</p>
<p><em>Source:</em> <a href="https://developers.facebook.com/documentation/business-messaging/whatsapp/business-phone-numbers/phone-numbers"><em>Meta for Developers, "Phone numbers"</em></a> <em>(updated 21 May 2026), checked 4 Nov 2026. Related guide on WABB: <a href="https://wabb.in/blogs/whatsapp-api-prerequisites">WhatsApp Business API Requirements: Checklist for India (2026)</a>.</em></p>
<h2>3. Adding a number is not registering it</h2>
<p>The dashboard flows (App Dashboard, WhatsApp Manager, Meta Business Suite) add the number to your account and verify that you own it. They do not register it for Cloud API. Meta states that you can register a number only through the API: a <code>POST</code> to <code>PHONE_NUMBER_ID/register</code>. Partners that use Embedded Signup follow a separate page of the documentation.</p>
<img src="https://cdn.hashnode.com/uploads/covers/6aeae4f8871caab6b21482e7/5775bf84-71fd-4bf0-bb4f-d97362798568.jpg" alt="The order of the steps: add, verify, register through the API, check the status" style="display:block;margin:0 auto" />

<p><em>Add and verify happen in the dashboard, registration is API-only, and the status check closes the loop.</em></p>
<p>The call itself:</p>
<pre><code class="language-bash">curl -X POST 'https://graph.facebook.com/v26.0/&lt;PHONE_NUMBER_ID&gt;/register' \
  -H 'Authorization: Bearer &lt;ACCESS_TOKEN&gt;' \
  -H 'Content-Type: application/json' \
  -d '{
    "messaging_product": "whatsapp",
    "pin": "&lt;6_DIGIT_PIN&gt;"
  }'
</code></pre>
<p><em>The registration call with placeholders only. The version in the path (v26.0) is the one used on Meta's phone-number page.</em></p>
<p>Two details cost time:</p>
<ul>
<li><strong>The PIN is required.</strong> If the number has no two-step verification yet, the six digits you send become its PIN. If it already has one, you must send the existing PIN. Meta's page says the PIN is needed to change it or to delete the number, so store it. If it is lost, the API can set a new one.</li>
<li><strong>There is a cap.</strong> Meta allows 10 registration requests per number in a 72-hour moving window.</li>
</ul>
<img src="https://cdn.hashnode.com/uploads/covers/6aeae4f8871caab6b21482e7/50f090a4-3a3b-4fcc-b965-21ccc94ee524.jpg" alt="The registration cap: 10 requests, error 133016 on the 11th, blocked for 72 hours" style="display:block;margin:0 auto" />

<p><em>The eleventh request in the window returns error 133016, and the number cannot be registered for the next 72 hours.</em></p>
<p>Register in two cases: when you create the account, and after a display-name change is approved. Re-registering before approval has no effect, so wait for the <code>phone_number_name_update</code> webhook (a callback Meta sends to your server when the name change is decided).</p>
<p><em>Source:</em> <a href="https://developers.facebook.com/documentation/business-messaging/whatsapp/business-phone-numbers/registration"><em>Meta for Developers, "Register a business phone number"</em></a> <em>(updated 27 Oct 2026), checked 4 Nov 2026. Related guide on WABB: <a href="https://wabb.in/blogs/whatsapp-api-prerequisites">WhatsApp Business API Requirements: Checklist for India (2026)</a>.</em></p>
<h2>4. Confirm the status is CONNECTED</h2>
<p>A number can be added and verified and still not be usable. Meta says a number must have the status <code>CONNECTED</code> to send and receive through the API. Ask for it directly:</p>
<pre><code class="language-bash">curl 'https://graph.facebook.com/v26.0/&lt;PHONE_NUMBER_ID&gt;?fields=status' \
  -H 'Authorization: Bearer &lt;ACCESS_TOKEN&gt;'
</code></pre>
<pre><code class="language-json">{ "status": "CONNECTED", "id": "&lt;PHONE_NUMBER_ID&gt;" }
</code></pre>
<p><em>The status check and the response shape from Meta's documentation. The same status appears in WhatsApp Manager under Account tools, then Phone numbers.</em></p>
<p><em>Source:</em> <a href="https://developers.facebook.com/documentation/business-messaging/whatsapp/business-phone-numbers/phone-numbers"><em>Meta for Developers, "Phone numbers"</em></a> <em>(updated 21 May 2026), checked 4 Nov 2026. Related guide on WABB: <a href="https://wabb.in/blogs/whatsapp-api-prerequisites">WhatsApp Business API Requirements: Checklist for India (2026)</a>.</em></p>
<h2>5. Know your messaging limit on day one</h2>
<p>The limit is the number of unique WhatsApp users you can message outside a customer service window (the 24 hours that open when a user writes to you) within a moving 24 hours. Three facts matter for planning:</p>
<ul>
<li>A new Meta business portfolio, the account that holds your business assets, starts at <strong>250</strong>.</li>
<li>The limit belongs to the <strong>portfolio</strong>, not to a number. If one portfolio has several numbers, one number can use up the whole allowance.</li>
<li>You reach <strong>2,000</strong> through one of three paths. After a path is completed, Meta checks message quality and approves or denies the increase.</li>
</ul>
<img src="https://cdn.hashnode.com/uploads/covers/6aeae4f8871caab6b21482e7/26295cdb-0746-4714-b863-f55ab8f3124d.jpg" alt="The messaging limit steps from 250 to unlimited, with the paths to 2,000 and the automatic scaling rule" style="display:block;margin:0 auto" />

<p><em>The limit steps and what moves a portfolio up. Bar heights show the order, not the scale.</em></p>
<p>You can read the limit from the API with the <code>whatsapp_business_manager_messaging_limit</code> field. The older <code>messaging_limit_tier</code> field is deprecated.</p>
<pre><code class="language-json">{ "whatsapp_business_manager_messaging_limit": "TIER_250", "id": "&lt;PHONE_NUMBER_ID&gt;" }
</code></pre>
<p><em>A new portfolio's limit as the API returns it, from Meta's example.</em></p>
<p><em>Source:</em> <a href="https://developers.facebook.com/documentation/business-messaging/whatsapp/messaging-limits"><em>Meta for Developers, "Messaging limits"</em></a> <em>(updated 21 May 2026), checked 4 Nov 2026. Related guide on WABB: <a href="https://wabb.in/blogs/whatsapp-api-prerequisites">WhatsApp Business API Requirements: Checklist for India (2026)</a>.</em></p>
<h2>6. Use the test number first, and do not ship the temporary token</h2>
<p>When you follow Meta's Get Started guide, a test business number is created and registered for you, so you can send a first message before touching a real number. The access token on that screen expires quickly. For anything that stays running, the guide has you create a system user and generate a token with three permissions.</p>
<img src="https://cdn.hashnode.com/uploads/covers/6aeae4f8871caab6b21482e7/8c448740-d217-4d71-b5ab-0056aa8af477.jpg" alt="The test setup from Get Started next to the system-user token for production" style="display:block;margin:0 auto" />

<p><em>What the Get Started guide gives you, and what to replace before you go live.</em></p>
<p><em>Source:</em> <a href="https://developers.facebook.com/documentation/business-messaging/whatsapp/get-started"><em>Meta for Developers, "Get started"</em></a> <em>(updated 16 Jun 2026), checked 4 Nov 2026. Related guide on WABB: <a href="https://wabb.in/blogs/whatsapp-api-prerequisites">WhatsApp Business API Requirements: Checklist for India (2026)</a>.</em></p>
<h2>Pre-flight checklist</h2>
<ul>
<li>The number is yours, has a country and area code, and can receive a voice call or SMS.</li>
<li>It is not active on a WhatsApp account, and not banned.</li>
<li>Call forwarding and IVR are off if the number is a fixed or toll-free line.</li>
<li>The number is added and verified in WhatsApp Manager.</li>
<li><code>POST /register</code> succeeded, and the PIN is stored safely.</li>
<li><code>fields=status</code> returns <code>CONNECTED</code>.</li>
<li>You know the starting limit (250) and which scaling path you will use.</li>
<li>The production token comes from a system user, not the temporary one.</li>
</ul>
<p>More from the same team, on the WABB blog: <a href="https://wabb.in/blogs/whatsapp-api-prerequisites">WhatsApp Business API Requirements: Checklist for India (2026)</a>, and <a href="https://wabb.in/blogs/whatsapp-coexistence-business-app-api">WhatsApp Coexistence: Use the Business App and API on One Number</a>.</p>
<hr />
<p><em>Disclosure: I work at <a href="https://wabb.in">WABB</a>, a WhatsApp automation product and WhatsApp Business Platform provider. Nothing above is specific to any provider.</em></p>
]]></content:encoded></item></channel></rss>