Message Not Delivered

The following scenarios can cause a message to appear as sent but not delivered. For many of these reasons, we will not disclose the underlying cause of the error, due to privacy and policy reasons.

  • The customer did not come online during the 30 day window where we hold messages for offline customers.
  • The customer has blocked the business phone number, or another business phone number owned by the business.
  • The customer is in a restricted or sanctioned country.

In some scenarios, the API returns an error code with an error message describing the nature of the error. Example scenarios:

  • Invalid request parameters
  • Integrity errors
  • The customer has not accepted our new Terms of Service and Privacy Policy. Please send your end user this link to accept the latest Terms of Service.
  • The customer is using an old version of WhatsApp. Customers should use the following version or greater:
    • Android:
    • SMBA:
    • iOS:
    • SMBI:
    • KaiOS: 2.2130.10
    • Web: 2.2132.6
  • The customer is part of an experiment group.
  • The message was not delivered to create a high quality user experience. See Per-User Marketing Template Message Limits.

Possible Solutions

Using a non-WhatsApp communication method, ask the WhatsApp user to:

  • confirm that they can actually send a message to your WhatsApp business phone number(s)
  • confirm that none of your WhatsApp business phone numbers are in their list of blocked numbers (Settings > Privacy > Blocked or Blocked contacts)
  • confirm that they have accepted our latest Terms of Service (Settings > Help, or Settings > Application information will prompt them to accept the latest terms/policies if they haven't done so already)
  • update to the latest version of the WhatsApp client

Country Restrictions

Businesses in Cuba, Iran, North Korea, Syria, and three sanctioned regions in Ukraine (Crimea, Donetsk, Luhansk) are not eligible to use the WhatsApp Business Platform.

WhatsApp Messenger (WhatsApp) and WhatsApp Business app users in Cuba, Iran, North Korea, Syria, and three sanctioned regions in Ukraine (Crimea, Donetsk, Luhansk) are not eligible to receive messages sent via the WhatsApp Business Platform.

Businesses in Turkey can use the platform, but messages sent via API to WhatsApp users who have a Turkish country calling code will not be delivered, and messages sent from these users to a business phone number registered for use with Cloud API or On-Premises API will not be delivered.


Conflicting Message Delivery Status

In rare cases, the same message may trigger both success and failure message status update webhooks. For example, a message may trigger message webhooks with "status":"delivered" and another webhook with "status":"failed". This can happen when a customer is logged in to WhatsApp on multiple devices and the message is successfully delivered to one device but not the other. Any message that triggers a "delivered" message status webhook has been delivered to at least one of the user's devices.

Error Code 2 - API Service

When we update the API, you may experience up to 5 minutes of downtime. During this period of time, the service is unavailable. We try to make these updates with minimal disruption to businesses, but you may end up being affected

How To Debug

We suggest that you wait 5 minutes and try to make the API call again.

Authentication and Authorization Errors

These errors are returned when there was a problem with the access token you are using for the API call.

How To Debug

You can directly paste the access token you are using into the Access Token Debugger. Then, check if you have selected the whatsapp_business_management and whatsapp_business_messaging permissions.

If your token doesn’t have access to the permissions, you need to generate a new one. While generating the token, make sure to select:

  • The Meta app you are using for the API calls
  • The following permissions: whatsapp_business_management and whatsapp_business_messaging


General FAQs

We expect Cloud API to provide the same key features as the On-Premises API soon, including user change notifications and sticker pack management. Our goal is for the Cloud API to become the preferred platform for new features.

We will release updates monthly with new features and improvements. There is no work required to access these features - the Cloud API updates automatically.

WhatsApp develops and operates the WhatsApp Business API, which enables businesses to communicate with WhatsApp consumer users on the WhatsApp network. When using the Cloud API, Meta will host the WhatsApp Business API for you and provide an endpoint for the WhatsApp service for your incoming and outgoing WhatsApp communications.

No, we will continue to provide the On-Premises API for now. See On-Premises API for information.

No, there is no difference in messaging prices between the Cloud API and the On-Premises API. Access to Cloud API is free, and we expect it to generate additional cost savings for developers. The two types of cost savings for the Cloud API are 1) set up cost (including server or external cloud provider cost), 2) ongoing cost of maintenance (including engineering time for API upgrades).

A Solution Partner can select which setup a given client should use. We recommend that the majority of clients use the Cloud API for ease of implementation and maintenance. Solution Partners can also continue to maintain integration with the On-Premises API.

We want to make it clear what it means to message with a business on WhatsApp. Some businesses may choose to use Meta or another company to help them manage and store their messages. When a business chooses to manage their messages with another company, we will let consumers know by showing a different system message. Learn more.

Technical Implementation FAQs

The Cloud API architecture significantly simplifies the Solution Partner's operational and infrastructure requirements to integrate with WhatsApp Business Platform. First, it removes the infrastructure requirements to run Business API docker containers (CAPEX savings). Second, it obviates the need of operational responsibilities to manage the deployment (OPEX savings). For details, refer to the architecture diagram comparing the On-Premises and Cloud API deployments.

Solution Partners and direct clients do not need the WebApp and CoreApp containers that are used in the On-Premises API. Meta will manage all database data and media data on behalf of the Solution Partner or direct client.

As your on-premises performance depends heavily on your hardware, software, and connectivity to WhatsApp servers, if you wish to understand these differences, you can perform your own load tests on Cloud API as you might have done for your own on-premises installation. You can also refer to our performance comparison to understand more details around how the on-premise and Cloud APIs compare.

Migrating between the on-premises and Cloud APIs is seamless, and can be done bidirectionally. See migration details for more information.

Reliability FAQs

Please view the API Status Page document for more details.

Availability is updated once a day.

There could be situations where certain user errors can be automatically counted incorrectly toward downtime. In these situations, we will override the downtime to uptime after detailed analysis within a week.

There may be issues that do not impact our global availability. In these cases, the WhatsApp Business API Status Page will have a status to reflect that there may be some disruptions that are not affecting global availability. Please submit a Direct Support ticket to investigate further.

There are the cases where downtimes in availability are not automatically tracked:

  • Network issues causing requests to fail before they reach the Graph API layer (first layer).
  • Network issues causing outbound webhooks not to reach business's webhook endpoint.

Any issues that surface before admission into our system after this point will appear as either error or missed success. Also issues encountered after the first attempt to emit the webhook will continue to be retried, until it is successfully delivered to the webhook endpoint.

The other cases that are reflected in the availability dashboard after manual detection are (not system error):

  • Meta authentication issues like auth token (security libraries) are determined whether they are legitimate requests failing authentication or authorization.
  • Validation that rejects legitimate requests.

In both cases WhatsApp will detect and account for those issues after the fact, near real time, but not real time.

We do not currently offer commercially available product service level agreements for uptime and/or latency.

We will have disaster recovery and data replication across multiple regions. The expected downtime would be within our SLA and usually in the order of less than a minute to less than five minutes.