Meta WhatsApp Cloud API - A comprehensive guide

“We are opening WhatsApp to businesses of all sizes around the world with WhatsApp Cloud API” - Mark Zuckerberg, the CEO of Facebook, announced in May, 2022.

But what is WhatsApp Cloud API and how to use it to upscale your business? We will provide you with all the details in this blog.

The blog provides you with a look into:

  • What is WhatsApp Cloud API?
  • Key differences between WhatsApp Cloud API and WhatsApp On-premises API
  • How to get WhatsApp Cloud API for your business?
  • WhatsApp Cloud API pricing
  • Message templates for WhatsApp Cloud API
  • Frequently Asked Questions (FAQs)
  • Troubleshooting

Let’s dig in!


What is WhatsApp Cloud API?

Until May 2022, WhatsApp had 3 variants: WhatsApp for personal use, WhatsApp Business (for small businesses), and WhatsApp API (or WhatsApp Business API) for growing businesses who would like to leverage advanced features like sending message templates, automation, CRM integrations, etc. However, in May 2022, Meta Facebook announced the launch of its fourth variant: WhatsApp Cloud API (also known as Meta WhatsApp Cloud API).

WhatsApp Cloud API is a counterpart to WhatsApp Business API, but it is cloud-based. Simply put, while WhatsApp Business API is hosted on an on-premise Business Solutions Provider (BSP) server or a business's private server, WhatsApp Cloud API is hosted on Meta's cloud servers. For the same reason, WhatsApp Cloud API doesn’t require businesses to approach WhatsApp Business Solution Partners (BSPs) like Twilio to register for WhatsApp API services. Instead, they can opt for direct approval from Meta Facebook to avail WhatsApp API services. Removing the intermediaries from the process saves time, removes the hassle of applying for API through BSPs, and cuts down the costs associated with hosting and maintenance.

Are you wondering how more WhatsApp Cloud API can be different from On-premise WhatsApp Business API? We are here to help you.


Key differences between WhatsApp Cloud API and WhatsApp On-premises API

While the features offered by WhatsApp Cloud API are not very different from on-premise WhatsApp API for businesses, there are still a few significant differences.

Refer to the table below for a clear understanding.

Difference between WhatsApp on-premise API and WhatsApp Cloud API

Meta provides API access and hosting directly to businesses using WhatsApp Cloud API. This means you can get automatic access to API software upgrades and security upgrades. All you need to pay is per conversation fees by Meta without any imposed server charges.

On the contrary, WhatsApp On-premise API involves two parties: Meta and BSPs. Meta provides the API to BSPs. As a result, businesses must obtain WhatsApp API from BSPs as part of their hosting package or host WhatsApp API on their own servers. Here’s where WhatsApp Cloud API saves time with direct cloud hosting and also omits the charges induced by BSPs for hosting and maintenance.

Our latest blog can provide you with more information on how WhatsApp Cloud API can be beneficial for your business.


How to get WhatsApp Cloud API for your business?

Pre-requisites

  • Active and verified Facebook developer account
  • Facebook business page
  • Contact number where you can receive Facebook 2FA code
  • Phone number not used for WhatsApp previously. If WhatsApp has already been installed, uninstall it.
  • Admin access to CRM

There are 3 major steps you need to follow to get WhatsApp Cloud API for your business and make it work for you.

1. Get WhatsApp Cloud API through your Facebook developer account

1. Log in to your Facebook developer account and click on “Create App”.

2. Choose “Business” as your app type.

3. Enter essential details like Display name and App contact email for your business. The business account field is optional; choose from the drop-down or leave it unselected if you do not have one. Finally, click "Create app."

4. You will be redirected to the Meta dashboard. There, click "Set up" on the WhatsApp card.

5. If you did not select a business account in Step 4, you can leave it unselected here too. Facebook will automatically create a business account for your business later. Click 'Continue' to proceed.

6. Verify successful integration by sending a test message from the provided WhatsApp test number to your own WhatsApp number.

Note: You have the option to use the number provided by WhatsApp or add your own phone number.

Learn more about getting WhatsApp Cloud API through your Facebook developer account.

The next step after getting a WhatsApp API account is to generate a permanent access token. Let’s see how it is done.

2. Generate a permanent access token

1. Log in to the Facebook Business Manager, then select "App Dashboard" and navigate to the "Business Settings" section.

2. Go to "System Users" (located in Business Settings under Users) and click on "Add"

3. Provide a system username, select the system user role as “Admin”, and then click on "Create System User" to proceed.

4. Go to “Add Assets” and navigate to Apps.

5. Select your app, then activate the "Manage app" toggle. Save your changes.

6. Select your app and click on "Generate New Token" to create a token.

7.  Choose the “Never” option.

8. Check the boxes for "catalog_management", “whatsapp_business_messaging”, and “whatsapp_business_management”.

