For developers
WhatsApp in your stack, in an afternoon
A small, predictable REST API for sending and syncing, and signed webhooks for everything that happens on your number.
Get an API key# Send an approved template from your backend curl -X POST https://wa.procellari.com/api/v1/messages \ -H "Authorization: Bearer $PROCELLARI_KEY" \ -H "Content-Type: application/json" \ -d '{"to":"919812345678","template":{"name":"order_update","variables":["PC-4821","shipped"]}}'
Built to be boring
Production details, handled
Revocable API keys
Create a key per integration, see when they were last used, revoke instantly. Only a hash is stored.
Signed webhooks
Every delivery carries an HMAC-SHA256 signature and timestamp so you can reject forgeries and replays.
Retries with backoff
Failed webhook deliveries retry with exponential backoff for about an hour.
Rate-limit aware
API keys are rate limited and sends are paced per number to stay inside Meta's throughput limits.
Endpoints
| POST | /api/v1/messagesSend text or an approved template to a contact |
| GET | /api/v1/messages?id=…Look up a message's delivery status |
| POST | /api/v1/contactsCreate or update a contact by WhatsApp number |
| GET | /api/v1/contactsList contacts with tags and attributes (cursor paginated) |
Webhook events
message.receivedA customer sent you a message |
message.statusA message was sent, delivered, read or failed |
contact.createdA new contact was added |
broadcast.completedA campaign finished sending |
order.updatedA WhatsApp order was placed or paid |
Build on WhatsApp with Procellari
Create a free workspace, generate an API key under Settings → API keys, and send your first message.
Already a customer? Log in