This document is a log of changes to the WhatsApp Business Platform.
Cloud API
Cloud API
All APIs
Business Management API
Cloud API, version 21.0 changes
package_name
and signature_hash
parameters must be defined within the supported_apps
array when creating one-tap autofill and zero-tap authentication templates.storage_configuration
parameter to the POST /<WHATSAPP_BUSINESS_PHONE_NUMBER>/settings endpoint, which can be used to enable or disable local storage.data_localization_region
parameter from the POST /<WHATSAPP_BUSINESS_PHONE_NUMBER>/register endpoint.Cloud API
Cloud API
Cloud API
Cloud API
Cloud API
Cloud API
Business Management API
Cloud API
Cloud API, On-Premises API
Cloud API
biz_opaque_callback_data
character maximum from 256 to 512.Business Management API
cta_url_link_tracking_opted_out
field on WhatsApp Message Template node for enabling/disabling button click tracking.UTILITY
.Business Management API
Cloud API
health_status
field to various nodes for checking messaging health status.biz_opaque_callback_data
field to free-form messages for including arbitrary strings in messages webhooks.Business Management API
Business Management API, Cloud API, On-Premises API
Flows
Cloud API
data_localization_region
field on WhatsApp Business Phone Number > Register endpoint for enabling local storage.Business Management API, Cloud API, On-Premises API
code_expiration_minutes
value (instead of a default of 10 minutes) to determine if the delivered template message should display an autofill button or copy code button.code_expiration_minutes
value, if present (or after 10 minutes, if not present).Cloud API
limited_time_offer
template component.Cloud API
ctwa_clid
property to referral
object in messages webhooks. Indicates the click ID generated when the user taps an ad that clicks to WhatsApp in order to send the message.Cloud API, On-Premises API
Business Management API
add_security_recommendation
and code_expiration_minutes
template components in component
value.200
if the user identified by token has not been granted appropriate WhatsApp Business Account Access.Cloud API
throughput
and platform_type
fields to WhatsApp Business Phone Numbers.Cloud API, On-Premises API
Tools
Business Management API
Embedded Signup
Business Management API
VERIFIED
status of 28 days (up from 14).Cloud API
Business Management
Tools
Business Management
2494100
that indicates a business phone number is temporarily in maintenance mode.Cloud API
Tools
Cloud API
132015
instead of 132001
.132016
instead of 132001
.On-Premises API
2061
.2062
.Business Management API
Cloud API
On-Premises API
Business Management API
account_alerts
webhooks field.AUTHENTICATION
, MARKETING
, or UTILITY
.Business Management API
hsm_id
field to DELETE WhatsApp Business Account > Message Templates endpoint. If included, deletes a single template that matches the supplied ID (instead of deleting all templates that match the supplied name).Cloud API
last_onboarded_time
to WhatsApp Business Phone Number node. Indicates when a user created a business phone number on their WhatsApp Business Account by completing the Embedded Signup flow.Cloud API
Embedded Signup
Business Management AI, Cloud API, On-Premises API
allow_category_change
parameter to POST WhatsApp Business Account > Message Templates endpoint.INCORRECT_CATEGORY
as a new rejection reason
value for template status webhooks.previous_category
field to WhatsApp Message Templates.Business Management API
template_category_update
webhook subscription field. If subscribed to this field, anytime a template's category changes you will receive a webhook indicating the template's previous and new category.Cloud API
On-Premises API
Cloud API, On-Premises API
Business Management API
Cloud API, On-Premises API
Business Management API, Cloud API
Cloud API
AUTHENTICATION
MARKETING
UTILITY
code
and details
instead."code":100
) had multiple unique titles which indicated the nature of a given 100 error. All code 100 errors will now use Invalid parameter
as their title. Old titles that described the nature of a given code 100 error have been moved to the details
property. This change is also now reflected in webhooks payloads that describe a code 100 error response.Cloud API Webhooks
errors
object in webhooks triggered by v16.0+ request errors now include message
and error_data.details
properties, and title
values have changed for multiple error codes. Now, errors
objects have the following structure and data:[ { "code": <CODE>, "title" : "<TITLE>", "message": "<MESSAGE>", "error_data": { "details": "<DETAILS>" } }, ... ]
title
property value has been updated for the following error codes. Their old values now appear in error_data.details
.
130470
new title is now Re-engagement message
130429
new title is now Rate limit hit
131045
new title is now Incorrect certificate
131031
new title is now Business Account locked
131053
new title is now Media upload error
131027
new title is now Something went wrong
131042
new title is now Business eligibility payment issue
131026
new title is now Message Undeliverable
131000
new title is now Something went wrong
message
property value is the same as the title
property value, which indicates the error code's title.
This property maps to the message
property in API error response payloads.error_data.details
property now includes error code titles from the error codes listed above and describes the underlying cause of the error. This value maps to the details
property in API error response payloads.These changes are reflected in the following errors
properties in error-related webhooks:
entry.changes.value.errors
entry.changes.value.messages.errors
entry.changes.value.statuses.errors
Cloud API
Unverified businesses can now initiate up to 250 conversations in a rolling 24-hour period.
Applies to all Cloud API versions.
Added new optional phone_number_id
field to the Media endpoint. If you include this parameter and a business phone number ID, the operation will only be processed if the phone number ID matches the ID of the phone number upon which the media was uploaded.
Cloud API HTTP media caching is out of beta and available to everyone.
Cloud API will now reattempt to deliver failed webhooks notifications for up to 7 days instead of up to 30 days. See Webhooks Delivery Failure.
Applies to all versions.
template_performance_metrics
field. Notifies you weekly of all template performance metrics, including messages sent count, messages opened count, and top reasons for blocks.Applies to all versions.
New account_alerts
field:
account_alerts
field. Notifies you of Business, WhatsApp Business Account, and business phone number alerts.New account_update
field values:
account_update.events
value: ACCOUNT_DELETED
. Indicates that a phone number has been de-registered or deleted from a WhatsApp Business Account.message_template_status_update.events
value: PENDING_DELETION
. Indicates a message template has been marked for deletion.Sample Webhooks notifications that are sent when these new events are triggered:
ACCOUNT_DELETED
: WhatsApp Business Account DeletedPENDING_DELETION
: Template Message Pending DeletionAdded the following WhatsApp Business Account node fields:
country
(applies to v15.0+
)ownership_type
(applies to v15.0+
)business_verification_status
(applies to all versions)Applies to v15.0+.
Added the following filter options to the Business Client Whatsapp Business Accounts endpoint:
creation_time
field using GREATER_THAN
, LESS_THAN
, or IN_RANGE
operators.ownership_type
using EQUAL
or IN
operators.Added the following filter options to the Business Owned WhatsApp Business Accounts endpoint:
creation_time
using GREATER_THAN
, LESS_THAN
, or IN_RANGE
operators.ownership_type
using EQUAL
or IN
operators.country
using EQUAL
or IN
operators.Applies to v15.0+
Added the following WhatsApp Business Phone Number node fields:
is_official_business_account
messaging_limit_tier
In addition, you can filter WhatsApp Business Account Phone Numbers endpoint by is_official_business_account
.
Cloud API now supports up to 500 (up from 350) messages per second (mps) of combined text and media messages, by request. See Throughput for details.
If you already have 350 mps it will be increased to 500 mps automatically. If you already requested 350 mps but the process has not been completed, you will receive 500 mps upon completion.
We are now beta testing Cloud API media HTTP caching. If you are a Solution Partner, see Media HTTP Caching to learn how to use headers in your server responses that instruct us to cache your media assets for reuse with future messages.
Cloud API now supports captions on documents sent to and received from customers. See Media Object in the Media reference.
WhatsApp Business Accounts can now have up to 6,000 message templates if their parent business has been verified and at least one of the parent business's WhatsApp Business Accounts has a business phone number with an approved display name.
As part of this change, translated versions of a message template now count against a WhatsApp Business Account's template limit.
Businesses in India can now use a credit card to pay for messages sent using the platform. See Add a Credit Card to Your WhatsApp Business Platform Account.
You can now migrate a business phone number to and from Cloud API WhatsApp Business Accounts. See Migrate Phone Number to a Different WABA.
Cloud API only.
You can now use different callback URLs for each of your WhatsApp Business Accounts without having to create a unique app for each WhatsApp Business Account. See Overriding the Callback URL for details.
All Cloud API endpoints now support version 15 calls.
Cloud API only.
Text parameters (components.parameters.text
) for message templates that only use a body component (components.type:body
) can now total up to 32,768 characters. See Parameters object.
Cloud API only.
Cloud API now supports up to 350 (up from 250) messages per second (mps) of combined text and media messages, by request. See Throughput for details.
If you already have 250 mps it will be increased to 350 mps automatically. If you already requested 250 mps but the process has not been completed, you will receive 350 mps upon completion.
Reactions are now supported. See Send Messages - Reaction Messages to learn how to send and receive reactions and Payload Examples - Reaction Messages for webhook payload notification examples.
The about
field on business profiles is now supported. See Business Profiles for details.
Latest documentation for requesting migration from 80 messages per second to 250 messages per second of combined sending and receiving of text and media messages is now available. See Throughput.
You can now include animated stickers in outbound, business-initiated messages and receive message webhooks describing those messages the same way you would if you were sending a non-animated sticker. Refer to the Message object's sticker
property and for animated sticker asset requirements.
You can now include products and services in messages sent to customers, and customers can add them to shopping carts without having to leave the chat thread. Refer to the Sell Products & Services guide to learn how to send Single and Multi-Product messages to customers.
Businesses can now reply to any message in a conversation thread. Replies will include a contextual bubble referencing the replied-to message. Refer to the Send Messages guide to learn how to reply to a message.
Cloud API now supports up to 250 messages per second of combined sending and receiving (inclusive of text and media messages), by request. If you are an enterprise partner you can open a Direct Support ticket to request 250 MPS throughput by selecting Question Topic: "Cloud API Issues", Request Type: "Request to migrate to 250 MPS throughput" and filling out the required information.
v2.43
October 11, 2022v2.43
, there will be changes to the behavior of the contacts
endpoint
status
will change. Regardless of whether a user has WhatsApp, it will always return valid
for status
in the response and a wa_id
. There is no guarantee that the returned wa_id will be valid. These changes are applicable for both direct responses, as well as webhook responses for non-blocking calls status
and wa_id
returned in the contacts
node. In addition, sending a message on v2.39.1
or higher can be completed without calling the contacts
node Ensure your code handles a potential 1013
User is not valid error when trying to send a template message, which will be returned if you attempt to send the template message to a phone number without a WhatsApp account
For non template messages, sending a message to a phone number without a WhatsApp account will return a 470
error
v2.45
January 10, 2023Starting in v2.45
, the optional cert
parameter in the shards
node will become mandatory for all requests. Please update your integration to always include a valid cert
when calling the shards
node
Starting in v2.41.2
, businesses can use the application
node to filter out sent message statuses they are not interested in through the message
object within the webhooks
object. In v2.45
, sent_status
will be deprecated, so update your integration to use the webhooks
object in the application
node for all webhook controls
As of v2.39.1
, recipient_id
is available in both the statuses
object and in the message
object. In v2.45
, recipient_id
will be removed in the statuses
object, so update your integration to use recipient_id
under the message
object
v2.41.3
)2.41.3
The v2.41.3
version of our Business API client includes:
Added a new table index on message_receipt_log
that could benefit partners with high throughput needs. For instance, this improvement allows partners to send more than 200 messages/second.
v2.41.2
)In v2.41.2, we are introducing DB schema changes to improve the performance of the system. As a result, upgrades from v2.37.2 and v2.39.x for set ups with large databases which have millions of message and contact entries will take longer than usual.
Generally, perform upgrades during off-peak hours and upgrade lower-throughput setups first.
For large databases, follow these steps:
Run garbage collection via the /services/message/gc endpoint before your upgrade, and ensure it completes successfully
Please use the dbupgrade tool to upgrade the DB schemas prior to the version upgrade. Once done, you will be able to upgrade API versions with minimal down time. It is strongly recommended to bring the API client down before using the dbupgrade tool. Ensure the dbupgrade tool completes successfully (exit code 0), and avoid or limit API requests while the upgrade is taking place
We recommend increasing the query timeout on your database servers to one hour, until the upgrade completes successfully.
This client version contains the following features and updates:
delivered
and read
webhook notifications which gives them greater control over webhook notifications for messages. This can be achieved through the settings/applications endpointnamespace
field is optional for the template objectStarting today, the WhatsApp Business Cloud API is open to all developers building products or services for themselves or their organizations. To get started, see our guide. If you are interested in offering API access to your customers, please join our waitlist.
The following values for the category
parameter for the /WHATSAPP-BUSINESS-ACCOUNT-ID/message_template
endpoint have been deprecated for v14.0
and later:
|
|
|
The following values have been added:
TRANSACTIONAL
MARKETING
This client version contains all features and fixes shipped with v2.39.1
. Additionally, this release:
v2.39.2
.v2.39.3
.v2.39.4
is installed, businesses will get notified they received a disappearing message by a webhooks notification with type set to "ephemeral"
. Businesses will not be able to see the message's content.When we launched v2.39.3
, the disappearing messages issue was handled by WhatsApp automatically disabling these messages in the chat thread with the client. For v2.39.4
, we will not do that. With this version, businesses that receive disappearing messages must ask the customer to disable disappearing messages and resend their latest message.
2.3.8
Starting today, the Cloud API includes the following upgrades:
2.3.7
Starting today, the Cloud API is generally available to all existing Solution Partners and direct clients. Additionally, we’re releasing the following features for Cloud API developers:
POST
calls to PHONE_NUMBER_ID/deregister
in order to remove a phone number from the WhatsApp Business API. See Registration for information.referral
object is different from the On-Premises API's referral
object.Additionally, we are announcing that App Review is no longer required for first-party developers using the Cloud API. All developers are subject to the WhatsApp Business Platform messaging limits.
This version contains the same features as v2.37.1
, but there's a different expiration date. v2.37.2
expires on Sep 22, 2022.
Some Kubernetes developers may see CrashLoopBackOff
for their webapp container and their container may fail to start. To fix that, add following line in the Kubernetes deployment YML
file under webapp configuration:
command: ["/opt/whatsapp/bin/wait_on_mysql.sh", "/opt/whatsapp/bin/launch_within_docker.sh"]
The v2.39.3
version of our Business API client is available for developers today. The new client includes two fixes and additional logs to support debugging. The two fixes are:
Starting today, Cloud API beta users can start sending and list and reply button messages. See the following documentation for more details:
Starting today, Cloud API beta users can add a preview URL box to text messages that include a URL. See the following documentation for more details:
We just released the On-Premises API v2.39.2
. This version fixes a bug that prevented video messages from being sent under certain circumstances.
Starting today, Cloud API beta users can start sending and receiving video messages. The following documentation provides more information:
Starting today, WhatsApp has switched from a notification-based pricing model to a conversation-based pricing model. Businesses are charged per conversation, which includes all messages delivered in a 24 hour session. See Conversation-Based Pricing for information.
Starting today, Cloud API beta users can start sending and receiving location and contact messages. See the documentation below for more information:
We now support 80 messages per second peak throughput per phone number. This includes incoming and outgoing messages, as well as text, template and media messages.
2.39.1
)The 2.39.1
version of our Business API client is available for developers starting today. The new client includes:
1031
.hsm
type and the webhook_payload_conversation_pricingmodel_disabled
application setting.Starting with the new API client version, you may provide your phone’s certificate when you are setting up multiconnect. That means that, when calling the /v1/account/shards endpoint, you can add the Base64-encoded certificate in the cert field. See Scale Your API Client With Multiconnect for information.
We have added graph.whatsapp.com
to the list of WhatsApp server hostnames that the Business API client requires connectivity to. See Set Up and Debug Your Network, Hostnames for information.
With v2.39
, we have added error code 1031
. You will get this error if your account has been locked and can’t send any messages due to an integrity policy violation. See Error and Status Messages and Policy Enforcement for information.
hsm
type has been deprecated with v2.39
. You should use the template
type instead.webhook_payload_conversation_pricingmodel_disabled
has been deprecated.Some video messages fail to send under certain circumstances.