Procellari
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/messages
Send text or an approved template to a contact
GET/api/v1/messages?id=…
Look up a message's delivery status
POST/api/v1/contacts
Create or update a contact by WhatsApp number
GET/api/v1/contacts
List contacts with tags and attributes (cursor paginated)

Webhook events

message.received
A customer sent you a message
message.status
A message was sent, delivered, read or failed
contact.created
A new contact was added
broadcast.completed
A campaign finished sending
order.updated
A 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