<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: botsense seo</title>
    <description>The latest articles on DEV Community by botsense seo (@botsense_seo).</description>
    <link>https://dev.to/botsense_seo</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3299795%2F272bcbdf-86f6-4d2e-8143-fb39c3571bf4.png</url>
      <title>DEV Community: botsense seo</title>
      <link>https://dev.to/botsense_seo</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/botsense_seo"/>
    <language>en</language>
    <item>
      <title>Meta Business Agent needs two webhook fields WhatsApp does not list</title>
      <dc:creator>botsense seo</dc:creator>
      <pubDate>Sat, 05 Sep 2026 07:39:52 +0000</pubDate>
      <link>https://dev.to/botsense_seo/meta-business-agent-needs-two-webhook-fields-whatsapp-does-not-list-3een</link>
      <guid>https://dev.to/botsense_seo/meta-business-agent-needs-two-webhook-fields-whatsapp-does-not-list-3een</guid>
      <description>&lt;p&gt;Meta Business Agent will not deliver you a usable record of its conversations unless your app subscribes to the &lt;code&gt;standby&lt;/code&gt; webhook and to &lt;code&gt;messaging_handovers&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Neither field appears in WhatsApp's own webhook field reference, which lists nineteen fields and was last updated on 29 April 2026.&lt;/p&gt;

&lt;p&gt;Both are documented, but under Messenger Platform, in Messenger vocabulary: page objects, Page IDs, PSIDs and postbacks. None of those exist on WhatsApp.&lt;/p&gt;

&lt;p&gt;Meta's WhatsApp changelog records Standby Webhooks documentation being added on 4 August 2026. The field list was not updated to match.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The failure is silent.&lt;/strong&gt; The agent still answers your customer. You simply stop receiving the conversation.&lt;/p&gt;




&lt;p&gt;Meta Business Agent lets a business run an AI agent that answers WhatsApp conversations autonomously. Meta names thread control among its capabilities, describing it as managing handoffs between the AI agent and human agents.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the standby webhook does, and why you need it
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;standby&lt;/code&gt; webhook field receives traffic for conversations the Meta Business Agent is handling. When the agent becomes the primary responder for a conversation, that conversation's messages stop arriving on the &lt;code&gt;messages&lt;/code&gt; field your existing integration subscribes to. They arrive on &lt;code&gt;standby&lt;/code&gt; instead. Without that subscription, the conversation happens and no record of it reaches your application.&lt;/p&gt;

&lt;p&gt;If you have not subscribed to that field, nothing errors. Your endpoint stays healthy, your existing &lt;code&gt;messages&lt;/code&gt; subscription keeps working for everything else, and the agent keeps answering your customers correctly. What you lose is the record. The conversation happens and you receive none of it.&lt;/p&gt;

&lt;p&gt;That is the shape worth naming: not a crash, not a rejected request, just an absence that looks exactly like a quiet day.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where the standby webhook is actually documented
&lt;/h2&gt;

&lt;p&gt;Meta's WhatsApp webhook reference has a Fields table listing nineteen fields, from &lt;code&gt;account_alerts&lt;/code&gt; through &lt;code&gt;user_preferences&lt;/code&gt;. &lt;code&gt;standby&lt;/code&gt; is not one of them. Neither is &lt;code&gt;messaging_handovers&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;WhatsApp's webhook field reference lists nineteen fields: &lt;code&gt;account_alerts&lt;/code&gt;, &lt;code&gt;account_review_update&lt;/code&gt;, &lt;code&gt;account_update&lt;/code&gt;, &lt;code&gt;business_capability_update&lt;/code&gt;, &lt;code&gt;flows&lt;/code&gt;, &lt;code&gt;message_template_quality_update&lt;/code&gt;, &lt;code&gt;message_template_status_update&lt;/code&gt;, &lt;code&gt;messages&lt;/code&gt;, &lt;code&gt;phone_number_name_update&lt;/code&gt;, &lt;code&gt;phone_number_quality_update&lt;/code&gt;, &lt;code&gt;security&lt;/code&gt;, &lt;code&gt;template_category_update&lt;/code&gt;, &lt;code&gt;user_preferences&lt;/code&gt;, and others through to the full nineteen. &lt;code&gt;standby&lt;/code&gt; and &lt;code&gt;messaging_handovers&lt;/code&gt; are not among them. The list was last updated 29 April 2026.&lt;/p&gt;

&lt;p&gt;Both fields do have reference documentation. It sits under Messenger Platform.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Where documented&lt;/th&gt;
&lt;th&gt;Last updated&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;standby&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Messenger Platform webhook events&lt;/td&gt;
&lt;td&gt;25 September 2024&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;messaging_handovers&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Messenger Platform webhook events&lt;/td&gt;
&lt;td&gt;14 September 2021&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;WhatsApp webhook Fields table&lt;/td&gt;
&lt;td&gt;WhatsApp Business Platform&lt;/td&gt;
&lt;td&gt;29 April 2026&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The dates are the interesting part. WhatsApp's field list is the most recently maintained of the three, and it is the one that omits them.&lt;/p&gt;

&lt;h2&gt;
  
  
  The documentation you are sent to is about something else
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;standby&lt;/code&gt; webhook reference sits under Messenger Platform, not WhatsApp Business Platform. It describes a callback that fires when a message is sent to a page while your application is not the current thread owner. The example payload opens with &lt;code&gt;"object":"page"&lt;/code&gt; and carries a &lt;code&gt;PAGE_ID&lt;/code&gt;. Postbacks, PSIDs, and page objects appear throughout. None of those exist on WhatsApp, which uses &lt;code&gt;"object":"whatsapp_business_account"&lt;/code&gt; and routes on a phone number ID. You are expected to read a Messenger reference and translate it into WhatsApp terms.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;messaging_handovers&lt;/code&gt; reference is older still, dating to 2021, and documents &lt;code&gt;pass_thread_control&lt;/code&gt; and &lt;code&gt;take_thread_control&lt;/code&gt; events carrying &lt;code&gt;previous_owner_app_id&lt;/code&gt; and &lt;code&gt;new_owner_app_id&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;This is not a claim that &lt;code&gt;standby&lt;/code&gt; is undocumented or that Meta Business Agent is broken. The feature works, Meta added Standby Webhooks documentation for WhatsApp on 4 August 2026, and providers who have implemented it handle these fields on your behalf. The gap is narrower: the canonical WhatsApp field list does not name either field, and the reference documentation they are pointed to was written for a different product.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the documentation lives where it does
&lt;/h2&gt;

&lt;p&gt;The handover protocol Meta Business Agent uses is not specific to WhatsApp. It is the thread control mechanism Messenger has used since 2021 for two applications sharing a conversation: one holds the thread, the other watches on standby, and &lt;code&gt;pass_thread_control&lt;/code&gt; and &lt;code&gt;take_thread_control&lt;/code&gt; transfer ownership between them. Meta reused that protocol rather than building a new one. The documentation predates the WhatsApp feature.&lt;/p&gt;

&lt;p&gt;The consequence for a reader: if you are implementing against WhatsApp, the authoritative description of two fields you need is written in terms of a product you are not using, and the field list for the product you are using does not mention them.&lt;/p&gt;

&lt;h2&gt;
  
  
  What messaging_handovers carries, and why you need it separately
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;messaging_handovers&lt;/code&gt; is the webhook field that fires when thread control changes — when the Meta Business Agent takes over a conversation or when your application takes it back. It carries the application that previously owned the thread and the one that owns it now. Without it, you can reconstruct a transcript but not the custody chain — which application was responsible at which moment.&lt;/p&gt;

&lt;p&gt;Treat the two as a pair. One is the content, the other is the timeline.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to check before you enable the agent
&lt;/h2&gt;

&lt;p&gt;Confirm your app is subscribed to &lt;code&gt;standby&lt;/code&gt; and &lt;code&gt;messaging_handovers&lt;/code&gt;, not only &lt;code&gt;messages&lt;/code&gt;. The App Dashboard configuration panel is where subscriptions are managed, and the absence of a field from the published list does not mean it cannot be selected.&lt;/p&gt;

&lt;p&gt;Test the failure rather than assuming it. Enable the agent, have a colleague message the number, and confirm the exchange actually arrives at your endpoint.&lt;/p&gt;

&lt;h2&gt;
  
  
  The pattern, not just this instance
&lt;/h2&gt;

&lt;p&gt;We have documented several gaps of this kind in Meta's platform documentation, and they share a shape. A mechanism is specified completely somewhere, and the one page a reader would consult does not point at it.&lt;/p&gt;

&lt;p&gt;When a feature depends on something you cannot find in the obvious place, assume the obvious place is incomplete rather than assuming the thing does not exist.&lt;/p&gt;




