WhatsApp For Business API

Overview

Our WhatsApp Business Platform (WAB) API allows you to interact with WhatsApp users via your WhatsApp Business Account.

This is a quick overview to guide you through the sign up and on-boarding process for WhatsApp Business API. Contact your existing Messaging Platform solutions provider for an overview of WhatsApp Business application features and services.


Onboarding Process

For WhatsApp Business API pricing, and to sign up to our WhatsApp Business API, contact your Account Manager.

Our provisioning team will provision your Mobile Gateway WhatsApp Business API in our system.

You will need to assign a User who has access to your businesses Facebook account.

Our provisioning team will email your designated User a URL link. This will direct the User to our interface, and guide you through the Embedded Sign Up process.

Developer Information

Please see our API Documentation for details and code samples.

Embedded Sign Up

Visit Embedded Sign Up process documentation for details on the process and the role we play as your WhatsApp Solution Provider.


Message Templates

For more information on managing Message Templates within your existing WhatsApp Business Application, visit the Message Template Guidelines or the Business Management API Guide - Templates documentation by Meta.


Webhooks

Visit this link for more information on managing Webhooks within your existing WhatsApp Business Application, or contact your existing Messaging Platform solutions provider.


MO Callback

You will only receive MO messages if you have configured an MO callback URL within your API Configuration.

We recommend using https:// for your callback URLs.

infoImportant: If your callback URL includes authentication credentials, ensure all special characters are correctly URL encoded. For more information please visit https://www.w3schools.com/tags/ref_urlencode.asp
warningNOTE: The security certificate must match the domain name being used, self signed certificates will not verify and will generate errors.

When a MO message is received for you a POST request is made to the MO callback URL, this callback will include the MO message detail as a JSON object in the body of the POST request.

POST callback-url

{
  "id": str:id,
  "source": str:source,
  "Destination": str:destination,
  "content": obj:content,
}

These are nofications which will be included in content - Whatsapp Message Notification

Message type Description
Audio Audio / voice note.
Button Represents a button reply selected by the user in response to a button message sent by your business.
Context Provides information about the message this message is replying to (threading).
Document Document / file (e.g. PDF, etc.).
Errors Lists any errors associated with sending a message, typically included when status is failed.
Identity Indicates a change in user identity information, such as phone number or profile.
Image An image sent by user. Payload includes media metadata.
Interactive Interaction type messages (e.g. replies to interactive messages your business sent, like list-messages or buttons)
Referral Metadata showing how the user came into contact with your business (e.g., ad click, QR code, link).
Sticker Sticker media.
System System-level notifications such as user identity/phone-number changes
text Plain text message
Template Represents a template message sent by the business, including name, language, and dynamic components.
Type Specifies the kind of message or event, helping the backend parse content correctly (e.g., text, image, interactive, sent, delivered).
Video A video sent by user.

The value “base64” will be supplied for messages containing binary data. Content will be supplied encoded using base64, decoding content is needed to obtain the original data. NOTE: Regular SMS messages with GSM 7-bit or Unicode content will not supply this parameter.

DLR Callback

You will only receive DLR Statuses if you have configured a DLR callback URL within your API Configuration.

We recommend using https:// for your callback URLs.

infoImportant: If your callback URL includes authentication credentials, ensure all special characters are correctly URL encoded. For more information please visit https://www.w3schools.com/tags/ref_urlencode.asp
warningNOTE: The security certificate must match the domain name being used, self signed certificates will not verify and will generate errors.

When a DLR message is received for you a POST request is made to the DLR callback URL, this callback will include the DLR Status detail as a JSON object in the body of the POST request.

POST callback-url

{
  "id": str:id,
  "status": str:status,
  "reference": str:reference,
}

DLR Message Status

The following are the status codes returned in DLRs that our message gateway supports.

Status Description
sent Message has been sent by the carrier transport
received Message has been received
rejected The carrier rejected the message
expired The carrier was unable to deliver the message in a specified amount of time. For instance when the phone was turned off.

OpenAPI Specification

The OpenAPI (Swagger) specification can be obtained from here

You can see code samples and a breakdown of the specification here.


Help

Having trouble integrating with any of our services? Contact support@modicagroup.com and we’ll help you sort it out.