BigRadarDocs
TemplatesOverview
API Reference

Templates

Pre-approved messages you can send at any time — including outside the 24-hour reply window.

A WhatsApp template is approved by Meta before you can send it. That approval fixes its shape: whether it has a header and of what kind, how many {{1}} placeholders its body carries, and which of its buttons take a value at send time. Your request supplies the values for those slots — nothing more.

How validation works

What you must send is decided by the template, not declared by you. We read your approved template first and check your request against it — so a missing image or a short parameter list is refused here, with a message naming the field, rather than being forwarded to Meta and coming back as (#132000) parameter count mismatch, which names nothing and arrives after the fact.

Nothing is sent to WhatsApp until every check passes, so a rejected request never costs you a message.

Read what a template needs

Rather than hardcoding template names and guessing parameter counts, ask the API. Each row states its header format, the request field that satisfies it, how many body values it takes, and its buttons — and sendable tells you upfront whether it can be sent at all.

cURL
bash
curl 'https://api.bigradar.io/api/public/v1/templates' \ -H 'Authorization: Bearer YOUR_API_KEY'
200 OK
json
{ "templates": [ { "name": "order_shipped", "language": "en", "status": "APPROVED", "headerFormat": "IMAGE", "headerField": "headerImage", "bodyParamCount": 2, "buttons": [ { "index": 0, "type": "URL", "paramField": "text", "required": true } ], "cards": null, "sendable": true } ], "count": 1 }

Buttons

Only buttons carrying a runtime value need an entry in buttonParams. indexis the button's position in the approved template, starting at 0 and counting every button — not only the ones taking a value. The same rules apply to buttons inside a carousel card, where the index is scoped to that card.

FieldTypeRequiredDescription
URL (dynamic)textRequiredApproved as https://shop.com/order/{{1}}. Send only the part that replaces {{1}} — not the whole link.
COPY_CODEcouponCodeRequiredThe coupon code the customer copies, e.g. SAVE20.
QUICK_REPLYpayloadoptionalOptional. Omit it and the payload you receive back is the button's own text.
URL (static) · PHONE_NUMBERoptionalNothing to send. The value is baked into the approved template, and a parameter here is rejected.

Common errors

Every failure returns a JSON body with a stable code, a human message, and — where one field is at fault — the field to fix and a hint. Branch on code; the message wording may improve over time.

CodeStatusMeans
template_not_found404No template with that name on this workspace. Check spelling and case.
template_not_approved409The template exists but Meta has not approved it yet.
missing_template_params400Fewer values than the template has placeholders. The message names the count.
whatsapp_not_connected409No WhatsApp Business account is connected. Connect one in the dashboard.