&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://developers.facebook.com/documentation/business-messaging/whatsapp/webhooks/overview" rel="noopener noreferrer"&gt;Webhooks, WhatsApp Business Platform&lt;/a&gt; — Fields table, 19 fields, updated 29 April 2026&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://developers.facebook.com/documentation/business-messaging/messenger-platform/webhooks/webhook-events/standby" rel="noopener noreferrer"&gt;standby Webhook Event Reference, Messenger Platform&lt;/a&gt; — updated 25 September 2024&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://developers.facebook.com/documentation/business-messaging/messenger-platform/webhooks/webhook-events/messaging_handovers" rel="noopener noreferrer"&gt;messaging_handovers Webhook Event Reference, Messenger Platform&lt;/a&gt; — updated 14 September 2021&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://developers.facebook.com/documentation/business-messaging/whatsapp/about-the-platform" rel="noopener noreferrer"&gt;About the WhatsApp Business Platform&lt;/a&gt; — Meta Business Agent capabilities&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://botsense.io/blog/meta-business-agent-standby-webhook-field-list-gap/" rel="noopener noreferrer"&gt;botsense.io&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>whatsapp</category>
      <category>webdev</category>
      <category>api</category>
      <category>meta</category>
    </item>
    <item>
      <title>Meta's Embedded Signup notice names v2. The table retires v3 too.</title>
      <dc:creator>botsense seo</dc:creator>
      <pubDate>Fri, 04 Sep 2026 08:13:21 +0000</pubDate>
      <link>https://dev.to/botsense_seo/metas-embedded-signup-notice-names-v2-the-table-retires-v3-too-4hg7</link>
      <guid>https://dev.to/botsense_seo/metas-embedded-signup-notice-names-v2-the-table-retires-v3-too-4hg7</guid>
      <description>&lt;p&gt;Meta's deprecation banner on every embedded signup page names one version: v2, ending 15 October 2026.&lt;br&gt;
The versions table on the same site retires four: v2, v3, v2-public-preview and v3-public-preview, all in October 2026.&lt;br&gt;
A partner who reads the banner and confirms they are on v3 will conclude they are safe. They are not.&lt;br&gt;
Moving to v4 is not a version string change. The extras object becomes empty and product configuration moves into a new Facebook Login for Business configuration.&lt;br&gt;
Only v4 supports Click to WhatsApp Ads, Marketing Messages API and Conversions API through login config. On v3 and v2 those read "Not supported".&lt;/p&gt;

&lt;p&gt;If you onboard WhatsApp customers through a partner platform, someone in that chain runs Embedded Signup. It is the flow where a business logs in with Facebook, picks or creates a WhatsApp Business Account, and grants your app access to it.&lt;/p&gt;

&lt;p&gt;Meta has put a deprecation notice at the top of every page in that section. It reads the same everywhere: v2 will be deprecated on 15 October 2026, migrate to v4.&lt;/p&gt;

&lt;p&gt;The notice is accurate. It is also narrower than what the versions table says, and the gap between the two is the kind that gets discovered in October.&lt;/p&gt;
&lt;h2&gt;
  
  
  What the embedded signup versions table actually says
&lt;/h2&gt;

&lt;p&gt;The versions page lists each release with the date it arrived and the date it stops being available. Four rows carry the same end date.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;VERSION&lt;/th&gt;
&lt;th&gt;INTRODUCED&lt;/th&gt;
&lt;th&gt;AVAILABLE UNTIL&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;v4-public-preview&lt;/td&gt;
&lt;td&gt;12 May 2026&lt;/td&gt;
&lt;td&gt;TBD&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;v4&lt;/td&gt;
&lt;td&gt;8 October 2025&lt;/td&gt;
&lt;td&gt;TBD&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;v3-public-preview&lt;/td&gt;
&lt;td&gt;14 August 2025&lt;/td&gt;
&lt;td&gt;October 2026&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;v2-public-preview&lt;/td&gt;
&lt;td&gt;14 August 2025&lt;/td&gt;
&lt;td&gt;October 2026&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;v3&lt;/td&gt;
&lt;td&gt;29 May 2025&lt;/td&gt;
&lt;td&gt;October 2026&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;v2&lt;/td&gt;
&lt;td&gt;January 2023&lt;/td&gt;
&lt;td&gt;October 2026&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;v3 was introduced in May 2025 and ends in October 2026, seventeen months later. It is not named in the banner.&lt;/p&gt;

&lt;p&gt;That matters because of how a partner would check. You read the warning, you look up which version your integration sets, you see v3, and you close the tab. The banner told you the affected version and yours was not it.&lt;/p&gt;
&lt;h2&gt;
  
  
  Migrating embedded signup is not a version string change
&lt;/h2&gt;

&lt;p&gt;This is the part that decides how much time you need.&lt;/p&gt;

&lt;p&gt;On v2 and v3, the version lives in your code. The implementation passes an &lt;code&gt;extras&lt;/code&gt; object that names the version alongside feature flags:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// v3 example&lt;/span&gt;
&lt;span class="nx"&gt;extras&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nl"&gt;version&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;v3&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;sessionInfoVersion&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="nx"&gt;featureType&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;marketing_messages_lite&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;On v4, Meta's own documentation says the &lt;code&gt;extras&lt;/code&gt; object is purposely empty. There is no version to set. Instead you create a new Facebook Login for Business configuration and select the products you want, and selecting them sets you to v4 automatically.&lt;/p&gt;

&lt;p&gt;So configuration moves from your front-end code into a dashboard object. That is a different task from editing a string. It needs a new login configuration created, tested against a real onboarding, and rolled out, and if anything downstream reads the session payload the shape of what comes back changes with it.&lt;/p&gt;

&lt;p&gt;The one piece of good news is in the same document: versions are not exclusive, and Meta says partners can roll out a new version gradually to reduce risk. You do not have to switch everyone at once.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to tell which version you are actually running
&lt;/h2&gt;

&lt;p&gt;The version is not stored anywhere you can query. It is whatever your onboarding page passes at the moment the flow launches, so the only reliable answer comes from reading the code that launches it.&lt;/p&gt;

&lt;p&gt;Find the page that opens the signup window and look for the &lt;code&gt;extras&lt;/code&gt; object handed to the Facebook login call. What you see there tells you where you stand.&lt;/p&gt;

&lt;p&gt;If it contains &lt;code&gt;version: "v2"&lt;/code&gt; or &lt;code&gt;version: "v3"&lt;/code&gt;, you are on a version that ends in October 2026.&lt;/p&gt;

&lt;p&gt;If it contains a &lt;code&gt;sessionInfoVersion&lt;/code&gt; key, that is a v2 signature specifically. Only v2 requires it, and its presence usually means the integration has not been touched since before May 2025.&lt;/p&gt;

&lt;p&gt;If it contains &lt;code&gt;featureType&lt;/code&gt; or a &lt;code&gt;features&lt;/code&gt; array naming &lt;code&gt;app_only_install&lt;/code&gt; or &lt;code&gt;marketing_messages_lite&lt;/code&gt;, those are v2 and v3 configuration shapes. On v4 the same capabilities are selected in the login configuration instead.&lt;/p&gt;

&lt;p&gt;If the &lt;code&gt;extras&lt;/code&gt; object is empty, you are already on v4 and this deadline does not apply to you.&lt;/p&gt;

&lt;p&gt;One nuance worth knowing if you inherited the integration: &lt;code&gt;app_only_install&lt;/code&gt; lets a partner reach WABAs through a granular business integration system user token rather than creating a system user access token. If your platform relies on that behaviour, confirm it is selected in the new login configuration rather than assuming it carries across, because it moves from a code flag to a dashboard product.&lt;/p&gt;

&lt;p&gt;Meta also notes that the versioning cadence follows Graph API. If you already have a process for tracking Graph API version changes, this belongs in it rather than in a separate reminder somebody has to remember.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you gain, and what you cannot have on v3
&lt;/h2&gt;

&lt;p&gt;The feature table draws a line that has nothing to do with deprecation dates.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;CAPABILITY&lt;/th&gt;
&lt;th&gt;V4&lt;/th&gt;
&lt;th&gt;V3&lt;/th&gt;
&lt;th&gt;V2&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Products via login config&lt;/td&gt;
&lt;td&gt;Marketing Messages API, Click to WhatsApp Ads, Conversions API&lt;/td&gt;
&lt;td&gt;Not supported&lt;/td&gt;
&lt;td&gt;Not supported&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Session info logging&lt;/td&gt;
&lt;td&gt;Sent back for all flows&lt;/td&gt;
&lt;td&gt;Sent back for all flows&lt;/td&gt;
&lt;td&gt;Requires an explicit sessionInfoVersion&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Completion state&lt;/td&gt;
&lt;td&gt;Verified, unverified, or no phone number&lt;/td&gt;
&lt;td&gt;Verified, unverified, or no phone number&lt;/td&gt;
&lt;td&gt;Must finish with a verified number&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Read the first row again if you run Click to WhatsApp ads. Onboarding customers with CTWA and the Conversions API attached through login config is a v4 capability. On v3 it is not available at all.&lt;/p&gt;

&lt;p&gt;That reframes the migration. It is not only a deadline to survive, it is the version where three onboarding products become reachable.&lt;/p&gt;

&lt;p&gt;The session info row is the one most likely to bite quietly. On v2 the callback that returns the customer's WABA ID and phone number ID only arrives if you explicitly set &lt;code&gt;sessionInfoVersion&lt;/code&gt;. On v3 and v4 it is sent for every flow. If your integration was built against v2 and someone assumed the callback was automatic, it was not.&lt;/p&gt;

&lt;p&gt;Dates in this post were read from Meta's documentation on 3 September 2026. Meta moves deprecation dates, and the versions page carries an "Updated" stamp from December 2025 while describing a release from May 2026, so its own metadata is behind its content. Check the live page before you plan around any date here.&lt;/p&gt;

&lt;h2&gt;
  
  
  There is a UI change landing separately
&lt;/h2&gt;

&lt;p&gt;Buried under the version list is a note that the refreshed interface currently in public preview will roll out to all versions of Embedded Signup in early September.&lt;/p&gt;

&lt;p&gt;That is now, and it is independent of which version you run. If your onboarding documentation contains screenshots, or your support team walks customers through the flow screen by screen, that material is about to be wrong regardless of whether you have migrated.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to do in the next six weeks
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Find out which version you are actually on.&lt;/strong&gt; Not which version you think you specified. Grep your onboarding page for the &lt;code&gt;extras&lt;/code&gt; object and read the value.&lt;/p&gt;

