Getting Started

The WhatsApp Web API provides a simple and powerful way to integrate WhatsApp into your applications.

To get started, you will need two credentials::
  • Access Token: A secure key used to authenticate API requests.
  • WhatsApp Instance ID: A unique identifier linked to your WhatsApp account session.

Don't have credentials yet? Subscribe here to get your Access Token and Instance ID.

Instances

Create Instance
POST

Create a new Instance ID to connect WhatsApp Web.

API endpoint:
https://panel.sendbulk.cloud/api/create_instance?access_token=6881c11f741a1
Parameters:
ParameterTypeRequiredDescription
access_tokenstringYesYour API access token
Example:
curl -X POST 'https://panel.sendbulk.cloud/api/create_instance?access_token=6881c11f741a1'
Reboot Instance
POST

Logout WhatsApp web and do a fresh scan.

API endpoint:
https://panel.sendbulk.cloud/api/reboot?instance_id=609ACF283XXXX&access_token=6881c11f741a1
Parameters:
ParameterTypeRequiredDescription
instance_idstringYesWhatsApp instance ID
access_tokenstringYesYour API access token
Reset Instance
POST

This will logout WhatsApp web, change Instance ID, and delete all old instance data.

API endpoint:
https://panel.sendbulk.cloud/api/reset_instance?instance_id=609ACF283XXXX&access_token=6881c11f741a1
Reconnect
POST

Re-initiate connection from app to WhatsApp web when lost connection.

API endpoint:
https://panel.sendbulk.cloud/api/reconnect?instance_id=609ACF283XXXX&access_token=6881c11f741a1
Logout Instance
POST

Logout from a WhatsApp Web instance.

API endpoint:
https://panel.sendbulk.cloud/api/logout?instance_id=609ACF283XXXX&access_token=EMCUH3NQQK8YXXXX

WhatsApp Login

Get QR Code
POST

Display QR code to login to WhatsApp web. You can get the results returned via Webhook.

API endpoint:
https://panel.sendbulk.cloud/api/get_qrcode?instance_id=609ACF283XXXX&access_token=6881c11f741a1
Parameters:
ParameterTypeRequiredDescription
instance_idstringYesWhatsApp instance ID
access_tokenstringYesYour API access token
Get Pairing Code
GET

Generate a pairing code to log in to WhatsApp Web using your phone number.

API endpoint:
https://panel.sendbulk.cloud/api/get_paircode?instance_id=609ACF283XXXX&access_token=EMCUH3NQQK8YXXXX&phone=62815xxxxxxxx

Messaging

Send Text Message
POST

Send a text message to a phone number through the app.

Method 1: GET Request:
https://panel.sendbulk.cloud/api/send?number=84933313xxx&type=text&message=test+message&instance_id=609ACF283XXXX&access_token=6881c11f741a1
Method 2: POST Request:
https://panel.sendbulk.cloud/api/send
POST Body Structure:
Content-Type: application/json
{
  "number": "84933313xxx",
  "type": "text",
  "message": "test message",
  "instance_id": "609ACF283XXXX",
  "access_token": "6881c11f741a1"
}
Parameters:
ParameterTypeRequiredDescription
numberstringYesPhone number (without +)
typestringYesMessage type: "text"
messagestringYesText message content
instance_idstringYesWhatsApp instance ID
access_tokenstringYesYour API access token
Send Media & Files
POST

Send a media or file with message to a phone number through the app.

Method 1: GET Request:
https://panel.sendbulk.cloud/api/send?number=84933313xxx&type=media&message=test+message&media_url=https%3A%2F%2Fi.pravatar.cc&filename=file_test.jpg&instance_id=609ACF283XXXX&access_token=6881c11f741a1
Method 2: POST Request:
https://panel.sendbulk.cloud/api/send
POST Body Structure:
Content-Type: application/json
{
  "number": "84933313xxx",
  "type": "media",
  "message": "test message",
  "media_url": "https://i.pravatar.cc",
  "instance_id": "609ACF283XXXX",
  "access_token": "6881c11f741a1"
}
Parameters:
ParameterTypeRequiredDescription
numberstringYesPhone number (without +)
typestringYesMessage type: "media"
messagestringYesCaption for the media
media_urlstringYesURL of the media file
filenamestringNoFilename (for documents: file_test.pdf)
instance_idstringYesWhatsApp instance ID
access_tokenstringYesYour API access token
Send Location
POST

