WhatsApp

What is a WhatsApp message template?

A WhatsApp message template is reusable content that Meta approves before you send it with the recipient's variable values.

An order update needs fixed wording and details specific to the purchase. A template keeps the approved wording separate from values such as the order number.

When do I need a template?

Use an approved template when sending outside the customer's 24-hour service window.

Inside an open window, you can reply with free-form content. Sending a template does not reopen that window by itself; the customer's reply does.

Approval does not replace customer permission. Follow Meta's messaging policy for the message you intend to send.

What does a template contain in Bird?

A template identifies reusable content, while its versions hold the wording for each language.

Use the slug when sending. The display name labels the template, but it is not the handle used to resolve a send.

Choose authentication, marketing or utility when creating the template. Bird keeps that declared category and the slug fixed after creation.

A language's content includes a required body block. It can also include a header, footer, buttons or carousel, subject to the template's content rules.

To inspect the approved content, read live_version_id from the template. Then retrieve that version's language through the language command.

A template without a live version cannot send. Its draft can still contain content that has not passed review.

Which language and category will a send use?

Check available_languages for sendable languages. Check the language's own category for Meta's pricing classification.

The template's status summarizes its languages. An active template has at least one sendable language. Another language can be rejected, paused or disabled.

Meta can remove a language's approval or availability after launch. Check the language state when sending instead of keeping a permanent list from deployment.

Meta can also reclassify a language without changing the category you declared. Use that language's classification with the published WhatsApp rates when estimating costs.

Use examples to check the category before submitting a language:

Example contentIntended category lesson
Your order {{reference}} has shipped.A specific transaction update is the utility pattern
Your code is {{code}}.An authentication message uses the authentication category and its authoring rules
Get 20% off your next order.A promotional offer belongs in the marketing path

Keep the examples illustrative. Meta reviews the submitted language and can classify it differently from the category you selected.

Set on_missing_language to decide what happens when the requested language has no available copy. Bird defaults new WhatsApp templates to fail. Each language is separately approved and priced, so a silent substitute could send unexpected content at an unintended rate.

That policy still allows a broader tag: pt can serve a request for pt-BR. It does not substitute the sibling variant pt-PT.

Choose fallback only when substituting the configured default language is acceptable for your recipients. Bird-managed templates keep their fixed missing-language policy.

How do I change submitted content?

Create a fresh draft. Write the corrected language. Submit that version for review.

Bird keeps submitted versions immutable, so editing the template's label does not alter approved message content.

FieldWhat it tells you
draft_version_idAn unsubmitted draft exists
pending_version_idA submitted version still has unresolved languages
live_version_idThis version supplies the content used for sends

Approval of one language can make its whole version live. Other languages on that version can still be pending or rejected.

Check the submitted version's language to follow a review. The template can still show an earlier live version while a replacement awaits approval.

How do I send a template?

Name the template. Provide the variables required by the language you intend to send.

Find the available templates with:

bird whatsapp templates list

Use bird whatsapp templates get to inspect the selected template. Retrieve its language content before assembling the send's components, which carry the values for that template's variables.

In the dashboard, the template detail supplies a cURL example with that template's example values. Replace the recipient, credentials and variables with your intended values before sending.

An authored template needs a sender on the same WhatsApp Business Account. Follow the send procedure. Track the returned message identifier through delivery events.

A 202 response accepts the request for processing. Confirm delivery from the later outcome before treating the message as received.

In short

  1. Check the language before sending.

    An active template can contain unavailable languages. Use available_languages to check whether the recipient's language can send.

  2. Read the language's category.

    Meta can classify a language differently from your declared category. Pricing follows Meta's classification.

  3. Edit through a new draft.

    Bird freezes submitted versions. Create a fresh draft to change content. Submit the corrected language for review.

  4. Send the approved content with its variables.

    Name the template and supply the values its language expects. An accepted request does not establish delivery.

Build on the same network.

A test API key is yours immediately. Production unlocks when you add a payment method and verify a sender.

Your next idea.
Ready to connect.