Webloom WhatsApp
v1 ← Admin

Webloom WhatsApp API

Simple WhatsApp APIs for messaging, media, contacts, QR connection and device information.

POSTGET

Send Message

Send a plain text message to a WhatsApp number.

https://whatsapp.webloom.co.in/send-message
Request Parameters
ParameterTypeRequiredDescription
api_keystringYesYour Webloom API key
senderstringYesNumber of your WhatsApp device
numberstringYesRecipient number with country code. e.g. 9198765xxxxx
messagestringYesMessage to be sent
JSON Request Example
{
  "api_key": "YOUR_WEBLOOM_API_KEY",
  "sender": "9198765xxxxx",
  "number": "9198765xxxxx",
  "message": "Hello from Webloom"
}
PHP cURL Example
<?php

$data = [
    'api_key'  => 'YOUR_WEBLOOM_API_KEY',
    'sender'   => '9198765xxxxx',
    'number'   => '9198765xxxxx',
    'message'  => 'Hello from Webloom'
];

$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL            => 'https://whatsapp.webloom.co.in/send-message',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING       => '',
    CURLOPT_MAXREDIRS      => 10,
    CURLOPT_TIMEOUT        => 20,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION   => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST  => 'POST',
    CURLOPT_POSTFIELDS     => json_encode($data),
    CURLOPT_HTTPHEADER     => ['Content-Type: application/json'],
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;

?>
URL Request Example (GET)
https://whatsapp.webloom.co.in/send-message?api_key=YOUR_WEBLOOM_API_KEY&sender=9198765xxxxx&number=9198765xxxxx&message=Hello
POSTGET

Send Media

Send an image, video, audio, PDF, document or other WhatsApp-supported file using a direct media URL.

https://whatsapp.webloom.co.in/send-media
Request Parameters
ParameterTypeRequiredDescription
api_keystringYesYour Webloom API key
senderstringYesNumber of your WhatsApp device
numberstringYesRecipient WhatsApp number with country code
media_typestringYesimage, video, audio or document
urlstringYesDirect public URL of the media/file
captionstringNoCaption / message text
filenamestringNoFilename to display for documents
mimetypestringNoMIME type of the file (auto-detected if omitted)
Note: the url must be a direct, publicly downloadable link — e.g. https://example.com/image.jpg, https://example.com/file.pdf, https://example.com/document.docx. Cloud-drive share links (Google Drive, Dropbox) are not supported.
JSON Request Example
{
  "api_key": "YOUR_WEBLOOM_API_KEY",
  "sender": "9198765xxxxx",
  "number": "919999999999",
  "media_type": "image",
  "caption": "Hello from Webloom",
  "url": "https://example.com/image.jpg"
}
{
  "api_key": "YOUR_WEBLOOM_API_KEY",
  "sender": "9198765xxxxx",
  "number": "919999999999",
  "media_type": "document",
  "caption": "Invoice",
  "url": "https://example.com/invoice.pdf",
  "filename": "invoice.pdf",
  "mimetype": "application/pdf"
}
PHP cURL Example
<?php

$data = [
    'api_key'    => 'YOUR_WEBLOOM_API_KEY',
    'sender'     => '9198765xxxxx',
    'number'     => '919999999999',
    'media_type' => 'image',
    'caption'    => 'Hello from Webloom',
    'url'        => 'https://example.com/image.jpg'
];

$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL            => 'https://whatsapp.webloom.co.in/send-media',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT        => 30,
    CURLOPT_CUSTOMREQUEST  => 'POST',
    CURLOPT_POSTFIELDS     => json_encode($data),
    CURLOPT_HTTPHEADER     => ['Content-Type: application/json']
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;

?>
URL Request Example (GET)
https://whatsapp.webloom.co.in/send-media?api_key=YOUR_WEBLOOM_API_KEY&sender=9198765xxxxx&number=9198765xxxxx&media_type=document&caption=My%20PDF&url=https%3A%2F%2Fexample.com%2Ffile.pdf&filename=invoice.pdf
POST

Send Button

Send an interactive WhatsApp message with Reply, URL, Call or Copy buttons.