&lt;p&gt;If it says v2 or v3, or if the object exists at all, you have work to do. An empty &lt;code&gt;extras&lt;/code&gt; object is the v4 signature.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Create the new Facebook Login for Business configuration&lt;/strong&gt; and select the products you want, including Click to WhatsApp Ads if you use it. This is where the migration effort actually sits.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Test a real onboarding end to end&lt;/strong&gt;, and confirm the session callback still delivers the WABA ID and phone number ID your system stores. Do not assume the payload is unchanged.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Roll out gradually&lt;/strong&gt; rather than switching everyone at once, which Meta explicitly supports.&lt;/p&gt;

&lt;p&gt;Then update your onboarding screenshots, because the interface is changing this month whatever you decide about versions.&lt;/p&gt;

&lt;h2&gt;
  
  
  The pattern worth carrying forward
&lt;/h2&gt;

&lt;p&gt;A deprecation banner is a summary, and summaries drop things. The banner named the oldest version, which is reasonable, because v2 dates from January 2023 and is presumably where most legacy integrations sit.&lt;/p&gt;

&lt;p&gt;But the authoritative statement of what ends and when is the table, not the banner. Anyone who checked the prominent warning and stopped there has now confirmed the wrong thing.&lt;/p&gt;

&lt;p&gt;We have written before about a Meta capability restricted to Select and Premier Solution Partner tiers that Meta's partner comparison never defines. This is the same category of problem read from the other end. There, the detail existed and the summary omitted it. Here, the summary is correct about one version and silent about three more.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://botsense.io/blog/embedded-signup-v2-deprecation-v3-also-ends/" rel="noopener noreferrer"&gt;botsense.io&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>whatsapp</category>
      <category>webdev</category>
      <category>api</category>
      <category>meta</category>
    </item>
    <item>
      <title>The 72-Hour Free Window on Click-to-WhatsApp Ads Has a Condition Nobody Mentions</title>
      <dc:creator>botsense seo</dc:creator>
      <pubDate>Wed, 19 Aug 2026 07:22:22 +0000</pubDate>
      <link>https://dev.to/botsense_seo/the-72-hour-free-window-on-click-to-whatsapp-ads-has-a-condition-nobody-mentions-34ee</link>
      <guid>https://dev.to/botsense_seo/the-72-hour-free-window-on-click-to-whatsapp-ads-has-a-condition-nobody-mentions-34ee</guid>
      <description>&lt;h2&gt;
  
  
  The two windows, and why people confuse them
&lt;/h2&gt;

&lt;p&gt;There are two separate timers in WhatsApp Business, and treating them as one is the root of most CTWA budgeting mistakes.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Customer service window&lt;/th&gt;
&lt;th&gt;Free entry point window&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;What opens it&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Any customer message, by any route&lt;/td&gt;
&lt;td&gt;A CTWA ad or Facebook Page CTA click, Android/iOS only&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;How long&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;24 hours from the customer's message&lt;/td&gt;
&lt;td&gt;72 hours from your reply&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;What you can send&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Any free-form message&lt;/td&gt;
&lt;td&gt;Any message, including marketing templates&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;What it costs&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Free-form replies are free&lt;/td&gt;
&lt;td&gt;Everything is free while open&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Opens automatically&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;No: only if you reply within 24 hours&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;According to Meta's documentation: "If you respond within 24 hours using any type of message, the message will be free, and a Free Entry Point window will be opened, starting from the time when you responded."&lt;/p&gt;

&lt;p&gt;A free entry point conversation requires two conditions: (1) the customer messages from a CTWA ad or Facebook Page CTA button on Android or iOS — desktop and web are not supported; (2) you respond within 24 hours. The 72 hours starts from the moment you reply, not from when the customer messaged.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this means for how you run the campaign
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Match your ad delivery hours to when someone can actually reply&lt;/li&gt;
&lt;li&gt;Set an automated first response to secure the window&lt;/li&gt;
&lt;li&gt;Treat your reply capacity as a hard limit on ad spend&lt;/li&gt;
&lt;li&gt;Plan the follow-up sequence across three days, not one&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why the ad gets rejected before it ever runs
&lt;/h2&gt;

&lt;p&gt;WhatsApp-side rejections are the surprising ones. The ad account is fine, the creative is fine, and the campaign still cannot launch because something is wrong with the WhatsApp Business Account behind it.&lt;/p&gt;

&lt;h3&gt;
  
  
  The display name problem
&lt;/h3&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Rejection ground&lt;/th&gt;
&lt;th&gt;What Meta rejects&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Identity mismatch&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Name does not correspond to verified business identity&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Promotional words&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Official, Best, No.1, Cheap, Free&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Meta product names&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;WhatsApp, Facebook, Messenger&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Generic names&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Customer Service, Support Team, Info Desk&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Formatting&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Emojis, excessive punctuation, slogans&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Identity mismatch is the single most common cause. The fix is completing business verification first, linking the website, and making sure the Facebook Page name and the requested display name tell the same story.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Click-to-WhatsApp Ads cannot do
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;It cannot push, only pull.&lt;/strong&gt; CTWA starts conversations when someone chooses to click. You cannot use it to reach people who have not engaged.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A click is not a conversation.&lt;/strong&gt; The ad opens WhatsApp with a pre-filled message the user can edit or delete. Plenty of people open it and never press send. You pay for the click either way, and no window opens.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Desktop and web do not count.&lt;/strong&gt; The free entry point requires Android or iOS.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Attribution is harder than a landing page.&lt;/strong&gt; Without a platform connecting ad click to conversation to outcome, you lose the thread between spend and revenue.&lt;/p&gt;

&lt;h2&gt;
  
  
  The short version
&lt;/h2&gt;

&lt;p&gt;Click-to-WhatsApp Ads work well when three things are true: you have a genuine reason for someone to start a conversation, you can reply inside 24 hours, and you treat the following 72 hours as the actual campaign.&lt;/p&gt;

&lt;p&gt;Most of the value people describe as "the 72-hour free window" is really the reward for answering quickly.&lt;/p&gt;

</description>
      <category>whatsapp</category>
      <category>marketing</category>
      <category>india</category>
      <category>meta</category>
    </item>
    <item>
      <title>COD Verification and RTO: Why the Numbers in This Market Do Not Add Up</title>
      <dc:creator>botsense seo</dc:creator>
      <pubDate>Wed, 19 Aug 2026 07:20:30 +0000</pubDate>
      <link>https://dev.to/botsense_seo/cod-verification-and-rto-why-the-numbers-in-this-market-do-not-add-up-35p5</link>
      <guid>https://dev.to/botsense_seo/cod-verification-and-rto-why-the-numbers-in-this-market-do-not-add-up-35p5</guid>
      <description>&lt;h2&gt;
  
  
  What COD verification claims to do
&lt;/h2&gt;

&lt;p&gt;The mechanism is straightforward. A cash-on-delivery order carries no payment commitment, so nothing at checkout confirms buyer intent, address accuracy, or phone number validity. An automated call placed shortly after checkout tests all three before the parcel enters fulfillment.&lt;/p&gt;

&lt;p&gt;That much is sound. The disagreement starts at the number attached to it.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Vendor claim&lt;/th&gt;
&lt;th&gt;RTO reduction&lt;/th&gt;
&lt;th&gt;Cost per RTO&lt;/th&gt;
&lt;th&gt;Source given&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Vendor A&lt;/td&gt;
&lt;td&gt;30–45%&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;None&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Vendor B&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;₹400–600&lt;/td&gt;
&lt;td&gt;None&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Vendor C&lt;/td&gt;
&lt;td&gt;—&lt;/td&gt;
&lt;td&gt;₹180–240&lt;/td&gt;
&lt;td&gt;None&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Vendor D&lt;/td&gt;
&lt;td&gt;30–40%&lt;/td&gt;
&lt;td&gt;₹200–500&lt;/td&gt;
&lt;td&gt;None at the time of writing&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Cost per RTO varies by more than three times between vendors describing the same operation in the same market. The reduction percentages sit in a band wide enough to be unfalsifiable.&lt;/p&gt;

&lt;h2&gt;
  
  
  The base rate is contested, not settled
&lt;/h2&gt;

&lt;p&gt;To claim a reduction you need a starting point, and the starting point is not agreed.&lt;/p&gt;

&lt;p&gt;According to GoKwik: "COD orders in Indian e-commerce see RTO rates of nearly 26%, compared to less than 2% for prepaid orders."&lt;/p&gt;

&lt;p&gt;Unicommerce reports differently. Based on 410 million tracked shipments across more than 6,000 D2C brands, during the festive quarter "COD orders returned at 58%", against prepaid "under 15%."&lt;/p&gt;

&lt;p&gt;Both are first-party platform data. Neither is citing a blog. And they disagree by more than double at the peak.&lt;/p&gt;

&lt;p&gt;If your baseline could be 21% or 58% depending on the month, a vendor promising to cut it by "30 to 40%" has told you nothing you can hold them to.&lt;/p&gt;

&lt;h2&gt;
  
  
  The most repeated fact has no source
&lt;/h2&gt;

&lt;p&gt;Almost every article on this subject opens with a version of the same line: roughly 60% of Indian e-commerce orders are cash on delivery.&lt;/p&gt;

