Skip to main content

Whatsapp Business API — Developer Guide

Welcome to the Notify Africa WABA API! This guide will help you quickly integrate Whatsapp Business API capabilities into your applications using RESTful endpoints. You’ll find example requests, developer tips, important notes, and code snippets.


Quick Start

First, create or obtain your API key from API Management. The WABA send endpoints use that API key as a Bearer token.

All WABA send endpoints expect:

Authorization: Bearer {API-KEY}

Replace {API-KEY} with your actual API key.

Base URL

All endpoints below are relative to:

https://notify-web-assistant-api.beagile.africa

Endpoints Overview

ActionEndpointMethod
Send WhatsApp Text Message/v1/waba-api/messages/textPOST
Send WhatsApp Template Message/v1/waba-api/messages/templatePOST

Tip: All endpoint paths are relative to the base URL above.


1. Send a WhatsApp Text Message

Sends a plain text WhatsApp Business message to one or more recipients.

Example Request (cURL) — Text Message

curl -X POST https://notify-web-assistant-api.beagile.africa/v1/waba-api/messages/text \
-H "Authorization: Bearer {API-KEY}" \
-H "Content-Type: application/json" \
-d '{
"to": ["255700000001"],
"text": "Hello from the Notify Africa WABA API"
}'

Response Sample — Text Message

{
"status": 200,
"message": "WhatsApp text message send attempted",
"data": {
"results": [
{
"to": "255700000001",
"success": true,
"messageId": "wamid.HBgLMjU1NzAwMDAwMDAxFQIAERgSODZBRD...",
"error": null
}
]
},
"pagination": null
}

Helpful Notes — Text Message

  • to accepts either a single string or an array of phone numbers.
  • Duplicate recipients are removed automatically before sending.
  • The API processes up to 500 recipients per request.
  • Each result entry returns its own success, messageId, and error values.

2. Send a WhatsApp Template Message

Sends an approved WhatsApp template message to one or more recipients.

Example Request (cURL) — Template Message (With template_parameters)

curl -X POST https://notify-web-assistant-api.beagile.africa/v1/waba-api/messages/template \
-H "Authorization: Bearer {API-KEY}" \
-H "Content-Type: application/json" \
-d '{
"to": ["255700000001"],
"template_name": "hello_world",
"template_parameters": {
"body": {
"1": "John",
"2": "Acme Ltd",
"3": "INV-2026-001"
}
},
}'

Example Request (cURL) — Template Message (Without template_parameters)

curl -X POST https://notify-web-assistant-api.beagile.africa/v1/waba-api/messages/template \
-H "Authorization: Bearer {API-KEY}" \
-H "Content-Type: application/json" \
-d '{
"to": ["255700000001"],
"template_name": "hello_world",
"template_parameters": {}
},
}'

Response Sample — Template Message

{
"status": 200,
"message": "WhatsApp template message send attempted",
"data": {
"results": [
{
"to": "255700000001",
"success": true,
"messageId": "wamid.HBgLMjU1NzAwMDAwMDAxFQIAERgSNjQ1R...",
"error": null
}
]
},
"pagination": null
}

Helpful Notes — Template Message

  • template_name must match an approved template already available in the connected WhatsApp Business account.
  • template_parameters can be sent as a simple object or grouped under body, header, and buttons.
  • Body parameters are ordered by key, so numeric keys such as "1", "2", and "3" are the safest choice.
  • Media URLs in template parameters are converted into WhatsApp image, video, or document components automatically when supported.

Outbound webhook delivery is managed on Notify Portal, visit it and add your webhook URL and start receiving webhook events on messages delivery.


Pro Tips

  • Store your API key in environment variables and never hard-code it in source code.
  • Use the text endpoint for free-form business-initiated content only when your WhatsApp setup and policy allow it.
  • Use the template endpoint for approved template sends, especially for first-contact or outbound notifications.
  • Log the returned messageId for support, reconciliation, and downstream webhook matching.