Documentation
Start with one useful conversation.
A practical guide to linking an account and connecting your tools.
Link an account
- Create an account and open Connections in your workspace.
- Verify your email before subscribing or creating connections and API keys when verification is required.
- Create a connection, then scan its QR from WhatsApp → Linked devices on your phone.
- Wait for Connected before sending. Send only to people who expect to hear from you.
Pause stops the connection while preserving pairing. Unlink removes pairing. Restart reopens an active saved session without deliberately unlinking it.
Open ConnectionsSend through the API
Create an API key under Developers with messages:write. Keep the key on your server, never in public browser code. Replace all placeholders below.
curl 'https://prod-server.whatsappthing.com/api/v1/messages' \
-H 'Authorization: Bearer YOUR_API_KEY' \
-H 'Content-Type: application/json' \
-H 'Idempotency-Key: YOUR_UNIQUE_UUID' \
-d '{"instanceId":"YOUR_INSTANCE_ID","to":"+972501234567","body":"Hello"}'HTTP 202 means WhatsappThing queued the message. It does not confirm that the recipient received it. Track status updates separately.
Use a new UUID for each new send intent. Retry an uncertain API request only with the same key and unchanged payload. An unknown provider outcome must be reconciled, not blindly resent.
Receive events
Configure a public HTTPS webhook under Developers. Verify the signature using the documented backend contract and handle duplicate events idempotently. Delivery failures are visible in delivery history.
Polling integrations can use named notification consumers with leased events and explicit acknowledgement. Do not share a consumer name between unrelated integrations.
Open developer settingsFiles and limits
Connection and sending limits apply. A paid plan must not be treated as permission to bypass opt-outs or dispatch controls.
Upload files as raw bytes to POST /media with their Content-Type and X-File-Name. Use the returned media ID in a message. Formats and size limits are enforced by the server.
Settings provides paged JSON exports of retained messages. Exports do not include attachment bytes or all previous phone history.
Billing and retention
Business costs $12 USD per WhatsApp connection per month, with 1 GiB storage and 1,000 pending queue units per connection. The workspace owner manages checkout and invoices under Billing. Dodo shows final taxes and supported payment currencies before payment.
A checkout return is not proof of payment. Refresh payment status if access has not updated. Cancellation stops renewal at the current period end; inactive subscriptions block new sends and allocations while retained data remains accessible.
To add or reduce paid connections, use the billing preview and review the provider’s estimated charge before confirming. Uncertain changes must be reconciled through payment-status refresh; do not create another charge attempt.
The default retention policy is 90 days for messages and media, and 24 hours for unused uploads. Settings shows the configured policy and cleanup previews. Cleanup must be enabled for the deployment; previewing does not delete data. Export history you need to keep. Opt-outs and duplicate-send protection survive content cleanup.
Owners can request workspace deletion in Settings with a 7-day undo period. Messaging stops and renewal cancellation is requested immediately. Undo does not restart renewal or cancelled work. Final deletion depends on confirmed cancellation and successful storage cleanup; minimal billing/security records and backups follow separate retention rules.
Open BillingTroubleshooting
- My connection is disconnected
- Check Connections. A paused saved session can reconnect; a revoked linked device requires deliberate QR pairing.
- A message outcome is unknown
- Check WhatsApp before sending again. WhatsappThing does not automatically retry an ambiguous send.
- The chat has opted out
- An ordinary new message does not clear suppression. An owner or admin can restore messaging only with renewed consent or for a user-controlled test account.
- An attachment is unavailable
- Incoming media may expire at WhatsApp or require the linked account to reconnect. Check the error and try a newly sent file if the original is no longer available.
- Password recovery is unavailable
- Recovery email requires configured delivery. Until setup is complete, WhatsappThing does not claim to send recovery emails.