API guide
Send the right template parameters
Read the descriptor first
GET /templates lists available templates and their parameter descriptors. Use an array for positional body parameters or an object for named parameters. Match the header media type and each dynamic URL button's index and suffix.
If the template has several languages, specify the exact language returned by the descriptor, such as en_US rather than en. template_language_mismatch includes the available languages in details.languages. template_variables_mismatch identifies missing, extra or invalid parameters so you can fix the request before another attempt.
Use accessible media URLs
Supply an HTTPS media URL that resolves publicly and is reachable without browser cookies. Private-network destinations and redirects are refused. The media type and size must fit the template and provider requirements.
Acceptance is asynchronous. A 202 response is not a delivery receipt; follow GET /messages/{id} and message status webhooks.