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-Keyon template send requests.
GET /m2m/v1/channels to find the channelId for the WhatsApp number you want to send from.
List Templates
whatsapp_templates:read scope.
Create a Template
whatsapp_templates:write.
template.name must use lowercase letters, numbers, and underscores. template.category must be UTILITY, MARKETING, or AUTHENTICATION.
Send a Template
whatsapp_templates:send.
202 Accepted.
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.tocan include formatting such as+, spaces, or punctuation; Visito normalizes it to WhatsApp digits.- Reusing the same
Idempotency-Keyfor the same recipient conversation returns the original accepted send instead of creating a duplicate. - Limits are calculated per workspace and WhatsApp channel over a rolling 24-hour window.
UTILITYtemplates allow 2,000 sends.MARKETING,AUTHENTICATION, and older unclassified sends share a separate limit of 100. - When the applicable category limit is reached, Visito returns
429with the limit and retry details.
Common Errors
Rate-limit responses include the wait time in seconds:
details.limit as the applicable limit for that request. 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.