One connection per business
Never reuse a key across customers. Every key is isolated to one workspace, wallet and number.
Send updates from any workflow, show balance and connection health, and bring customer answers back into your product. Each business connects its own WhatsApp Business number through Meta consent.
POST /api/v1/events/{connection-token}Quick start ↓Never reuse a key across customers. Every key is isolated to one workspace, wallet and number.
Open the Awam connect link. The business owner approves inside Meta, then returns to your product.
Send every change with a stable ID and poll button replies incrementally without duplicates.
Use one unique, stable event_id for every change. Retrying it is safe and will not create a second record or message.
event workflow.status_changedobject.id the record ID in your systemobject.type order, appointment, shipment, job or any record typeobject.customer name and international WhatsApp numbercurl -X POST "https://awam.io/api/v1/events/YOUR_CONNECTION_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"event_id": "workspace-42-record-100-update",
"event": "workflow.status_changed",
"object": {
"id": "RECORD-100",
"type": "request",
"customer": {"name": "Mariam", "phone": "+201001112222", "language": "ar"},
"details": "Your business-specific details"
}
}'The Coexistence link is browser-only. Open it as a popup from your product. Its key stays after # so it is not sent as a Referer; Awam exchanges Meta’s code and stores the token encrypted.
/api/v1/events/{token}Create or update a record and run its workflow message.
/api/v1/account/{token}Minor-unit wallet balances, trial, subscription, quota, message price, number health and approved templates.
/api/v1/responses/{token}?after_id=0Button replies only for this connection’s records. Persist next_after_id for the next poll.
/connect/whatsapp#{connect-token}A separate link shown once when the connection is created or rotated. Open it in a new window; do not use it as the server API token.
Show connection health and balance inside your own UI. When status is not connected, show Connect WhatsApp. When reauthorization_required is true, show Reconnect. When balance is low, show Top up or contact the account administrator.
available_balance_minor / 100messages_remainingoverage_price_minor / 100whatsapp.status