OonoBox API

WhatsApp templates

Create message templates for sending outside the 24-hour window and automating common responses.

WhatsApp templates are pre-approved message formats that you can send to customers anytime, without the 24-hour reply window restriction.

Templates are ideal for notifications (order updates, delivery alerts), confirmations, and customer service responses.

Why templates?

The 24-hour window only applies to free-form text. If a customer hasn't messaged you, you can't reply with regular text.

Templates bypass this — Meta pre-approves them so you can send notifications proactively, even to customers you haven't heard from in weeks.

Templates also ensure consistency: the same wording, formatting, and tone every time.

Creating a template

  1. Open OonoBox → Settings → Templates.
  2. Click Create template.
  3. Enter a name (used internally; customers don't see this).
  4. Select the template language (e.g. English, Spanish).
  5. Choose a category - Marketing, Utility, or Authentication.
  6. Write the message body.

Template variables

You can include placeholders that OonoBox fills in when sending:

  • Type {{1}}, {{2}}, etc. to mark variable slots.
  • When you send the template via API or UI, provide values for each variable.

Example:

Hi {{1}}, your order {{2}} was shipped. Track it here: [link]

When sending, provide {{1}} = John, {{2}} = #12345 and it becomes:

Hi John, your order #12345 was shipped. Track it here: [link]

Templates can include a header with one of:

  • Text - A few words of context (e.g. "Order Confirmation").
  • Image - A logo or example image.
  • Video - A preview video.
  • Document - A PDF or similar file.

The header displays above your message text on the customer's phone.

You can also add:

  • A footer - a short line of static text below the body.
  • Buttons - quick-reply buttons, a link button, or a call button.

Template categories

Choose the category that best fits your message:

CategoryUse forRules
MarketingPromotions, offers, announcementsRequires opt-in. Can be rejected by Meta.
UtilityOrder updates, appointment confirmations, receipts, alertsTransactional info tied to an order or account. No promotion.
AuthenticationPassword resets, 2FA codes, login linksOne-time codes and identity verification.

Submitting for approval

  1. Complete your template and click Submit.
  2. The status changes to Submitted while Meta reviews it (usually within a few hours, sometimes up to 24 hours).
  3. Once approved, the status changes to Approved and you can send immediately.
  4. If rejected, Meta provides a reason (e.g. "contains promotional language" in a Utility template).

Rejected templates can be edited and resubmitted. Meta may also pause or disable an approved template later if its quality drops, in which case you'll see that status on the template.

Editing templates

Once a template is submitted or approved, it can't be edited - Meta needs to re-review any changes. To modify one:

  1. Create a new template with a slightly different name (e.g. order_update_v2).
  2. Submit the new version for approval.
  3. Once approved, you can delete the old one.

Drafts (not yet submitted) and rejected templates can be edited freely.

Using templates

Via the inbox

When replying to a customer in the inbox:

  1. Click Send a template (instead of free text).
  2. Pick the template from the list.
  3. Fill in any variables (e.g. customer name, order ID).
  4. Review and click Send.

Via the API

Send a template programmatically:

curl -X POST https://api.oonobox.co.zw/api/v1/messages/template \
  -H "Authorization: Bearer $OONO_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "to": "263771234567",
    "template": "order_update",
    "variables": { "1": "Tariro", "2": "shipped" }
  }'

The template name matches what you created in settings.

Template limits

  • One header (text, image, video, or document - pick one).
  • Footer text is short (a single line).
  • You can add variables in the body; supply a value for each one when you send.
  • Templates are workspace-specific - each workspace has its own approved list.

Meta enforces its own length limits on template content. If a template is too long, Meta rejects it on submission.

Troubleshooting

"Template rejected - too promotional" - A Utility template must be transactional, not promotional. If the message is genuinely promotional, use the Marketing category instead.

"Template name already in use" — Template names are unique per workspace. Try a different name.

"Can't send — template not found" — The template name doesn't match. Check the spelling in Settings.

"Variables missing" — When sending a template with variables, supply a value for each {{1}}, {{2}}, etc. OonoBox won't send if any are missing.

On this page