9. Select "Generate Token" and use the generated token for seamless integration between the WhatsApp Cloud API and Pepper Cloud API.

Once you have obtained the token, proceed to activate your app using the following steps.

  1. Navigate to the "Settings" section in your Facebook developer account, and then select "Basic" from the options in the left panel.
  2. Enter your website's Privacy Policy and Terms of Service URLs, then click "Save Changes" to activate the app.

Learn more about generating a permanent access token.

After creating the permanent token and launching your app, proceed to integrate the WhatsApp Cloud API with Pepper Cloud CRM.

3. Use the access token to integrate WhatsApp Cloud API with Pepper Cloud CRM

  1. Login to your CRM, navigate to Settings and select "Integrations" followed by "Channels".
  2. On the next screen, click on “New Channel”.
  3. Select “WhatsApp Cloud API” and click “Next”.
  4. In the opened popup, enter the generated access token, Phone number ID, and WhatsApp Business Account ID (from Facebook Business Manager), then click "Next."
  5. Copy and paste the Callback URL and Verify Token into Facebook Business Manager, then click "Next."
  6. Enter the Channel Name, Channel Description, and Greeting Message, then click "Finish.".

Learn more about using the access token to integrate WhatsApp Cloud API with Pepper Cloud CRM.

After integrating WhatsApp Cloud API with Pepper Cloud CRM, you can send and receive messages right from your CRM conveniently.


WhatsApp Cloud API pricing

As mentioned in the key differences between WhatsApp Cloud API and WhatsApp On-premises API, WhatsApp Cloud API is undoubtedly cost-effective. It is free to access. However, the users are charged based on conversations. The conversation includes the messages sent between the user and the business within 24 hours of initiation. This conversation-based pricing is segmented into two categories:

  • User-initiated: It refers to the conversations initiated by customers. When businesses respond to messages within the 24-hour messaging window, they will be charged user-initiated conversation fees.
  • Business-initiated: It refers to the conversations initiated by businesses outside the 24-hour messaging window. Message templates are required to start a business-initiated conversation.

However, your first 1,000 conversations each month are free. You will have to add a payment method to your WhatsApp Business account only if you want to exceed 1,000 conversations per month.

Read here to learn more about conversation-based pricing.


Message templates for WhatsApp Cloud API 

In the previous section, we mentioned message templates that are required for business-initiated conversations. Now, let us see how to create and send message templates from WhatsApp Cloud API. 

Creating message templates

The WhatsApp Cloud API message templates need to be pre-approved by WhatsApp. Here is how to create message templates:

1. Login to Facebook business manager.

2. Click “Message templates” on the left panel.

3. Click “Create Template”.

4. Choose Category, add the name and language, and click “Continue”.

5. Edit the template. Add Header, Choose media type for the header, content for the body, footer, buttons, and other necessary details.

Note:

  • You can create templates in multiple languages.
  • The templates will take time to get approved.

6. Click “Add sample” to add a sample media file.

7. Click “Submit”.

8. In the popup, click “Confirm”. The template will be submitted for review.

If you navigate to the template list, you can see the status of your submitted template. It can take up to 1 day to get approved from Facebook.

After the approval of message templates, you can access the message templates right from the CRM. 

Sending message templates

1. Navigate to the “Messages” module in your CRM.

Note: You can access the message module only if either you are the admin or the admin has provided the permissions.

2. Click the message template icon in the message window.

3. In the popup, choose the template from the dropdown and add data for variables in your template. Preview the message on the right panel and click “send”.


Frequently Asked Questions (FAQs)

1. What is a business-initiatedWhatsApp business account?

It is a variant of WhatsApp built for businesses with smaller teams. It can be downloaded for free from the app stores. For more information, read our blog on WhatsApp CRM integration.

2. What is a conversation on WhatsApp?

Conversations on the WhatsApp Business API fall into two categories and are priced differently: user-initiated (For example: customer care and general support inquiries) and business-initiated (For example: post-purchase notifications). All the conversations are measured in a 24-hour slot called as “sessions”. These 24-hour conversation sessions start whenever the first message is delivered by a business, either in response to a user inquiry or if a business-initiated message template is delivered.

3. Are all conversations paid?

The first 1,000 conversations per month for each WhatsApp Business Account (WABA) are free. In addition, conversations will not be charged when a user messages a business using a call-to-action button provided on Ads.

4. How are conversations charged?

Charges for conversations are based on the end user’s phone number. Rates for business-initiated conversations and user-initiated conversations vary by market (country or region).

Refer to the link to learn more about conversation-based pricing.

5. When can a business send a free message?

A business can send free messages within 24 hours of the last user's message in a conversation. If it’s been more than 24 hours since the last user message, a business can only send a message template.