&lt;p&gt;That figure traces back to ET Prime Research in 2024 through secondary write-ups, yet the original remains unreachable. Bain &amp;amp; Company's &lt;em&gt;How India Shops Online&lt;/em&gt; contains no absolute COD share figure. Unicommerce publishes return rates but explicitly not the COD share of orders.&lt;/p&gt;

&lt;p&gt;That does not make the figure wrong. It makes it &lt;strong&gt;uncheckable&lt;/strong&gt; — which is a different problem and in some ways a worse one.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is actually sourced is the timing, not the reduction
&lt;/h2&gt;

&lt;p&gt;One figure in this space comes with a named source: GoKwik states "Send confirmation within 5 minutes of order placement (response rates drop 40% after 30 minutes)."&lt;/p&gt;

&lt;p&gt;This is still the most actionable thing published on the subject, because it describes a &lt;strong&gt;window&lt;/strong&gt; rather than an outcome. The typical manual process misses it entirely — the calling team works through the queue the following morning, by which time the window has been closed for approximately fourteen hours.&lt;/p&gt;

&lt;h2&gt;
  
  
  What COD verification should be measured on
&lt;/h2&gt;

&lt;p&gt;Since reduction figures are not checkable, measure the things that are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Time from order placement to first call attempt (minutes, not hours)&lt;/li&gt;
&lt;li&gt;Connect rate: what proportion of calls are answered&lt;/li&gt;
&lt;li&gt;Confirmation rate: of those answered, how many confirm the order&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;RTO rate on confirmed orders versus unconfirmed orders&lt;/strong&gt; in the same period and category&lt;/li&gt;
&lt;li&gt;Your own fully loaded cost per RTO: forward shipping, reverse shipping, packaging, handling&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The fourth metric settles it. Comparing confirmed against unconfirmed orders in your own data, in the same weeks and same categories, tells you what verification is worth to you. No industry average can do that.&lt;/p&gt;

&lt;p&gt;Run it for one month before signing anything longer than a month.&lt;/p&gt;

&lt;h2&gt;
  
  
  Including our own numbers
&lt;/h2&gt;

&lt;p&gt;Botsense sells AI calling, including COD verification. Our own pages carried RTO reduction percentages with no source attached, in the same shape as the table above.&lt;/p&gt;

&lt;p&gt;We are correcting them. A post arguing that unsourced percentages are worthless would be worth nothing if it quietly exempted the company publishing it.&lt;/p&gt;

&lt;p&gt;What we can tell you honestly: we do not know what COD verification will do to your RTO rate, because it depends on your categories, your pin codes, your season, and your current process. If a vendor gives you a percentage instead, ask where it came from. The answer is the useful part.&lt;/p&gt;

</description>
      <category>india</category>
      <category>ecommerce</category>
      <category>productivity</category>
      <category>business</category>
    </item>
    <item>
      <title>The WhatsApp Green Tick Is Now Blue: What Meta's API Actually Asks For</title>
      <dc:creator>botsense seo</dc:creator>
      <pubDate>Wed, 19 Aug 2026 07:18:56 +0000</pubDate>
      <link>https://dev.to/botsense_seo/the-whatsapp-green-tick-is-now-blue-what-metas-api-actually-asks-for-ekd</link>
      <guid>https://dev.to/botsense_seo/the-whatsapp-green-tick-is-now-blue-what-metas-api-actually-asks-for-ekd</guid>
      <description>&lt;h2&gt;
  
  
  Is the WhatsApp green tick actually green?
&lt;/h2&gt;

&lt;p&gt;The terminology everyone searches for is "green tick," but Meta's current documentation uses different language. An Official Business Account (OBA) is described as having "a blue checkmark beside their name in the contacts view."&lt;/p&gt;

&lt;p&gt;The color changed between July 2024 and February 2025, when archived snapshots show the transition from "green checkmark badge" to "blue checkmark badge." However, Meta's approval notification system hasn't caught up — it still tells newly approved businesses they received a &lt;strong&gt;green&lt;/strong&gt; badge, creating confusion when users see a blue checkmark instead.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The practical answer:&lt;/strong&gt; The badge is currently blue, though Meta and the broader community frequently still refer to it as green.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the Official Business Account page tells you
&lt;/h2&gt;

&lt;p&gt;Meta's official OBA eligibility page lists five criteria, all procedural in nature:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Criterion&lt;/th&gt;
&lt;th&gt;What it means&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Policy compliance&lt;/td&gt;
&lt;td&gt;Complies with WhatsApp Business Messaging Policy&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Thirty days&lt;/td&gt;
&lt;td&gt;Registered on WhatsApp Business Platform for at least 30 days&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Business verification&lt;/td&gt;
&lt;td&gt;Business portfolio verified through Business Verification&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Two-step verification&lt;/td&gt;
&lt;td&gt;Enabled on the phone number&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Display name&lt;/td&gt;
&lt;td&gt;Approved&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Notably absent from this documentation is any mention of notability, fame, or press coverage. A business reviewing this page would reasonably assume that meeting these five procedural conditions is sufficient.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Meta's API actually asks for
&lt;/h2&gt;

&lt;p&gt;The requirement exists but lives in documentation most businesses never consult. Meta's OBA Status API reference includes a field called &lt;code&gt;supporting_links&lt;/code&gt; — described as &lt;strong&gt;"Supporting links that demonstrate business notability (minimum 5, maximum 10)."&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Meta's Business Help Center further clarifies notability as "a well-known business that has a substantial presence in news articles from publications with sizable audiences."&lt;/p&gt;

&lt;p&gt;This represents a significant gap: the requirement for five to ten editorial links demonstrating business notability appears in the API schema and help documentation but &lt;strong&gt;not on the main eligibility criteria page&lt;/strong&gt;. Most guides to obtaining the badge quote Facebook's verification standards instead, which ask for coverage in "multiple news sources" without specifying a minimum number.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why the WhatsApp green tick usually goes through a provider
&lt;/h2&gt;

&lt;p&gt;Meta documents a self-serve application path through WhatsApp Manager, but for most accounts, the Submit Request button doesn't appear. When this occurs, Meta directs businesses to "reach out to your Meta point-of-contact, Solution Provider support, or Meta Support."&lt;/p&gt;

&lt;p&gt;This explains why most applications go through providers — not because Meta forbids self-serve submission, but because the option isn't exposed to most accounts.&lt;/p&gt;

&lt;h2&gt;
  
  
  What to have ready before applying
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;At least five links to editorial coverage in publications with genuine audiences (not paid placements)&lt;/li&gt;
&lt;li&gt;Business portfolio verified through Business Verification&lt;/li&gt;
&lt;li&gt;Two-step verification enabled on the number&lt;/li&gt;
&lt;li&gt;Display name approved and directly associated with the business&lt;/li&gt;
&lt;li&gt;Thirty days elapsed since registration on the platform&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If rejected, businesses must wait 30 days before resubmitting. Meta states that denials currently cannot be appealed, though display name rejections follow a separate process with their own appeal route.&lt;/p&gt;

&lt;h2&gt;
  
  
  The key principle
&lt;/h2&gt;

&lt;p&gt;The badge follows genuine editorial coverage. If a business lacks five pieces of authentic news coverage, waiting is preferable to submitting an application that will fail and trigger another 30-day waiting period before resubmission.&lt;/p&gt;

</description>
      <category>whatsapp</category>
      <category>meta</category>
      <category>api</category>
      <category>webdev</category>
    </item>
    <item>
      <title>WhatsApp Multiple Providers: Meta Is Removing the Switching Barrier It Built</title>
      <dc:creator>botsense seo</dc:creator>
      <pubDate>Wed, 19 Aug 2026 07:17:16 +0000</pubDate>
      <link>https://dev.to/botsense_seo/whatsapp-multiple-providers-meta-is-removing-the-switching-barrier-it-built-1g63</link>
      <guid>https://dev.to/botsense_seo/whatsapp-multiple-providers-meta-is-removing-the-switching-barrier-it-built-1g63</guid>
      <description>&lt;h2&gt;
  
  
  What Meta is actually changing
&lt;/h2&gt;

&lt;p&gt;The WhatsApp Business account structure is evolving into two separate components: one managing phone numbers and business profiles, the other handling templates and billing. This enables businesses to operate multiple providers on a single phone number with isolated billing.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Component&lt;/th&gt;
&lt;th&gt;WhatsApp Business Account&lt;/th&gt;
&lt;th&gt;Messaging Account&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Holds&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Phone numbers, usernames, profile, catalogs&lt;/td&gt;
&lt;td&gt;Templates, billing, webhook subscriptions&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Owned by&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Always the business&lt;/td&gt;
&lt;td&gt;Business or provider (one per provider)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Identifier&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;New, unavailable until Phase 2&lt;/td&gt;
&lt;td&gt;Keeps existing WABA ID&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Critically, the account holding your phone number remains yours. Partner accounts handling templates and billing may belong to service providers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why WhatsApp multiple providers becomes possible
&lt;/h2&gt;

&lt;p&gt;Currently, a number belongs to one WhatsApp Business Account containing all components. Switching providers requires migrating the number, creating substantial friction that discourages changes.&lt;/p&gt;

&lt;p&gt;Meta's documentation directly addresses this shift: &lt;strong&gt;"The phone number migration process that previously acted as a natural switching barrier no longer applies."&lt;/strong&gt; This friction was structural, not technical — a competitive moat that Meta has now dismantled.&lt;/p&gt;

&lt;h2&gt;
  
  
  What WhatsApp multiple providers share
&lt;/h2&gt;

