OneRoute
  • Introduction
  • Prerequisites
  • Whatsapp API
    • Sandbox (Test API Key)
    • Getting Started
    • Endpoints
      • Fetch Channels
      • Fetch Channel Templates
      • Send Template Message
      • Send Campaign Message
      • Send Session Message
    • FAQ
  • EMAIL API
    • Getting Started
    • Endpoints
      • Fetch Email Channels
      • Send Email to Customers
  • SMS API
    • Getting Started
    • Endpoints
      • Fetch SMS Channels
      • Send SMS to Customers
      • Send OTP SMS to Customers
      • Fetch SMS Messages
      • Get SMS DLR Message
  • ONEOTP API
    • Getting Started
    • Endpoints
      • Fetch OTP Templates
      • Send OTP
      • Verify OTP
  • EMBED
    • Getting Started
    • Installation
    • Push Notification
  • OTHERS
    • Receiving Events - Webhooks
    • Fetch Channel By Id
    • Fetch Logs
Powered by GitBook
On this page
  • Send a WhatsApp Campaign Message
  • Example Request Payload

Was this helpful?

  1. Whatsapp API
  2. Endpoints

Send Campaign Message

Send a WhatsApp Campaign Message

POST https://api.oneroute.io/api/public/whatsapp/campaign

This endpoint is designed for WhatsApp template campaigns with many recipients.

Template messages can be delivered at any time. Each template needs to be registered and pre-approved by WhatsApp

We recommend sending the campaign in one request so that it can be grouped else it will be treated as an individual request. All recipients, corresponding templates, and template parameters are included in an array as shown in the example request payload below

Headers

Name
Type
Description

apiKey

string

API Key for authentication.

Request Body

Name
Type
Description

messages.*.save

boolean

To save the message as a conversation on OneRoute or not.

messages.*.template

object

The template object

messages

array

An array of messages to send

from

string

messages.*.to

string

Whatsapp number to send template message to.

messages.*.template.name

string

the template name

messages.*.identifier

string

a unique id you want give each messages

{
    "data": {
        "campaign_id": "868a4f7f-3e41-4cd2-aba5-655c8b2ae2bb"
    },
    "message": "Data received",
    "success": true
}
{
    "data": null,
    "success": false,
    "message": "\"template\" is required"
}
{
    "data": null,
    "message": "Invalid API Key",
    "success": false
}

Example Request Payload

{
    "messages": [
        {
            "identifier": "unique_id",
            "template": {
                "name": "first_welcome_messsage",
                "parameters": [
                    {
                        "type": "text",
                        "text": "Michael"
                    }
                ] // leave the array empty if no placeholders in the template
            },
            "to": "234XXXXXXXX",
            "save": true
        },
         {
            "identifier": "unique_id",
            "template": {
                "name": "new_conversation",
                "parameters": [
                    {
                        "type": "text",
                        "text": "Timothy"
                    }
                ] // leave the array empty if no placeholders in the template
            },
            "to": "234XXXXXXXX",
            "save": true
        }
    ],
    "from": "234XXXXXXXX"
}

Here is a diagram flow of the lifecycle of a campaign

PreviousSend Template MessageNextSend Session Message

Last updated 3 months ago

Was this helpful?

To get the status of your campaign, you may call the , and pass the campaign ID. A request will also be pushed to your registered webhook upon campaign completion. You can also get the individual message status by passing the identifier to the url query. You can see more details .

logs API
here