6. How can businesses respond after the 24-hour session window?

Businesses are only allowed to reply with WhatsApp Message Template. Message Templates are pre-approved messages used to reopen the 24-hour Messaging Window or start a new conversation.

Read the article to learn more about message templates.

7. How to get WhatsApp Business with multiple users?

Connect a WhatsApp Business API account to Pepper Cloud CRM. WhatsApp Business has two variants: WhatsApp Business App - one device, one user; WhatsApp Business API - for organisations with bigger teams.

Read more about different versions of WhatsApp for business in the blog.

8. Are there any restrictions to the type of messages that I can send to my Contacts?

WhatsApp Business API has 2 types of messages:

  • Session Messages: Whenever a contact sends an incoming message to your number, a timer is set. You have 24 hours to send outgoing messages to that user without any restrictions.
  • Template Messages: After the 24 hours of the session message is finished, you can only send a pre-approved template by WhatsApp to encourage your contact to resume the conversation and you can keep sending session messages.

Read about WhatsApp templates for your business in our blog.

9. Can I use WhatsApp Groups with WhatsApp API?

Group Messages are not yet supported by WhatsApp Business API.

10. Can I receive WhatsApp calls with WhatsApp API?

WhatsApp calls are not yet supported by WhatsApp Business API.

11. What are the prerequisites to register the phone number registration for WhatsApp Business API?

To register for WhatsApp Business API:

  • The phone number must be able to receive voice calls or SMS
  • The phone number must not have been connected to WhatsApp Business API before.

Read more on how to add, register, migrate, or delete phone numbers in this link.

12. Can I register a single number for both the WhatsApp Business platform and WhatsApp Messenger?

Numbers registered with the WhatsApp Business platform cannot be registered with WhatsApp Messenger. If you no longer want to use the WhatsApp Business Platform, delete the phone number from the WhatsApp Business platform. After that, it can either be used for the WhatsApp app or may be registered again in the WhatsApp Business Platform.

Refer to the link for steps to delete your phone number.

13. Can I register more than one number on my WhatsApp Business Account?

You can register up to 2 phone numbers per WhatsApp API Account (WABA). If you want to register more than 2, please contact customer support.

14. Can I add my Landline number to WhatsApp Cloud API?

Yes, you can add your landline number to your WhatsApp Cloud API. Here is the link to know more.

15. How can I add a logo for my WhatsApp Cloud API account?

You can add a logo from the WhatsApp Manager account. Go to "Settings". Go to profiles and → Choose File.


Troubleshooting

1. I am not able to receive the messages. What to do? 

You may have to update the “message comes in URL”. Here are the steps:

  • Login to CRM > Settings > Integrations > Channels
  • In CRM, from the listing screen of channels, copy the “Message comes in URL”
  • Login to Facebook Developer’s account > Choose the app > Click on Configuration > Webhook > Click on Edit > Paste the URL. 

You should be able to receive the messages now. 

2. Why am I not able to send catalogs or messages? 

You might have not added your payment method to the Facebook Business Manager Account. Please follow the steps to add a payment method.

3. Why am I unable to group chat?

The group chat feature is not supported in the WhatsApp API.

4. Why am I getting an “Unsupported Message” error for the message sent by the sender?The sender might have sent you a Poll message. Poll messages are not supported in the CRM yet.

5. I am receiving errors on the recently added catalogs and I am unable to send them. How can I fix this?You can request the Meta to review the catalog and then you fix errors and get it resolved.

6.I am getting the error, “Invalid catalog ID” when I try to send a catalog. How to fix it? 

You need to connect the catalog in the WhatsApp Manager account and choose the same catalog to the same number that you have integrated into the CRM.

7. Why am I getting this error: “Product not found” when I try to send a catalog?You might have deleted a product from your catalog or have received an issue from the Meta team.

8. Why am I seeing the error: “People can’t buy this item” in my Meta commerce manager? You might have some issues with your product information. You can see this information in Facebook Business Manager account. Please resolve those issues and request a review from Meta again.

9. Why am I receiving this error: “None of the products provided could be sent. Please check your catalog”?You might have had an issue with the product from the Meta team or the approval for the catalog has not been given to you yet.

10. Why am I receiving the error, “Receiver is incapable of receiving this message”, when I am trying to send a message?

The number to which you are trying to send the message may not be associated with WhatsApp.

11. I am receiving an "Error validating access token" message. What are the steps to resolve this?

If your access token has expired, you will be notified of this error message. In such a case, you should delete the channel, generate a new token, and reenter the token.

Read the blog to know how to generate a token that doesn't expire (Permanent token).


In a nutshell, WhatsApp Cloud API can save you time and money and yet be a very convenient way to converse with your customers. Head to your CRM right now and integrate your WhatsApp Cloud API and enhance your sales conversation.


Recommended reading