Start

The Sendrix API

Send approved WhatsApp templates from your own backend, and hear what happened to each one. Built for the messages your systems send on their own: order confirmations, shipping updates, one-time codes.

Everything you can do here, you can also do in the console. The difference is who is doing it. A campaign is a person choosing a list and pressing send. This is your code sending one message the moment something happens, without anybody watching.

What you can do

  • Read your numbers, so your code knows which sender to use. See Senders.
  • Read your templates, including exactly which variables each one needs. See Templates.
  • Send one template to one person, safely retryable. See Send a message.
  • Be told what happened, rather than polling for it. See Webhooks.

Connected directly to Meta

Sendrix is a Meta Tech Provider. Your WhatsApp Business Account connects to Meta through us and stays yours: the number, the templates and the quality rating are on your own account, not rented from ours. If you ever leave, you take them with you.

In practice that means the template names and statuses this API returns are the ones Meta holds, not a copy we maintain, and the error codes on a failed send are Meta’s own.

Before you start

You need three things, all of which take minutes:

Your first request

This asks which numbers you can send from. If it answers, you are set up correctly.

shell
curl https://sendrixbackend.exebee.com/v1/senders \
  -H "Authorization: Bearer sk_live_your_key_here"

You get back a list, in the shape every list endpoint uses:

json
{
  "object": "list",
  "data": [
    {
      "id": "snd_c9288d80-3860-45c0-bcec-577b19aaab62",
      "object": "sender",
      "name": "Acme Support",
      "phone_number": "+91 93262 60811",
      "is_default": true,
      "quality_rating": "GREEN",
      "credentials_valid": true
    }
  ],
  "limit": 50,
  "offset": 0,
  "total": 1,
  "has_more": false
}

Base URL

Every endpoint lives under https://sendrixbackend.exebee.com/v1. The version is in the path and stays there. What that promises is set out in Versioning.

Ids

Ids are prefixed by what they refer to: snd_ for a sender, tpl_ for a template, msg_ for a message. Passing the wrong kind gets you a clear error rather than a confusing 404, which is the entire reason they are prefixed.