&lt;p&gt;Adding a second provider does &lt;strong&gt;not&lt;/strong&gt; increase capacity:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Throughput&lt;/strong&gt; remains at the phone number level&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Messaging limits&lt;/strong&gt; remain at the business portfolio level (unique users per 24-hour period)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When multiple providers operate a single number, they share throughput and daily user limits. Billing separates by which application sends the message, but messaging capacity does not multiply.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does not change
&lt;/h2&gt;

&lt;p&gt;Deregistration processes, pricing models, and customer-facing experience remain unchanged. WhatsApp users see one trusted contact regardless of provider count.&lt;/p&gt;

&lt;h2&gt;
  
  
  The timeline
&lt;/h2&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Phase&lt;/th&gt;
&lt;th&gt;Timeline&lt;/th&gt;
&lt;th&gt;Details&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Phase 1&lt;/td&gt;
&lt;td&gt;H2 2026&lt;/td&gt;
&lt;td&gt;Automatic migration, backward compatible, parallel providers enabled&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Phase 2&lt;/td&gt;
&lt;td&gt;H1 2027&lt;/td&gt;
&lt;td&gt;New account identifiers become available&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Phase 3&lt;/td&gt;
&lt;td&gt;H1 2028&lt;/td&gt;
&lt;td&gt;Mandatory transition to new identifiers&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;No action is required from businesses during migration. The change shifts market dynamics: the structural cost of switching providers drops to near zero, and provider relationships become genuinely competitive.&lt;/p&gt;

</description>
      <category>whatsapp</category>
      <category>meta</category>
      <category>api</category>
      <category>webdev</category>
    </item>
    <item>
      <title>AI Collections Calls in India: RBI's Rules Are Not the Ones You Have Been Quoted</title>
      <dc:creator>botsense seo</dc:creator>
      <pubDate>Wed, 19 Aug 2026 07:16:03 +0000</pubDate>
      <link>https://dev.to/botsense_seo/ai-collections-calls-in-india-rbis-rules-are-not-the-ones-you-have-been-quoted-37m3</link>
      <guid>https://dev.to/botsense_seo/ai-collections-calls-in-india-rbis-rules-are-not-the-ones-you-have-been-quoted-37m3</guid>
      <description>&lt;h2&gt;
  
  
  There are two calling windows, not one
&lt;/h2&gt;

&lt;p&gt;The widely circulated recovery calling window of 8:00 a.m. to 7:00 p.m. applies to general lending. However, microfinance loans operate under a distinctly different timeframe. According to RBI's Responsible Business Conduct Directions, microfinance borrowers can only be contacted between 9:00 a.m. and 6:00 p.m.&lt;/p&gt;

&lt;p&gt;Calling a microfinance borrower at 6:30 p.m. isn't merely outside operating hours — it's officially classified as a &lt;strong&gt;harsh practice&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where the rules differ by lender type
&lt;/h2&gt;

&lt;p&gt;Requirements presented as universal across the industry actually vary considerably:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Requirement&lt;/th&gt;
&lt;th&gt;Banks&lt;/th&gt;
&lt;th&gt;NBFCs&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;IIBF certification for recovery agents&lt;/td&gt;
&lt;td&gt;Mandatory&lt;/td&gt;
&lt;td&gt;Not in the Directions&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Call recording&lt;/td&gt;
&lt;td&gt;Required&lt;/td&gt;
&lt;td&gt;No equivalent requirement&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Calling window&lt;/td&gt;
&lt;td&gt;8:00–19:00 (microfinance excluded)&lt;/td&gt;
&lt;td&gt;8:00–19:00 (microfinance excluded)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Microfinance window&lt;/td&gt;
&lt;td&gt;9:00–18:00&lt;/td&gt;
&lt;td&gt;9:00–18:00&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Banks must ensure recovery agents complete the Indian Institute of Banking and Finance certificate course, while NBFC Directions specify only due diligence and police verification. Banks require call recordings with borrower notification; NBFCs face no such mandate.&lt;/p&gt;

&lt;h2&gt;
  
  
  What RBI says about AI collections calls
&lt;/h2&gt;

&lt;p&gt;RBI's Responsible Business Conduct Directions contain &lt;strong&gt;no reference to artificial intelligence, automated calling, voice bots, or synthetic voices.&lt;/strong&gt; The regulatory framework addresses human agents exclusively and hasn't been updated for automation technology.&lt;/p&gt;

&lt;p&gt;The absence of specific guidance means automated calls inherit all requirements written for people: calling windows, prohibitions against persistent contact, and other behavioral standards.&lt;/p&gt;

&lt;p&gt;One potential distinction exists around the prohibition against "making threatening and/or anonymous calls." Whether a synthetic voice call qualifies as anonymous remains judicially unresolved.&lt;/p&gt;

&lt;h2&gt;
  
  
  AI collections calls do not move liability
&lt;/h2&gt;

&lt;p&gt;Outsourcing recovery functions doesn't transfer regulatory responsibility. Banks and NBFCs remain liable for their service providers' actions regardless of whether contact is human or automated.&lt;/p&gt;

&lt;p&gt;Under the Reserve Bank–Integrated Ombudsman Scheme 2026, RBI can award compensation up to ₹30 lakh for consequential losses, plus up to ₹3 lakh for "loss of the complainant's time, expenses incurred, harassment/mental anguish suffered."&lt;/p&gt;

&lt;h2&gt;
  
  
  What to establish before you buy
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Which regulatory instrument governs your portfolio&lt;/li&gt;
&lt;li&gt;Whether any portion qualifies as microfinance requiring the 9:00–18:00 window&lt;/li&gt;
&lt;li&gt;Whether platforms can enforce different windows for different segments&lt;/li&gt;
&lt;li&gt;How your organization defines "persistent calling"&lt;/li&gt;
&lt;li&gt;Recording and borrower notification requirements&lt;/li&gt;
&lt;li&gt;Internal authorization for meeting anonymity prohibitions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The segment-level calling window represents the most critical verification point.&lt;/strong&gt; A platform unable to enforce 9:00–18:00 for microfinance while running 8:00–19:00 elsewhere cannot serve mixed portfolios.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where we stand
&lt;/h2&gt;

&lt;p&gt;RBI has not published guidance confirming automated recovery calling compliance. Vendors cannot represent automation as compliant on RBI's authority. Compliance obligations depend on individual licenses and portfolio composition.&lt;/p&gt;

</description>
      <category>india</category>
      <category>ai</category>
      <category>fintech</category>
      <category>productivity</category>
    </item>
    <item>
      <title>WhatsApp Max Price: What Meta Documented, and the Three Things It Did Not</title>
      <dc:creator>botsense seo</dc:creator>
      <pubDate>Wed, 19 Aug 2026 07:14:48 +0000</pubDate>
      <link>https://dev.to/botsense_seo/whatsapp-max-price-what-meta-documented-and-the-three-things-it-did-not-3f4c</link>
      <guid>https://dev.to/botsense_seo/whatsapp-max-price-what-meta-documented-and-the-three-things-it-did-not-3f4c</guid>
      <description>&lt;h2&gt;
  
  
  The WhatsApp max price timeline, as Meta dates it
&lt;/h2&gt;

&lt;p&gt;Meta's pricing page states the position plainly: "The max price feature is available in Limited Beta as of May 15 and will be optional throughout 2026. Meta plans to make max price generally available in Q2 2027."&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Phase&lt;/th&gt;
&lt;th&gt;Date&lt;/th&gt;
&lt;th&gt;Who can use it&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Limited Beta&lt;/td&gt;
&lt;td&gt;15 May 2026&lt;/td&gt;
&lt;td&gt;Any partner and any directly integrated business&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Open Beta&lt;/td&gt;
&lt;td&gt;October 2026&lt;/td&gt;
&lt;td&gt;Any partner can enable for all clients&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;General Availability&lt;/td&gt;
&lt;td&gt;Q2 2027&lt;/td&gt;
&lt;td&gt;Required in "eligible geographies"&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Nothing about billing changes in the meantime. Meta is explicit that "there is no change to how Meta charges on the WhatsApp Business Platform." If you never set &lt;code&gt;optimization_spec&lt;/code&gt; on a template, nothing happens to you at all.&lt;/p&gt;

&lt;h2&gt;
  
  
  What GA actually means if you are not on Cloud API
&lt;/h2&gt;

&lt;p&gt;This is the line worth reading twice:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"General Availability (GA) as of Q2 2027 — The max price feature will become required in eligible geographies and fixed, published rates for marketing messages will only apply on the Cloud API."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Two commitments in one sentence. The WhatsApp max price stops being optional somewhere, and the familiar per-category rate card survives somewhere else — on Cloud API.&lt;/p&gt;

&lt;p&gt;The word doing the most work is &lt;strong&gt;"eligible"&lt;/strong&gt;. Meta does not define it. The phrase "eligible geographies" occurs exactly once across all five documents — in the GA sentence above. No list, no link, no table. India is not named in any published restriction group, but "India is eligible to use the Marketing Messages API" and "India is in scope for the GA requirement" are two different statements about two different lists — and only one of those lists has been published.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Meta never says about undelivered messages
&lt;/h2&gt;

&lt;p&gt;Meta does not say what happens to messages that fall below the max price threshold.&lt;/p&gt;