Send location coordinates to a WhatsApp number.

API endpoint:
https://panel.sendbulk.cloud/api/send
Example:
curl -X POST 'https://panel.sendbulk.cloud/api/send' \
-H 'Content-Type: application/json' \
--data '{
    "number": "20100981XXXX",
    "type": "location",
    "latitude": "40.7128",
    "longitude": "-74.0060",
    "address": "New York, NY, USA",
    "instance_id": "609ACF283XXXX",
    "access_token": "EMCUH3NQQK8YXXXX"
}'
Send Contact
POST

Send contact information to a WhatsApp number.

API endpoint:
https://panel.sendbulk.cloud/api/send
Example:
curl -X POST 'https://panel.sendbulk.cloud/api/send' \
-H 'Content-Type: application/json' \
--data '{
    "number": "20100981XXXX",
    "type": "contact",
    "contact_name": "John Doe",
    "contact_phone": "+1234567890",
    "instance_id": "609ACF283XXXX",
    "access_token": "EMCUH3NQQK8YXXXX"
}'
Send Template Button/List
POST

Send a Template message to a phone number through the app.

API endpoint:
https://panel.sendbulk.cloud/api/send_template?instance_id=609ACF283XXXX&access_token=6881c11f741a1
Interactive Message Structure (Recommended):
Content-Type: application/json
{
  "number": "84933313xxx",
  "type": "interactive",
  "message": {
    "text": "This is an Interactive message!",
    "title": "Test Title",
    "subtitle": "subtitle",
    "footer": "test footer",
    "interactiveButtons": [
      {
        "name": "quick_reply",
        "buttonParamsJson": "{\"display_text\":\"Test\",\"id\":\"685250bce39ca\"}"
      },
      {
        "name": "cta_url",
        "buttonParamsJson": "{\"display_text\":\"Click me!\",\"url\":\"https://baceoin.com\"}"
      },
      {
        "name": "cta_call",
        "buttonParamsJson": "{\"display_text\":\"Call Us\",\"phone_number\":\"+1234567890\"}"
      },
      {
        "name": "cta_copy",
        "buttonParamsJson": "{\"display_text\":\"Copy Code\",\"copy_code\":\"PROMO2024\"}"
      }
    ]
  }
}
Legacy Template Format (Deprecated):
Content-Type: application/json
{
  "number": "84933313xxx",
  "type": "template",
  "message": {
    "text": "This is a template message!",
    "footer": "test footer",
    "templateButtons": [
      {
        "index": 1,
        "quickReplyButton": {
          "displayText": "Test",
          "id": "685250bce39ca"
        }
      }
    ]
  }
}
List Message Structure:
Content-Type: application/json
{
  "number": "84933313xxx",
  "type": "list",
  "message": {
    "text": "hello",
    "footer": "test footer",
    "title": "test title",
    "buttonText": "bay",
    "sections": [
      {
        "title": "hello",
        "rows": [
          {
            "title": "hello",
            "rowId": "685410595972e",
            "description": "hello"
          }
        ]
      }
    ]
  }
}
Smart Message Sending (Auto-Fallback)
POST

Automatically tries multiple message formats for maximum device compatibility. Falls back to text if interactive messages fail.

API endpoint:
https://panel.sendbulk.cloud/api/send_message_smart
Request Structure:
Content-Type: application/json
{
  "phone_number": "84933313xxx",
  "message_type": "interactive",
  "instance_id": "609ACF283XXXX",
  "access_token": "6881c11f741a1",
  "message_data": "{\"text\":\"Hello!\",\"title\":\"Smart Message\",\"footer\":\"Auto-fallback enabled\",\"templateButtons\":[{\"index\":1,\"quickReplyButton\":{\"displayText\":\"Reply\",\"id\":\"reply1\"}}]}"
}
Smart Features:
  • Auto-Detection: Tries Interactive format first
  • Legacy Support: Falls back to Template format
  • Text Fallback: Converts to text with numbered options
  • Maximum Compatibility: Works on all WhatsApp versions

