Skip to main content
Use the WhatsApp Templates API for proactive messages that must use Meta-approved templates: booking confirmations, check-in instructions, payment reminders, door codes, and other transactional workflows. All endpoints use the M2M base URL:

Requirements

  • A connected, active WhatsApp channel using the Meta provider.
  • The channel must have Meta wabaId, phoneNumberId, and access token details configured in Visito.
  • An M2M credential with the template scopes you need.
  • Idempotency-Key on template send requests.
Use GET /m2m/v1/channels to find the channelId for the WhatsApp number you want to send from.

List Templates

Requires the whatsapp_templates:read scope.

Create a Template

Requires whatsapp_templates:write. template.name must use lowercase letters, numbers, and underscores. template.category must be UTILITY, MARKETING, or AUTHENTICATION.
Templates must be approved by Meta before they can be sent.

Send a Template

Requires whatsapp_templates:send.
If accepted, Visito queues the send and returns 202 Accepted.
Template sends are asynchronous. The API response confirms Visito accepted and queued the outbound work; it does not return the raw Meta send response.

Send Rules

  • The template must exist for the requested language.
  • The template status must be APPROVED.
  • REJECTED, PENDING, or in-review templates cannot be sent.
  • to can include formatting such as +, spaces, or punctuation; Visito normalizes it to WhatsApp digits.
  • Reusing the same Idempotency-Key for the same recipient conversation returns the original accepted send instead of creating a duplicate.
  • Each WhatsApp channel is limited to 100 template sends per rolling 24-hour window through this API. When the limit is reached, Visito returns 429 with retry details.

Common Errors

Rate-limit responses include the wait time in seconds:
Retry the exact same send body with the same Idempotency-Key after the wait period. A replay returns the identifiers from the original accepted operation.