&lt;p&gt;I searched nineteen terms across eight public documents: &lt;em&gt;auction&lt;/em&gt;, &lt;em&gt;clearing price&lt;/em&gt;, &lt;em&gt;market rate&lt;/em&gt;, &lt;em&gt;demand&lt;/em&gt;, &lt;em&gt;competing&lt;/em&gt;, &lt;em&gt;bid against&lt;/em&gt;, &lt;em&gt;not sent&lt;/em&gt;, &lt;em&gt;undelivered&lt;/em&gt;, &lt;em&gt;dropped&lt;/em&gt;, &lt;em&gt;skipped&lt;/em&gt;. &lt;strong&gt;Zero occurrences, all nineteen, in all eight.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That absence carries weight, because Meta plainly knows how to describe undelivered messages. Error &lt;code&gt;131049&lt;/code&gt; reads "This message was not delivered to maintain healthy ecosystem engagement." Error &lt;code&gt;130472&lt;/code&gt; reads "Message was not sent as part of an experiment." Both describe a marketing message Meta decided not to deliver — both get a number, a published description, and a row in the error code reference.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Meta issues a numbered, published error code when it declines to deliver a marketing message. It has not issued one for max price.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  What the market claims instead
&lt;/h2&gt;

&lt;p&gt;The top-ranking guide on this feature presents three specific savings percentages and attributes them to "Meta's examples" with no link to any Meta page. Those figures do not appear in any of the five documents above.&lt;/p&gt;

&lt;p&gt;More consequential is the auction framing that runs through wider commentary — the idea that your bid competes against other advertisers. It is a reasonable inference. It is not something Meta has written down about this product.&lt;/p&gt;

&lt;p&gt;The distinction matters when a client asks what happens to their undelivered messages. "Meta has not documented that" is a defensible answer. "They lost the auction" is a claim you cannot source.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Solution Partner controls nobody is reading
&lt;/h2&gt;

&lt;p&gt;Meta shipped a partner-facing control for the beta that has gone almost entirely uncovered. The allowlist cap moved twice — from 5 to 15 on 17 June, then to 100 on 31 July.&lt;/p&gt;

&lt;p&gt;On 5 August, Meta added a visibility switch: &lt;code&gt;whatsapp_manager_marketing_messages_max_price_enroll_status&lt;/code&gt; takes &lt;code&gt;OPT_IN&lt;/code&gt; or &lt;code&gt;OPT_OUT&lt;/code&gt;. But:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"This setting controls only the visibility of the max price experience in WhatsApp Manager. It doesn't change a WABA's eligibility for max price, and it doesn't affect max price settings configured through the API."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;It hides a UI. It does not gate the capability.&lt;/p&gt;

&lt;h2&gt;
  
  
  Practical steps
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Decide whether your marketing volume runs through Marketing Messages API or Cloud API, because Q2 2027 treats them differently.&lt;/li&gt;
&lt;li&gt;If you are a Solution Partner, check your allowlist headroom against the 100 cap before Open Beta in October.&lt;/li&gt;
&lt;li&gt;Read &lt;code&gt;whatsapp_manager_marketing_messages_max_price_enroll_status&lt;/code&gt; as a UI switch, not an access control.&lt;/li&gt;
&lt;li&gt;Do not commit to a max price strategy on savings percentages that carry no link to Meta.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The honest summary: Meta has committed to a date and a consequence, and has not published the list of places the consequence applies to. If you sell or buy WhatsApp marketing in India, you are entitled to know whether Q2 2027 changes your rate card. As of today, Meta's public documentation does not tell you.&lt;/p&gt;

</description>
      <category>whatsapp</category>
      <category>meta</category>
      <category>marketing</category>
      <category>api</category>
    </item>
    <item>
      <title>Meta Business Agent: Meta Documented the Costs for One Path and Not the Other</title>
      <dc:creator>botsense seo</dc:creator>
      <pubDate>Wed, 19 Aug 2026 07:12:39 +0000</pubDate>
      <link>https://dev.to/botsense_seo/meta-business-agent-meta-documented-the-costs-for-one-path-and-not-the-other-nda</link>
      <guid>https://dev.to/botsense_seo/meta-business-agent-meta-documented-the-costs-for-one-path-and-not-the-other-nda</guid>
      <description>&lt;h2&gt;
  
  
  What Meta Business Agent costs you on the WhatsApp Business app
&lt;/h2&gt;

&lt;p&gt;Meta has published specific consequences for WhatsApp Business app users who enable the Meta Business Agent. According to their Help Center, customer conversations are collected to improve Meta's AI systems, and this collection continues even when businesses mute the agent:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Messages sent or received in chats that have connected Meta Business Agent will still be collected by Meta to improve AI at Meta, even when you mute Meta Business Agent."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Deletion is the only documented control that stops data collection. Muting merely pauses agent responses without halting the data-gathering process.&lt;/p&gt;

&lt;p&gt;Meta also documents operational feature losses for app-path users:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Broadcast lists, disappearing messages, greeting and away messages become unavailable&lt;/li&gt;
&lt;li&gt;The inability to pause or delete the agent using WhatsApp Web&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What the Cloud API documentation says instead
&lt;/h2&gt;

&lt;p&gt;For businesses using Meta's Cloud API—the path most Indian companies take through Solution Partners—the documentation differs significantly. Cloud API developer documentation meticulously describes mechanics: standby webhooks, handoff procedures, thread control endpoints, and control-release mechanisms.&lt;/p&gt;

&lt;p&gt;However, across nine developer documents reviewed, there are &lt;strong&gt;zero mentions&lt;/strong&gt; of data collection practices, feature restrictions, or messaging capability changes equivalent to those published for app users.&lt;/p&gt;

&lt;h2&gt;
  
  
  The nine documents, and what is not in them
&lt;/h2&gt;

&lt;p&gt;A systematic search across Meta's developer documentation for the agent yielded striking gaps:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Term Category&lt;/th&gt;
&lt;th&gt;Search Terms&lt;/th&gt;
&lt;th&gt;Results Found&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Feature loss&lt;/td&gt;
&lt;td&gt;disable, unavailable, cannot use, lose access (22 terms)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;0&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data use&lt;/td&gt;
&lt;td&gt;improve AI, train, retention, privacy, consent (17 terms)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;0&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Messaging capability&lt;/td&gt;
&lt;td&gt;messaging limit, throughput, rate limit (11 terms)&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;0&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  What this does not prove
&lt;/h2&gt;

&lt;p&gt;This documentation gap does not necessarily indicate Meta is concealing unfavorable terms. Cloud API deployments have fundamentally different architectures than phone-based WhatsApp Business apps. Broadcast lists and linked devices are app-specific concepts that don't exist in Cloud API environments, so feature losses wouldn't apply.&lt;/p&gt;

&lt;p&gt;The core problem is simpler: Solution Partners cannot answer clients' basic questions about costs because Meta hasn't published the answers in either direction.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where Meta Business Agent is available
&lt;/h2&gt;

&lt;p&gt;The WhatsApp Help Center clearly states: "This feature is currently only available in limited countries to select businesses. It might not be available to you yet."&lt;/p&gt;

&lt;p&gt;The developer documentation merely requires businesses be "based in a country authorized for Meta Business Agent" without naming any specific countries. No published country list exists, and India is neither explicitly included nor excluded in any official documentation.&lt;/p&gt;

&lt;h2&gt;
  
  
  One defect you can check yourself
&lt;/h2&gt;

&lt;p&gt;The thread control endpoint appears at three different URLs across Meta's documentation:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Get Started guide: &lt;code&gt;https://graph.facebook.com/v21.0/&amp;lt;PHONE_NUMBER_ID&amp;gt;/thread_control&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Thread Control reference: &lt;code&gt;https://api.facebook.com/business/whatsapp/phone_numbers/{phone_number_id}/thread_control&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Changelog: &lt;code&gt;POST /business/whatsapp/phone_numbers/{phone_number_id}/thread_control&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The reference and changelog align; the walkthrough diverges. Developers following the Get Started guide would call a different endpoint than the official reference specifies.&lt;/p&gt;

&lt;h2&gt;
  
  
  Actionable recommendations
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Verify deployment path first&lt;/strong&gt;: Cloud API and WhatsApp Business app paths are documented entirely separately with different consequences&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Read the mute clause carefully&lt;/strong&gt;: For Business app users, muting doesn't stop Meta's data collection&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Check eligibility individually&lt;/strong&gt;: Use the eligibility endpoint rather than assuming global availability based on third-party claims&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Test both endpoints&lt;/strong&gt;: If implementing thread control, verify both documented URLs in your testing environment&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The asymmetry remains: one deployment path has published costs; the other has published mechanics only.&lt;/p&gt;

</description>
      <category>whatsapp</category>
      <category>meta</category>
      <category>api</category>
      <category>business</category>
    </item>
    <item>
      <title>WhatsApp bid multiplier: Meta documents the lever, never the reason</title>
      <dc:creator>botsense seo</dc:creator>
      <pubDate>Wed, 19 Aug 2026 07:11:10 +0000</pubDate>
      <link>https://dev.to/botsense_seo/whatsapp-bid-multiplier-meta-documents-the-lever-never-the-reason-4e63</link>
      <guid>https://dev.to/botsense_seo/whatsapp-bid-multiplier-meta-documents-the-lever-never-the-reason-4e63</guid>
      <description>&lt;h2&gt;
  
  
  How the WhatsApp bid multiplier actually works
&lt;/h2&gt;

&lt;p&gt;The field is &lt;code&gt;bid_country_multiplier_overrides&lt;/code&gt;, a map that lives inside &lt;code&gt;optimization_spec&lt;/code&gt; alongside &lt;code&gt;bid_amount&lt;/code&gt; and &lt;code&gt;bid_strategy&lt;/code&gt;, documented on Meta's Set a max price for marketing messages page.&lt;/p&gt;

