bZapper — WhatsApp gateway
What is it? A multi-tenant WhatsApp gateway over REST: connect numbers, send and receive every message type, manage groups, rotate SIMs with anti-ban, receive signed webhooks, and track everything in real time — with official SDKs in 5 languages.
The admin panel ships with a Playground: pick the operation, tweak the payload, send for real, and copy a ready-to-use example in cURL/Node/Python/PHP/Go/Java.
Quickstart (3 steps)
# 1) Create a number and connect it (QR in the panel or via API)
curl -X POST https://api.bzapper.com.br/instances \
-H "Authorization: Bearer bz_live_..." -H "Content-Type: application/json" \
-d '{"phone":"+5511999999999"}'
# 2) Send your first message (`to` can be E.164 or a JID)
curl -X POST https://api.bzapper.com.br/messages/text \
-H "Authorization: Bearer bz_live_..." -H "Content-Type: application/json" \
-d '{"to":"+5511888888888","body":"Hello from bZapper 👋"}'
# 3) Receive replies: register a webhook (HMAC) or listen on the SSE /stream
Authentication: Authorization: Bearer <api_key> on every call. Generate keys in
the panel (or POST /keys). Errors carry a stable neutral code plus a
translated message — always rely on the code, never on the text.
Everything bZapper does
💬 Send messages
Text, image, video, document, audio/voice (ptt), sticker, location,
contact (vCard), poll, reaction (emoji), buttons, list, and OTP
(verification code), plus forwarding. Per-message features: reply (quoted_message_id),
group mentions, client_reference (your correlation id), and a choice of number
(instance_id) or pool (pool_id).
📥 Receive & converse
Webhooks (message.received, message.status, instance.status…) with
HMAC-SHA256 signatures, retries, and dedup — plus SSE (/stream) for live
status/QR. Inbox: list conversations, paginated history, archive/pin/mark
read. See Customer support and conversation affinity.
👥 Groups
List, create, view info, join via invite, manage participants (add/remove/promote/demote), leave, and fetch the invite link.
🟢 Presence & contacts
Send “typing…/recording…” (works in groups), check whether a number is on WhatsApp (and get the correct JID), block/unblock.
📱 Numbers (instances)
Create, connect (QR or pairing code), status, disconnect, log out, white-label profile (name/photo/about), privacy, per-number proxy, and inbound filters (broadcast/status/groups).
🔄 Anti-ban rotation
Pools with strategies (round_robin, least_used, health_weighted),
warming of fresh SIMs, live health score, and conversation affinity
(sticky). Learn more in Concepts.
🧰 Platform
API keys (admin/agent roles), usage & metrics (sent, delivered,
read, failed, delivery rate, by type and by number), media served over signed
URLs, billing, and i18n (6 languages).
Next steps
- Account, projects, and users — isolated projects, per-project keys, your team.
- Concepts — instance, rotation, warming, anti-ban, LID.
- Message types and payloads — sending and receiving (poll, vote, media, location…).
- Customer support (sticky) — keep the conversation on the same number.
- Webhooks — events and signature verification.
- Official SDKs — Node, Python, PHP, Go, Java.
- API Reference — every endpoint, payload, response, and error.
Documentation in English and Brazilian Portuguese — switch using the language selector at the top.