WhatsApp API Overview
Send direct WhatsApp messages, media files, and personalized broadcasts via API v2.
Last updated · Markdown version
The Bulkit WhatsApp API v2 allows businesses and developers to send direct WhatsApp messages, media attachments (images, PDFs, documents, audio, video), and personalized bulk broadcasts directly from their connected WhatsApp accounts.
Key Capabilities
- Single Message Dispatch: Send text notifications, OTP codes, order confirmations, and receipts.
- Rich Media: Send PDFs (invoices, statements), images, audio notes, and video attachments up to 50MB.
- Bulk Broadcasts: Send personalized broadcasts to multiple recipients with dynamic
{variables}and rate limiting. - Two-way Inbox: Fetch incoming customer replies via REST API or subscribe via real-time webhooks.
- Automated Delivery Tracking: Receive
whatsapp.message.sent,whatsapp.receipt.updated(delivered, read/blue-tick), andwhatsapp.message.failedwebhook events.
Prerequisites
Before calling the WhatsApp API:
- Connect your WhatsApp Account: Go to the Bulkit dashboard at
/whatsappand scan the QR code with your WhatsApp or WhatsApp Business mobile app (Linked Devices -> Link a Device). - Generate API Token: Navigate to API Keys in the dashboard to generate your API token (
bk_live_...). - Verify Connection: Call the
GET /api/v2/whatsapp/statusendpoint to confirm your session is active.
Bulkit connects directly through WhatsApp Web protocols. All messages are dispatched from your connected phone number, maintaining your brand identity and allowing seamless two-way chat.
Endpoints Summary
| Method | Endpoint | Description |
|---|---|---|
POST | /api/v2/messages/whatsapp | Send a single WhatsApp message (text, media URL, or file upload) |
POST | /api/v2/messages/whatsapp/bulk | Send personalized WhatsApp broadcast to multiple recipients |
GET | /api/v2/messages/whatsapp | Query sent and received message history with filtering |
GET | /api/v2/messages/whatsapp/inbox | Retrieve inbound customer replies |
GET | /api/v2/messages/whatsapp/:id | Get single message status and details |
GET | /api/v2/messages/whatsapp/:id/media | Download decrypted media attachment |
GET | /api/v2/whatsapp/status | Check device pairing and session connection status |
Authentication
All WhatsApp endpoints authenticate using the standard HTTP Authorization: Bearer header:
- Bearer Token (Recommended):
HTTP
Authorization: Bearer bk_live_8n6JQv3K1h9Lp0Md - Legacy Dual Headers:
HTTP
X-API-Key: bk_live_8n6JQv3K1h9Lp0Md X-API-Secret: sk_live_4jPzT5uN8xA1rC6 - HTTP Basic Auth:
HTTP
Authorization: Basic <base64(api_key:api_secret)> - Query Parameter (for
GETendpoints):HTTP?apikey=bk_live_8n6JQv3K1h9Lp0Md
Supported Media Types
Bulkit supports sending attachments up to 50MB in size:
- Images: JPEG, PNG, WEBP, GIF
- Documents: PDF, DOCX, XLSX, CSV, TXT
- Audio: MP3, OGG, WAV, M4A, AAC
- Video: MP4, MOV, 3GP
Webhook Events
Bulkit automatically emits real-time events to your configured DLR Webhook and Inbox Webhook:
whatsapp.message.received: When a customer messages your connected WhatsApp account.whatsapp.receipt.updated: When a message is delivered or read (status:"delivered"or"read").
See Webhooks Overview for details on setting up webhooks.