&lt;p&gt;When a message is sent, Meta determines the recipient's country from their phone number and applies the matching multiplier to the template's bid_amount to produce the effective bid for that message:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Effective bid = bid_amount x country_multiplier&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Three constraints are stated: "Up to 50 entries." — "Each multiplier must be greater than 0 and at most 10." — "Keys must be valid ISO 3166-1 alpha-2 country codes."&lt;/p&gt;

&lt;p&gt;Two details matter more than they look. The country is derived from the recipient's phone number, not from anything the business declares. And an unlisted country is not an error: "If the recipient's country is not listed in the map, the multiplier is 1.0, so the template's &lt;code&gt;bid_amount&lt;/code&gt; is used unchanged."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;One asymmetry for developers.&lt;/strong&gt; You send the map as an object and get it back as an array. A create call takes &lt;code&gt;{"IN": 1.2, "MX": 0.8}&lt;/code&gt;; querying &lt;code&gt;optimization_spec&lt;/code&gt; returns &lt;code&gt;[{"key": "IN", "value": 1.2}, ...]&lt;/code&gt;. Anything round-tripping template configuration must handle both shapes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Meta's own worked example is three rows
&lt;/h2&gt;

&lt;p&gt;The documentation gives one example, built on a template with &lt;code&gt;bid_amount&lt;/code&gt; of 1000 and the map &lt;code&gt;{"IN": 1.2, "MX": 0.8}&lt;/code&gt;:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Recipient country&lt;/th&gt;
&lt;th&gt;Multiplier applied&lt;/th&gt;
&lt;th&gt;Effective bid (per 1,000 delivered)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;India (IN)&lt;/td&gt;
&lt;td&gt;1.2&lt;/td&gt;
&lt;td&gt;1000 × 1.2 = 1,200&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Mexico (MX)&lt;/td&gt;
&lt;td&gt;0.8&lt;/td&gt;
&lt;td&gt;1000 × 0.8 = 800&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Brazil (BR) — not listed&lt;/td&gt;
&lt;td&gt;1.0 (default)&lt;/td&gt;
&lt;td&gt;1000 × 1.0 = 1,000&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;That is the whole of it. No second example, no regional grouping, and no table of countries anywhere on the page.&lt;/p&gt;

&lt;h2&gt;
  
  
  The four-arm test, and where India appears
&lt;/h2&gt;

&lt;p&gt;The only place where Meta names specific countries with specific numbers is a testing recommendation: run a four-arm test (10,000 send requests per arm) including Arm C at "1.5x rate card, but 1.2x for India and Saudi Arabia." Four arms at 10,000 send requests each is &lt;strong&gt;40,000 marketing message deliveries&lt;/strong&gt; to complete one test.&lt;/p&gt;

&lt;p&gt;Meta gives no reason for the carve-out. A comprehensive search across eight documents found this parenthesis is the only sentence on the pricing page that names countries for different max-price treatment.&lt;/p&gt;

&lt;h2&gt;
  
  
  The silence, scoped exactly
&lt;/h2&gt;

&lt;p&gt;Meta is not silent about countries in general. The Marketing Messages API changelog records upcoming rates for Argentina, Australia, Chile, Colombia, India, Indonesia, Malaysia, Mexico, Peru, Saudi Arabia, Singapore, UAE, UK, and US — fourteen named countries. So Meta tracks country-level economics closely enough to publish a per-country rate card. It simply never joins that to the multiplier.&lt;/p&gt;

&lt;p&gt;A search across eight documents for words explaining why a country's number should differ found zero occurrences of: competition, demand, market rate, supply, auction, expensive/cheaper, and &lt;em&gt;why&lt;/em&gt;. Meta documents the lever and not the reason.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the market says instead
&lt;/h2&gt;

&lt;p&gt;Into that gap, vendors have supplied a story. The most widely circulated guide headlines "How Meta's New Bidding Model Can Cut Your Marketing Message Costs by 25%" — attributing the 25% to Meta. A comprehensive search found &lt;strong&gt;"25%" appears zero times across all eight of Meta's HTML documents.&lt;/strong&gt; The word &lt;em&gt;auction&lt;/em&gt; appears zero times.&lt;/p&gt;

&lt;p&gt;This repeats a pattern: a mechanically complete specification, a missing rationale, and third parties filling the gap with numbers attributed to examples that are not in the docs.&lt;/p&gt;

&lt;h2&gt;
  
  
  What an Indian advertiser can actually conclude
&lt;/h2&gt;

&lt;p&gt;The WhatsApp bid multiplier is a number &lt;strong&gt;you&lt;/strong&gt; set. It is not a rate Meta charges India. Nothing in the documentation says Indian deliveries cost more or less than anywhere else.&lt;/p&gt;

&lt;p&gt;What is genuinely established: 1.2 appears for India in Meta's testing recommendation as the upper test arm, and &lt;code&gt;"IN": 1.2&lt;/code&gt; appears in the code samples as the illustrative map. Meta does not call 1.2 recommended, does not call it a starting point, and does not repeat it outside those two contexts.&lt;/p&gt;

&lt;p&gt;Practically:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Decide whether you are running marketing volume through the Marketing Messages API at all — the multiplier exists only there.&lt;/li&gt;
&lt;li&gt;If you set a multiplier, write down why you chose the number. Meta's documentation will not supply the reasoning later.&lt;/li&gt;
&lt;li&gt;Treat 1.2 for India as an example that appeared in a test design, not as a rate.&lt;/li&gt;
&lt;li&gt;Budget the test honestly: Meta's own design needs 40,000 deliveries.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The feature is real, complete, and usable. Meta shipped a per-country pricing control into a market where it already publishes per-country rates, and left the question of what any country's number should be entirely to the advertiser.&lt;/p&gt;

</description>
      <category>whatsapp</category>
      <category>meta</category>
      <category>marketing</category>
      <category>india</category>
    </item>
    <item>
      <title>The WhatsApp user_id_update webhook Meta told you to subscribe to doesn't exist</title>
      <dc:creator>botsense seo</dc:creator>
      <pubDate>Mon, 17 Aug 2026 07:37:32 +0000</pubDate>
      <link>https://dev.to/botsense_seo/the-whatsapp-useridupdate-webhook-meta-told-you-to-subscribe-to-doesnt-exist-3jni</link>
      <guid>https://dev.to/botsense_seo/the-whatsapp-useridupdate-webhook-meta-told-you-to-subscribe-to-doesnt-exist-3jni</guid>
      <description>&lt;p&gt;Meta's July 2026 WhatsApp documentation told developers to subscribe to a &lt;code&gt;user_id_update&lt;/code&gt; webhook field to detect BSUID changes. On 11 August 2026, Meta corrected the page. The field doesn't exist, was never subscribable, and never appeared in the App Dashboard.&lt;/p&gt;

&lt;p&gt;If you found this after spending hours trying to locate &lt;code&gt;user_id_update&lt;/code&gt; in the App Dashboard — you were following the docs correctly. The docs were wrong.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is a BSUID?
&lt;/h2&gt;

&lt;p&gt;A BSUID (business-scoped user ID) is a privacy layer in the WhatsApp Business Platform. Instead of exposing a user's phone number directly, WhatsApp assigns a unique identifier per business-user pair.&lt;/p&gt;

&lt;p&gt;Format: &lt;code&gt;CC.&amp;lt;up_to_128_chars&amp;gt;&lt;/code&gt; — for example &lt;code&gt;91.abc123xyz&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Key property: &lt;strong&gt;BSUIDs can change without the user changing their phone number.&lt;/strong&gt; This is why BSUID change events exist in the first place.&lt;/p&gt;

&lt;h2&gt;
  
  
  How BSUID changes are actually delivered
&lt;/h2&gt;

&lt;p&gt;BSUID change events are delivered on your &lt;strong&gt;existing &lt;code&gt;messages&lt;/code&gt; webhook subscription&lt;/strong&gt; as a system message — not on any new field. The webhook payload looks like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"object"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"whatsapp_business_account"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"entry"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[{&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="nl"&gt;"changes"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"value"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"messages"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[{&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"system"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="nl"&gt;"system"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"type"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"user_changed_user_id"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"identity"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"new_bsuid_value"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
            &lt;/span&gt;&lt;span class="nl"&gt;"wa_id"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"phone_number"&lt;/span&gt;&lt;span class="w"&gt;
          &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="p"&gt;}]&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"field"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"messages"&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}]&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;}]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  The silent enum change you also need to know about
&lt;/h2&gt;

&lt;p&gt;There's a breaking enum value change that happened silently:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Before (July 2026 docs):&lt;/strong&gt; &lt;code&gt;user_changed_user_id&lt;/code&gt; meant the user's &lt;strong&gt;phone number&lt;/strong&gt; changed&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;After (August 2026 correction):&lt;/strong&gt; &lt;code&gt;user_changed_user_id&lt;/code&gt; means the user's &lt;strong&gt;BSUID&lt;/strong&gt; changed (phone number unchanged)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Current enum for phone changes:&lt;/strong&gt; &lt;code&gt;user_changed_number&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If your integration was checking &lt;code&gt;system.type === "user_changed_user_id"&lt;/code&gt; to detect phone number changes, you were using the wrong trigger even when the docs said otherwise. That logic now means BSUID change.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you need to do
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Audit your webhook handler&lt;/strong&gt; — find any code checking &lt;code&gt;system.type&lt;/code&gt; values&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Map existing logic:&lt;/strong&gt; rename &lt;code&gt;user_changed_user_id&lt;/code&gt; handlers to BSUID change handlers&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Phone number changes:&lt;/strong&gt; use &lt;code&gt;user_changed_number&lt;/code&gt; going forward&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;No new webhook subscription needed&lt;/strong&gt; — BSUID change events come through your existing &lt;code&gt;messages&lt;/code&gt; subscription as system messages&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Delete any &lt;code&gt;user_id_update&lt;/code&gt; subscription logic&lt;/strong&gt; — the field does not exist, was never valid&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The full breakdown
&lt;/h2&gt;