Heads up: native interactive buttons are sent as WhatsApp interactive messages, and on connections made through WhatsApp Web / QR (which Webloom uses) they may be accepted and delivered but not displayed on the recipient's phone. For a format that always shows, use Send Buttons below.
https://whatsapp.webloom.co.in/send-button
Request Parameters
Parameter Type Required Description
api_key string Yes Your Webloom API key
sender string Yes WhatsApp device name / sender
number string Yes Recipient WhatsApp number with country code
message string Yes Message text
footer string No Optional footer text
button array Yes Interactive button definitions. Maximum 5 buttons.
Important: Reply buttons cannot be mixed with URL, Call or Copy buttons in the same message. Use Reply buttons by themselves, or use URL/Call/Copy buttons together without Reply buttons.
Button Types
Type Required Fields Description
reply displayText Quick reply button
url displayText, url Opens a website
call displayText, phoneNumber Creates a call button
copy displayText, copyCode Copies a code/value
JSON Request Example — Reply Button
{
  "api_key": "YOUR_WEBLOOM_API_KEY",
  "sender": "9198765xxxxx",
  "number": "919999999999",
  "message": "Hello! Please choose an option.",
  "footer": "Webloom API",
  "button": [
    {
      "type": "reply",
      "displayText": "Reply Me"
    }
  ]
}
JSON Request Example — URL Button
{
  "api_key": "YOUR_WEBLOOM_API_KEY",
  "sender": "9198765xxxxx",
  "number": "919999999999",
  "message": "Visit our website",
  "footer": "Webloom API",
  "button": [
    {
      "type": "url",
      "displayText": "Visit Website",
      "url": "https://google.com"
    }
  ]
}
JSON Request Example — Call Button
{
  "api_key": "YOUR_WEBLOOM_API_KEY",
  "sender": "9198765xxxxx",
  "number": "919999999999",
  "message": "Need help? Call us.",
  "button": [
    {
      "type": "call",
      "displayText": "Call Me",
      "phoneNumber": "919876543210"
    }
  ]
}
JSON Request Example — Copy Button
{
  "api_key": "YOUR_WEBLOOM_API_KEY",
  "sender": "9198765xxxxx",
  "number": "919999999999",
  "message": "Your verification code",
  "button": [
    {
      "type": "copy",
      "displayText": "Copy Code",
      "copyCode": "123456"
    }
  ]
}
cURL Example
curl -X POST "https://whatsapp.webloom.co.in/send-button"   -H "Content-Type: application/json"   -d '{
    "api_key": "YOUR_WEBLOOM_API_KEY",
    "sender": "9198765xxxxx",
    "number": "919999999999",
    "message": "Hello from Webloom",
    "footer": "Webloom API",
    "button": [
      {
        "type": "reply",
        "displayText": "Reply Me"
      }
    ]
  }'
Supported Button Fields
TypeFieldExample
replydisplayTextReply Me
urldisplayText, urlVisit Website
calldisplayText, phoneNumberCall Me
copydisplayText, copyCodeCopy Code
POSTGET

Send Buttons (text format)

Send one message with quick-reply options, a tappable website link and a tappable call number. It is sent as a normal WhatsApp text message, so it displays reliably on every phone. Recipients reply by typing the option number.

https://whatsapp.webloom.co.in/send-buttons
Request Parameters
ParameterTypeRequiredDescription
api_keystringYesYour Webloom API key.
senderstringYesNumber of your WhatsApp device, with country code.
numberstringYesRecipient WhatsApp number, with country code.
messagestringYesMain message text.
buttonsstringOptionalComma-separated quick-reply options, up to 3. Example: Yes,No,Maybe
titlestringOptionalBold heading shown above the message.
footerstringOptionalItalic footer text shown under the options.
website_urlstringOptionalLink shown as a tappable line.
website_labelstringOptionalLabel for the link. Default: Visit Website
call_numberstringOptionalPhone number shown as a tappable line.
call_labelstringOptionalLabel for the number. Default: Call Us
At least one of buttons, website_url or call_number is required.
Example Request (GET)
URL
https://whatsapp.webloom.co.in/send-buttons?api_key=YOUR_API_KEY
  &sender=919876543210
  &number=919876543211
  &title=Support
  &message=How%20can%20we%20help%3F
  &buttons=Sales,Support
  &website_url=https%3A%2F%2Fexample.com
  &call_number=919876543210
What the recipient sees
WhatsApp message
*Support*

How can we help?

1️⃣ Sales
2️⃣ Support

🌐 Visit Website: https://example.com
📞 Call Us: 919876543210

👉 Reply with the number of your choice.
Success Response
JSON
{
  "status": 200,
  "success": true,
  "message": "Button message sent successfully",
  "device": "your_device",
  "sender": "919876543210",
  "number": "919876543211",
  "buttons": ["Sales", "Support"],
  "message_id": "3EB0XXXXXXXXXXXX"
}
If your device sent another message a few seconds earlier, the API replies with 202 and queued: true. Messages are paced a few seconds apart to protect your WhatsApp number, and the message is sent automatically after the delay.
Error Responses
StatusMeaning
400Missing message, or none of buttons / website_url / call_number provided.
401api_key missing or invalid.
403Subscription expired.
429Rate limit exceeded (30 requests per minute) or daily message limit reached.
503WhatsApp device is not connected.
POSTGET

Send VCard

Send a contact card (vCard) to a WhatsApp number.

