WhatsApp notifications your customers actually get.

One platform, one API, two providers. Send templated WhatsApp messages from your app, track every delivery in real time, and switch between Meta’s Cloud API and OpenWA per tenant — without changing a line of integration code.

One API, any provider

Integrate once. Route through Meta Cloud API for high-volume tenants or OpenWA where a business-managed number makes more sense — the interface never changes.

Delivery you can prove

Every message carries a status timeline — sent, delivered, read, failed — backed by signed provider webhooks, not guesswork.

Built for multi-tenant SaaS

Every account, number, contact and message is tenant-scoped from the ground up — safe to run one Wazzio instance for every customer you have.

Everything an outbound WhatsApp workflow needs

Templates & approval flow

Build header/body/footer/button templates with variables, submit for Cloud API approval, or send free-text on OpenWA.

Contacts & segments

Import contacts, tag them, store custom fields, and render {{variables}} straight into your templates.

Idempotent send API

Every POST /messages call is keyed on an idempotency header, so retries from your side never double-send.

Real-time delivery tracking

A per-message timeline plus dashboard counts, fed by verified, HMAC-checked provider webhooks.

Per-tenant provider capabilities

The UI and API honestly reflect what each org’s provider can do — no Cloud-only feature shown to an OpenWA tenant.

Encrypted credentials

Provider tokens and session references are encrypted at rest and never returned by the API or written to logs.

From zero to your first message

  1. 1

    Connect a number

    Register a Cloud API or OpenWA number for your tenant.

  2. 2

    Create an API key

    Generate a hashed key scoped to that tenant.

  3. 3

    Send via UI or API

    Use the dashboard or a single authenticated HTTP call.

  4. 4

    Track delivery

    Watch status flow from sent to delivered to read.

A developer-first API

No SDK required. One HTTP call, one idempotency key, one JSON body. Webhooks report status back the same way you sent the message.

Read the quickstart
curl -s -X POST https://api.wazzio.live/api/v1/messages \
  -H "Authorization: Bearer <API_KEY>" \
  -H "Idempotency-Key: order-4821" \
  -H "Content-Type: application/json" \
  -d '{"to":"+15551230000","text":"Your order has shipped"}'

Ready to send your first message?

Spin up a tenant, seed a number, and prove the whole pipe end to end.

Start free