WhatsApp Business API

The MaviBot builder also supports the official WhatsApp Business API.

How to purchase WhatsApp Business API

You can purchase access via the WEB from the reseller: https://360dialog.com/

  1. To register with 360dialog, you need to create a Facebook Business account. You must specify the organization's website and domain name. For example, if your website address is www.example.com, the associated email should be formatted like [email protected].

Note: email addresses from services like GMail, Yahoo, iCloud, and others will not be accepted during registration on the 360dialog website (https://www.360dialog.com/).

  1. After creating and verifying your Facebook Business Account, you should register with 360dialog. The phone number must exactly match the one listed in your Facebook account. Following registration and moderation with 360dialog, you will need to generate an API key.

Generating an IP key in Dialog360

How to connect WhatsApp Business

To connect the WhatsApp Business API (WABA) to your project, go to the Messengers section and select WhatsApp Business API.

Connecting the WhatsApp Business API

In the window that opens, enter:

  • The phone number (including your country code)

  • The generated API key

Setup is now complete. You do not need to keep your phone online at all times; the bot will operate stably and autonomously.

Message templates for WhatsApp Business API

When using the WhatsApp Business Api, users cannot write to clients at any time of the day and send unlimited messages when creating a bot, similar to the gray Whatsapp, outside the 24-hour customer service window.

Outside of the 24-hour window, only WhatsApp message templates (or WhatsApp template messages) can be used, during which communication takes place for free within the selected category.

This functionality is used in WhatsApp to prevent spam mailings by limiting the number of allowed messages in a certain time interval, as well as by assigning a category to templates.

There are the following message categories installed for WhatsApp Business Api by Meta:

1. Useful templates (contain specific information about transactions, invoices, payments, etc.);

2. Templates for marketing (information about the company, organization, strategies, advertising and promotion);

3. Templates for verification and authentication.

The templates created for WABA are being moderated.

The main reasons for template rejection

A significant number of templates fail WhatsApp moderation for several reasons:

  1. Excessive advertising: WhatsApp Business rejects templates overloaded with ads and promotional content. If moderators or the platform's AI determine that advertising overshadows the core message, the template will be blocked.

  2. Violation of Product Policy: templates promoting prohibited items such as narcotics, psychotropic substances, alcohol, tobacco, intimate services, or any content deemed degrading to human dignity will be rejected.

  3. Ambiguity, omission, or falsehood: if WhatsApp moderators detect any hidden subtext, misleading information, or a lack of clear details about your company or service, the template will not be approved.

  4. Collection of confidential information: templates designed to gather sensitive user data (e.g., passport numbers, bank card details, personal ID numbers, home addresses) will fail moderation.

  5. Offensive content: any message containing information that could offend users based on race, nationality, gender, identity, or other criteria will be rejected.

  6. Discretionary rejection: WhatsApp moderators reserve the right to reject templates without providing a specific reason.

How to install message templates

Since templates are created from blocks, you must first create a block in your flow before using it for a WhatsApp Business API template.

  • Cost & first message: Sending template messages is free within the 24-hour conversation window. The first message to a client can only be a template that has been approved by Meta (Facebook).

  • After 24 hours: Once 24 hours have passed since the chat was opened, you can only send another approved template to re-engage the user.

  • Moderation note: Templates may fail moderation if they contain variables (in either Cyrillic or Latin scripts).

Creating templates in MaviBot

  1. Go to the Channels section, select WhatsApp Business API, and then choose Message templates.

  1. Click the "Create template" button. This opens the template creation page.

  2. Templates are linked to blocks in your flow. By default, the template content is pulled from the block, but you can specify custom text and buttons.

  1. The message template will be submitted for moderation upon creation. You can only use approved templates. Moderation typically takes about 8 hours, with a maximum of 48 hours.

Template types

There are 3 types of templates available to choose from.

You can attach an image to the MARKETING template in the following formats: SVG, PNG, JPG, and GIF.

How to pass variables in templates

Variables in templates are handled the same way as throughout MaviBot, not according to WhatsApp's native format.

Using variables in WhatsApp template messages

If you need to use variables in message templates, follow this rule: always write variable names using Latin letters only, for example, #{example}. After sending, verify that the variables are processed correctly by checking the message via the provided link.

If a template contains a variable, but the bot does not assign a value to it or the value is missing, the message will not be sent!

How buttons work in templates

Message templates support buttons. In MaviBot, buttons are set similarly to the syntax

Facebook API. You can get acquainted with him by following the link:

The buttons are set in the JSON array format.

Button creation parameters:

Parameter

Required

Description

type

Yes

Values: PHONE_NUMBER, URL, and QUICK_REPLY

text

Yes

Button text

url

No

The URL that will be opened

when the button is clicked. You can use variables to

create dynamic links.

phone_number

No

The phone number to which

the call will be made when the button is pressed

example

No

Provides an example of possible data for your template. This helps with the review and approval process so that you can

understand which message you plan to send. Make sure

that these are examples and do not contain any confidential or personal information.

For example: Message with two buttons: [{"type":"QUICK_REPLY", "text": "Yes, convenient"}, {"type":"QUICK_REPLY", "text": "Inconvenient"}]

Button features in templates

There are two types of buttons available in template messages:

  1. Call-To-Action (CTA): A button for a link or phone number (displayed with a link or handset icon next to its text).

  2. Quick Reply: Standard text buttons with a limit of 20 characters.

Limitations:

  • A single template can contain up to 3 Quick Reply buttons and up to 2 Call-to-Action buttons. However, you cannot use two links or two phone numbers simultaneously.

  • Buttons cannot include variables, line breaks, emojis, or formatting symbols.

Behavior:

  • Clicking a Quick Reply button sends its text as a reply message from the user.

  • A Call-to-Action button can open a link to a file.

  • Clicking a Call-to-Action button for a phone call opens the standard dialer. On WhatsApp Web, a notification will appear stating that calls cannot be made from the desktop version.

How does template moderation work

Each template is submitted for moderation immediately after creation. The process typically takes about 8 hours, with a maximum review time of 48 hours.

You can track the moderation status in your template list.

If a template is rejected, the reason for rejection will be provided.

Templates with a high approval likelihood typically:

  • Use clear, professional language.

  • Serve a specific, legitimate use case (e.g., appointment reminders, order updates).

Important: Text in italics can be variable and customized.

Hello, we haven't been able to reach you. Would it be convenient for you to continue communicating here?

Hello, you left a message on the website and asked me to contact you.(subject to change)

Hello, I am John Smith from MaviBot. Earlier you applied for the creation of a chatbot. We are glad to inform you that we have some news for you.

Templates that will not pass moderation:

any advertising text

How to check if you are within the 24-hour window

You can determine how many days have passed since the client's last message by using the days_from_last_message() function in your trigger condition.

Example of checking for the 24-hour window:

days_from_last_message() == 0

How to use buttons without templates

There are two types of buttons available outside of templates, configured the same way as in other messengers:

  1. Reply buttons: A maximum of 3 can be used in a block.

  2. Inline buttons: You can create up to 10, and they appear as shown in the example.

Important limitations for non-template buttons:

  • Buttons can only contain text. Links are not supported.

  • Their sole function is to move the client from one block to another within your flow.


Restrictions for unverified accounts

Unverified Facebook Business accounts face the following limits:

  • 50 template messages per day (included in the monthly fee).

  • No restrictions on incoming messages.

To lift these restrictions, your company must complete the Business Verification process, which typically takes 2–3 weeks.

Payment systems

Check with your reseller for the pricing of incoming and outgoing messages for unverified accounts.

Payment is made directly to 360dialog.

Message sending errors

Possible reasons for delivery failure:

  1. The recipient's phone number is not registered on WhatsApp.

  2. Attempting to send a template from the "Authentication" category to a WhatsApp user with the country code +91 (India). Currently, Authentication category templates cannot be delivered to users in India.

  3. The recipient has not accepted the updated Terms of Service and Privacy Policy.

  4. The message was not delivered to maintain a high-quality user experience (this is a general policy block).

Last updated