https://whatsapp.webloom.co.in/send-vcard
Request Parameters
ParameterTypeRequiredDescription
api_keystringYesYour Webloom API key
senderstringYesNumber of your WhatsApp device
numberstringYesRecipient WhatsApp number
namestringYesContact display name
phonestringYesContact phone number
JSON Request Example
{
  "api_key": "YOUR_WEBLOOM_API_KEY",
  "sender": "9198765xxxxx",
  "number": "919999999999",
  "name": "John Doe",
  "phone": "919888888888"
}
PHP cURL Example
<?php

$data = [
    'api_key' => 'YOUR_WEBLOOM_API_KEY',
    'sender'  => '9198765xxxxx',
    'number'  => '919999999999',
    'name'    => 'John Doe',
    'phone'   => '919888888888'
];

$curl = curl_init();

curl_setopt_array($curl, [
    CURLOPT_URL            => 'https://whatsapp.webloom.co.in/send-vcard',
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT        => 30,
    CURLOPT_CUSTOMREQUEST  => 'POST',
    CURLOPT_POSTFIELDS     => json_encode($data),
    CURLOPT_HTTPHEADER     => ['Content-Type: application/json']
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;

?>
URL Request Example (GET)
https://whatsapp.webloom.co.in/send-vcard?api_key=YOUR_WEBLOOM_API_KEY&sender=9198765xxxxx&number=919999999999&name=John%20Doe&phone=919888888888
POST

Generate QR API

Generate a WhatsApp connection QR code for a registered Webloom device. Only POST is supported for this endpoint.

https://whatsapp.webloom.co.in/generate-qr
Request Parameters
ParameterTypeRequiredDescription
senderstringYes*Your WhatsApp number with country code, for example 919876543210
devicestringYes*Name of your device. Send this or sender, one of the two is required
api_keystringYesYour Webloom API key
JSON Request Example
{
  "device": "my_device_name",
  "api_key": "YOUR_WEBLOOM_API_KEY"
}
Flow: call the endpoint once to start pairing, then poll the same endpoint again with the same parameters — the response changes as the connection progresses through the four states below.
Response — Processing
{
  "status": "processing",
  "message": "Processing"
}
Response — QR Ready
{
  "status": false,
  "qrcode": "data:image/png;base64,iVBORw0KGgo...",
  "message": "Please scan qrcode"
}
Response — Already Connected
{
  "status": false,
  "msg": "Device already connected!"
}
Response — Failed
{
  "status": false,
  "msg": "Invalid data!",
  "errors": {}
}
POST

Reconnect a logged-out number

If a connected WhatsApp number gets logged out, use the same /generate-qr API to connect it again. No new device or API key is needed. Your device name and API key stay the same.

Steps
StepWhat to do
1POST sender (your WhatsApp number with country code, for example 919876543210) and api_key to https://whatsapp.webloom.co.in/generate-qr. You can send device (your device name) instead of sender.
2If the reply is processing, wait a few seconds and call again. When it contains qrcode, show the image to the user.
3The user scans the QR from WhatsApp, under Linked Devices. The QR refreshes about every minute, so keep calling while they scan.
4Check the User Info API until the status shows Connected. A call to /generate-qr then replies Device already connected!.
Accepted formats. Send the fields as a JSON body, as a form body, or in the URL. A wrong key or a number that does not match returns Invalid API key or sender! and no QR.
Same number only. A device can only be reconnected with the WhatsApp number saved for it. If a different number is scanned, that connection is logged out and the API replies with Wrong number and status 403. Request a new QR and scan it from the correct phone.
Response: wrong number scanned
JSON (403)
{
  "status": false,
  "msg": "Wrong number. This device can only be connected with the number ending 6760. The scanned number has been disconnected. Request a new QR and scan it from the correct phone."
}
A device with no number saved yet takes the first number that connects. After that it is locked to that number.
GETPOST

User Info

Get WhatsApp device information using your Webloom API key and device number.

https://whatsapp.webloom.co.in/info-device
Request Parameters
ParameterTypeRequiredDescription
api_keystringYesYour Webloom API key
numberstringYesYour device number
URL Request Example (GET)
https://whatsapp.webloom.co.in/info-device?api_key=YOUR_WEBLOOM_API_KEY&number=9198765xxxxx
JSON Request Example (POST)
{
  "api_key": "YOUR_WEBLOOM_API_KEY",
  "number": "9198765xxxxx"
}
Response Example
{
  "status": true,
  "info": [
    {
      "id": "my_device_name",
      "user_id": 1,
      "body": "9198765xxxxx",
      "webhook": null,
      "status": "Connected",
      "created_at": "2026-09-15T05:55:21.002Z",
      "updated_at": "2026-09-16T06:35:00.000Z",
      "message_sent": 347,
      "reply_when": "Personal",
      "wh_read": 0,
      "reject_call": 0,
      "wh_typing": 0
    }
  ]
}