&lt;p&gt;The complete technical write-up — including the exact payload format, enum reference table, migration checklist, and what Meta's correction actually says — is on the BotSense blog:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://botsense.io/blog/whatsapp-bsuid-webhook-user-id-update/" rel="noopener noreferrer"&gt;WhatsApp BSUID webhook: the user_id_update field that doesn't exist&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;If you hit this while building a WhatsApp integration, drop a comment — curious how many teams were blocked by this.&lt;/p&gt;

</description>
      <category>whatsapp</category>
      <category>webhook</category>
      <category>api</category>
      <category>webdev</category>
    </item>
    <item>
      <title>What Actually Happens to Your WhatsApp Number When You Change API Providers</title>
      <dc:creator>botsense seo</dc:creator>
      <pubDate>Thu, 13 Aug 2026 13:20:38 +0000</pubDate>
      <link>https://dev.to/botsense_seo/what-actually-happens-to-your-whatsapp-number-when-you-change-api-providers-3go9</link>
      <guid>https://dev.to/botsense_seo/what-actually-happens-to-your-whatsapp-number-when-you-change-api-providers-3go9</guid>
      <description>&lt;p&gt;Most of the guides on switching WhatsApp Business API providers focus on what you need to do &lt;em&gt;before&lt;/em&gt; you sign with a new provider. This one focuses on what happens &lt;em&gt;after&lt;/em&gt; — to your phone number, your templates, and your throughput — because that part is almost never explained clearly.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Update — August 2026:&lt;/strong&gt; Meta is restructuring its WhatsApp Business Account model. Some of the steps below (particularly around account migration) may change once the new account architecture is fully rolled out. Check your provider's documentation for the latest migration flow.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  There are three different exits
&lt;/h2&gt;

&lt;p&gt;When you leave a WhatsApp API provider, there isn't one universal process. There are three distinct paths, and which one applies to you depends on what you agreed to when you onboarded:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Exit type&lt;/th&gt;
&lt;th&gt;What it means&lt;/th&gt;
&lt;th&gt;Who controls it&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Migrate&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Your phone number moves to a new BSP while staying connected to the same WABA&lt;/td&gt;
&lt;td&gt;You (with both BSPs cooperating)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Deregister&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Your number is detached from the API entirely; you keep the number&lt;/td&gt;
&lt;td&gt;Your current BSP initiates&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Delete&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Your WABA and number are removed from the WhatsApp Business platform&lt;/td&gt;
&lt;td&gt;Meta or BSP on your request&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Most legitimate provider switches use the &lt;strong&gt;migrate&lt;/strong&gt; path. The deregister path is used when a BSP is offboarding a client and the client hasn't arranged a destination. The delete path is irreversible and should only happen intentionally.&lt;/p&gt;




&lt;h2&gt;
  
  
  The 30-day lock
&lt;/h2&gt;

&lt;p&gt;Once you initiate a number migration or deregistration, Meta enforces a &lt;strong&gt;30-day re-registration lock&lt;/strong&gt; on that phone number.&lt;/p&gt;

&lt;p&gt;This is commonly misunderstood. The 30 days starts from the date of the last paid message sent through the API — &lt;strong&gt;not&lt;/strong&gt; from the date you submit the migration request. If you sent a message yesterday, the clock started yesterday.&lt;/p&gt;

&lt;p&gt;During those 30 days, the number cannot be registered with a new provider through the standard API flow. This is a platform-level restriction, not a BSP policy.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Practical implication:&lt;/strong&gt; If you need zero downtime, you have to plan the cutover carefully — typically by keeping the old provider active until the new provider's setup is fully tested, then migrating in a maintenance window.&lt;/p&gt;




&lt;h2&gt;
  
  
  What happens to your templates
&lt;/h2&gt;

&lt;p&gt;Templates are tied to your WhatsApp Business Account (WABA), not to your provider. When you migrate your phone number to a new BSP, your templates follow the WABA.&lt;/p&gt;

&lt;p&gt;However, there's an important nuance around &lt;strong&gt;template quality ratings&lt;/strong&gt;:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Template status before migration&lt;/th&gt;
&lt;th&gt;Status after migration&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;APPROVED + GREEN quality rating&lt;/td&gt;
&lt;td&gt;Duplicated to new WABA; quality resets to UNKNOWN&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;APPROVED + YELLOW or RED&lt;/td&gt;
&lt;td&gt;Duplicated; quality resets to UNKNOWN&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PENDING or REJECTED&lt;/td&gt;
&lt;td&gt;Not carried over&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;"Quality resets to UNKNOWN" means the new BSP's system has no quality history for that template. The template is live and usable, but it will go through Meta's quality monitoring cycle again based on user feedback signals.&lt;/p&gt;

&lt;p&gt;In practice, if your templates have been performing well (low block rates, high read rates), they should re-establish GREEN quality quickly. If you have templates with history of poor engagement, migration is a good time to revise them.&lt;/p&gt;




&lt;h2&gt;
  
  
  Coexistence, and what it costs
&lt;/h2&gt;

&lt;p&gt;During a migration window, some BSPs support a &lt;strong&gt;coexistence period&lt;/strong&gt; where both the old and new providers are technically active on the same WABA simultaneously.&lt;/p&gt;

&lt;p&gt;If this is the case, your &lt;strong&gt;messaging throughput is split&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Standard throughput: &lt;strong&gt;80 messages per second (mps)&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;During coexistence with two active BSPs: &lt;strong&gt;20 mps per BSP&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is not a temporary technical limitation — it's how Meta allocates throughput across concurrent API connections. If you're sending high-volume campaigns during a migration window, you need to account for this throughput reduction in your sending schedule.&lt;/p&gt;

&lt;p&gt;Once the migration is complete and the old BSP connection is closed, throughput returns to the standard 80 mps.&lt;/p&gt;




&lt;h2&gt;
  
  
  One thing you cannot do through the API
&lt;/h2&gt;

&lt;p&gt;You &lt;strong&gt;cannot delete a WhatsApp Business Account or phone number through the API&lt;/strong&gt;. This action is only available through &lt;strong&gt;WhatsApp Manager&lt;/strong&gt; (the web interface at business.facebook.com/wa/manage).&lt;/p&gt;

&lt;p&gt;This matters because some clients, after migrating to a new provider, want to cleanly remove their old WABA entry. That requires logging into WhatsApp Manager directly — neither your old nor your new provider can do this on your behalf through API calls alone.&lt;/p&gt;




&lt;h2&gt;
  
  
  Five questions to ask before you sign
&lt;/h2&gt;

&lt;p&gt;Before committing to a new provider, get clear answers to these:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Do you support direct number migration, or does the old number need to be deregistered first?&lt;/strong&gt; (Deregistration triggers the 30-day lock; migration may not, depending on the flow)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;What is your coexistence window policy?&lt;/strong&gt; (Some providers require the old connection to be terminated before they can activate; this creates a gap)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Who is responsible for template integrity during migration?&lt;/strong&gt; (Get this in writing — templates getting stuck in PENDING after a migration is a known failure point)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;What throughput can I expect during the transition period?&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;How do you handle the 30-day lock if it applies to my number?&lt;/strong&gt; (A good provider will have a documented answer; "we'll figure it out" is not acceptable)&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  The short version
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;There are three exit paths from a WhatsApp API provider: migrate, deregister, or delete — and they're not interchangeable&lt;/li&gt;
&lt;li&gt;The 30-day lock starts from your last paid message, not from your migration request date&lt;/li&gt;
&lt;li&gt;Your templates follow the WABA and survive the migration, but quality ratings reset to UNKNOWN&lt;/li&gt;
&lt;li&gt;If two BSPs are simultaneously active on your WABA, throughput drops from 80 mps to 20 mps per BSP&lt;/li&gt;
&lt;li&gt;Account deletion can only be done through WhatsApp Manager, not through any API call&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Sources
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://developers.facebook.com/docs/whatsapp/phone-numbers/migrate-phone-number" rel="noopener noreferrer"&gt;WhatsApp Business Platform — Migrate Phone Number to a New Business Service Provider&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.facebook.com/docs/whatsapp/phone-numbers" rel="noopener noreferrer"&gt;WhatsApp Business Platform — Phone Number Registration&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.facebook.com/docs/whatsapp/message-templates" rel="noopener noreferrer"&gt;WhatsApp Business Platform — Message Templates&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.facebook.com/docs/whatsapp/cloud-api/overview#throughput" rel="noopener noreferrer"&gt;WhatsApp Business Platform — Throughput&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developers.facebook.com/docs/whatsapp/business-accounts" rel="noopener noreferrer"&gt;WhatsApp Business Platform — WhatsApp Business Accounts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://business.facebook.com/wa/manage" rel="noopener noreferrer"&gt;WhatsApp Manager&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;Original post: &lt;a href="https://botsense.io/blog/whatsapp-api-changing-providers-india/" rel="noopener noreferrer"&gt;What Actually Happens to Your WhatsApp Number When You Change Providers&lt;/a&gt; on Botsense.io&lt;/em&gt;&lt;/p&gt;

</description>
      <category>whatsapp</category>
      <category>api</category>
      <category>india</category>
      <category>saas</category>
    </item>
  </channel>
</rss>
