Send Template Email
const url = 'https://api.contacta.mx/v1/send/template';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"template_id":"template123","to":[{"name":"Jane Smith","email":"jane@smith.com"}],"variables":{"variable_a_var":"Variable A Value"},"attachment":[{"name":"document.pdf","url":"https://www.buildquickbots.com/whatsapp/media/sample/pdf/sample01.pdf"}],"attachment_buffer":[{"name":"document.pdf","content":"data:(mime type),base64,JVBERi0xLjQKJazc..."}]}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.contacta.mx/v1/send/template \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "template_id": "template123", "to": [ { "name": "Jane Smith", "email": "jane@smith.com" } ], "variables": { "variable_a_var": "Variable A Value" }, "attachment": [ { "name": "document.pdf", "url": "https://www.buildquickbots.com/whatsapp/media/sample/pdf/sample01.pdf" } ], "attachment_buffer": [ { "name": "document.pdf", "content": "data:(mime type),base64,JVBERi0xLjQKJazc..." } ] }'Sends an email using a predefined template stored in your account.
Retrieve available templates via GET /v1/templates.
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”Request body for sending an email using a saved template.
The template must exist in your account. Retrieve available templates via GET /v1/templates.
object
Unique identifier of the template to use
Example
template123List of recipients
object
Recipient display name
Example
Jane SmithRecipient email address
Example
jane@smith.comDynamic variables to inject into the template content.
Available from variable_a_var to variable_z_var.
Use them in your template with {{variable_a_var}} syntax.
object
Use in dynamic content as {{variable_a_var}}
Example
Variable A ValueFiles to attach via URL. The server will download and attach each file. (Max size per file: 10MB)
object
File name as it will appear in the attachment
Example
document.pdfPublicly accessible URL of the file
Example
https://www.buildquickbots.com/whatsapp/media/sample/pdf/sample01.pdfFiles to attach via base64-encoded content. (Max size per file: 10MB)
object
File name as it will appear in the attachment
Example
document.pdfBase64-encoded file content
Example
data:(mime type),base64,JVBERi0xLjQKJazc...Responses
Section titled “Responses”Email successfully queued
object
UUIDs assigned to each queued email, one per recipient
Example
{ "status": true, "message": "Succesfully queued email", "data": [ "1b9d6e34-634a-4762-8d5a-f9cb9165d432" ]}Unauthorized — invalid or missing API token
object
object
Example
{ "status": false, "message": "An http error occurred. If error persists, contact soporte@contacta.mx", "data": { "message": "Your key auth is not valid, please check with your administrator", "code": 401 }}Insufficient credits to complete the send
object
object
Example
{ "status": false, "message": "An http error occurred. If error persists, contact soporte@contacta.mx", "data": { "message": "Not enough credits for make this send, please check and retry", "code": 402 }}Unprocessable entity — validation failed on request body
object
object
Example
{ "status": false, "message": "An http error occurred. If error persists, contact soporte@contacta.mx", "data": { "message": "Missing required fields, please verify your request", "code": 422 }}One or more recipients are blacklisted (unsubscribed)
object
object
Example
{ "status": false, "message": "An http error occurred. If error persists, contact soporte@contacta.mx", "data": { "message": "One or more email addresses are blacklisted for unsubscribing, please check.", "code": 451 }}