Groups

Get Groups
GET

Retrieve all groups for the WhatsApp instance.

API endpoint:
https://panel.sendbulk.cloud/api/get_groups?instance_id=609ACF283XXXX&access_token=EMCUH3NQQK8YXXXX
Response:
{
  "status": "success",
  "data": [
    {
      "id": "120363023285171234@g.us",
      "name": "My Group",
      "description": "Group description",
      "participants": 25,
      "admin": true
    }
  ]
}
Create Group
POST

Create a new WhatsApp group.

API endpoint:
https://panel.sendbulk.cloud/api/create_group
Example:
curl -X POST 'https://panel.sendbulk.cloud/api/create_group' \
-H 'Content-Type: application/json' \
--data '{
    "group_name": "My New Group",
    "participants": ["20100981XXXX", "20100982YYYY"],
    "instance_id": "609ACF283XXXX",
    "access_token": "EMCUH3NQQK8YXXXX"
}'
Get Group Info
GET

Get detailed information about a specific group.

API endpoint:
https://panel.sendbulk.cloud/api/group_info?group_id=120363023285171234@g.us&instance_id=609ACF283XXXX&access_token=EMCUH3NQQK8YXXXX

Channels

Get Channels
GET

Retrieve all channels for the WhatsApp instance.

API endpoint:
https://panel.sendbulk.cloud/api/get_channels?instance_id=609ACF283XXXX&access_token=EMCUH3NQQK8YXXXX
Response:
{
  "status": "success",
  "data": [
    {
      "id": "120363335005167302@newsletter",
      "name": "My Channel",
      "description": "Channel description",
      "subscribers": 1250,
      "verified": true
    }
  ]
}
Get Channel Info
GET

Get detailed information about a specific channel.

API endpoint:
https://panel.sendbulk.cloud/api/channel_info?channel_id=120363335005167302@newsletter&instance_id=609ACF283XXXX&access_token=EMCUH3NQQK8YXXXX

Contacts

Get Contacts
GET

Retrieve all contacts from the WhatsApp instance.

API endpoint:
https://panel.sendbulk.cloud/api/get_contacts?instance_id=609ACF283XXXX&access_token=EMCUH3NQQK8YXXXX
Response:
{
  "status": "success",
  "data": [
    {
      "id": "20100981XXXX@s.whatsapp.net",
      "name": "John Doe",
      "profilePicUrl": "https://...",
      "isMyContact": true
    }
  ]
}

Webhooks

Set Receiving Webhook
POST

Get all return values from WhatsApp. Like connection status, Incoming message, Outgoing message, Disconnected, Change Battery,...

API endpoint:
https://panel.sendbulk.cloud/api/set_webhook?webhook_url=https%3A%2F%2Fwebhook.site%2F1b25464d6833784f96eef4xxxxxxxxxx&enable=true&instance_id=609ACF283XXXX&access_token=6881c11f741a1
Parameters:
ParameterTypeRequiredDescription
webhook_urlstringYesYour webhook URL (URL encoded)
enablebooleanYesEnable/disable webhook (true/false)
instance_idstringYesWhatsApp instance ID
access_tokenstringYesYour API access token
Webhook Events:
  • message: New incoming message
  • message_status: Message delivery status
  • presence: User online/offline status

Status & Health

Instance Status
GET

Check the connection status of your WhatsApp instance.

API endpoint:
https://panel.sendbulk.cloud/api/status?instance_id=609ACF283XXXX&access_token=EMCUH3NQQK8YXXXX
Response:
{
  "status": "success",
  "data": {
    "instance_id": "609ACF283XXXX",
    "status": "connected",
    "battery": 85,
    "plugged": true,
    "phone": "+1234567890"
  }
}