Skip to content
Wbiztool

Getting started

Getting started with the Wbiztool API

The Wbiztool REST API lets your software send WhatsApp messages from your own connected WhatsApp number. Use it to send order updates, reminders and alerts from your app, CRM, website or automation tool.

This page covers what every request needs. To send your first message, jump to Send message.

Base URL#

All endpoints live under:

https://wbiztool.com/api/v1/

Most endpoints accept POST requests. You can send the body as JSON (application/json) or as form fields (application/x-www-form-urlencoded). To upload a file, use multipart/form-data. A few read endpoints use GET; each endpoint's page shows its method.

Before you start#

  1. Create an account at wbiztool.com/signup. New accounts include 50 free messages.
  2. Connect a WhatsApp number. Open WhatsApp settings, click connect and scan the QR code from WhatsApp on your phone.
  3. Create an API key. Go to Settings → API keys. Only the owner of a workspace can create keys. Each workspace can have up to 10 keys.

Authentication#

Most endpoints take your credentials in the body of each request. The number verification API uses an Authorization: Bearer header instead; its pages explain how.

client_idintegerrequired

Your API Client ID, shown on Settings → API keys.

api_keystringrequired

One of your API keys from the same page. Keep it secret: anyone with the key can send messages from your numbers.

whatsapp_clientintegerMost messaging endpoints

The ID of the WhatsApp number to send from, shown in the WhatsApp Client ID column on WhatsApp settings. Each endpoint page says whether it needs one.

The API key decides which workspace a request acts on. If you belong to more than one workspace, use a key created in the workspace you want to send from.

If a key leaks, delete it on the API keys page. Deleted keys stop working immediately.

Your first request#

This sends a text message from your connected number. Replace the IDs, key and phone number with your own.

curl -X POST https://wbiztool.com/api/v1/send_msg/ \
  -H "Content-Type: application/json" \
  -d '{
    "client_id": 12345,
    "api_key": "YOUR_API_KEY",
    "whatsapp_client": 678,
    "msg_type": 0,
    "country_code": "91",
    "phone": "9876543210",
    "msg": "Hi Aman, your order #4821 has shipped and will arrive on Thursday."
  }'

A "status": 1 response with a msg_id means the message is queued. Send message explains every parameter and has Python, Node.js and PHP versions.

Responses and errors#

Every response is a JSON object with a status field (except the /api/v1/status/ health check, which returns "status": 200):

  • "status": 1 means the request succeeded.
  • "status": 0 means it failed. The message field explains why.
{ "status": 0, "message": "Auth Error: invalid api key" }

Common authentication errors:

MessageMeaning
Auth Errorclient_id or api_key is missing, the body isn't valid JSON or form data, or the request wasn't a POST.
Auth Error - Please send correct API key and Client idapi_key is missing or empty.
Invalid client id. or Invalid Client Idclient_id isn't a whole number (or, on some endpoints, is missing). Send it as a number, for example 12345.
Auth Error: invalid api keyThe key doesn't exist, was deleted, or doesn't belong to this client_id.
Demo Account can not access apisDemo accounts can't use the API.
Not enough creditsYour plan has no messages left. Upgrade or wait for your next billing cycle.

Message lifecycle#

Messages you send through the API are queued first, then sent from your WhatsApp number. Each message has one of these statuses:

StatusNameMeaning
0CreatedQueued and waiting to be sent.
1SentSent from your WhatsApp number.
2FailedCouldn't be sent, for example because the number isn't on WhatsApp.
3CancelledCancelled before it was sent.
4ExpiredNot sent before its expire_after_seconds deadline.

Your WhatsApp number must stay connected for queued messages to go out. If the number you send from is disconnected, its messages wait in the queue until it reconnects or they expire. Unsent messages on a disconnected number are removed after 90 days.

To follow a message, save the msg_id from the response and either pass a webhook URL when you send it, or call Message status.

Official client libraries#

Wrappers for Python and Node.js handle authentication and file uploads for you. They don't cover every endpoint correctly yet, so check each endpoint page before you rely on a client method.

pip install wbiztool-client

Prefer a no-code setup? See Apps & integrations for Zapier, n8n, Make, Pabbly Connect, Google Sheets, Shopify and WordPress.

Browse the docs#