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), and whatsapp.message.failed webhook events.

Prerequisites

Before calling the WhatsApp API:

  1. Connect your WhatsApp Account: Go to the Bulkit dashboard at /whatsapp and scan the QR code with your WhatsApp or WhatsApp Business mobile app (Linked Devices -> Link a Device).
  2. Generate API Token: Navigate to API Keys in the dashboard to generate your API token (bk_live_...).
  3. Verify Connection: Call the GET /api/v2/whatsapp/status endpoint 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

MethodEndpointDescription
POST/api/v2/messages/whatsappSend a single WhatsApp message (text, media URL, or file upload)
POST/api/v2/messages/whatsapp/bulkSend personalized WhatsApp broadcast to multiple recipients
GET/api/v2/messages/whatsappQuery sent and received message history with filtering
GET/api/v2/messages/whatsapp/inboxRetrieve inbound customer replies
GET/api/v2/messages/whatsapp/:idGet single message status and details
GET/api/v2/messages/whatsapp/:id/mediaDownload decrypted media attachment
GET/api/v2/whatsapp/statusCheck 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 GET endpoints):
    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.