Cakemail Logo
Integration

Using templates

This page will help you get started with the Template resource

In this guide, you will learn the basics of working with templates in Cakemail.

Create a template

Let's create your first template to get started. To do this, you can call the Create a template endpoint. Review the full API reference for a list of all the parameters you can pass.

curl --request POST \ --url https://api.cakemail.dev/templates \ --header 'Accept: application/json' \ --header 'authorization: Bearer [access token]' \ --header 'Content-Type: application/json' \ --data '{"name":"[template name]","content":{"type":"html","html":"[HTML content]"}}'
shell

You now have an html template you can use as a starting point for your next campaigns or for sending your transactional emails.

Update a template

Once you have a template, you can update it from time to time by using the Update a template endpoint.

curl --request PATCH \ --url https://api.cakemail.dev/templates/[template ID] \ --header 'Accept: application/json' \ --header 'authorization: Bearer [access token]' \ --header 'Content-Type: application/json' \ --data '{"name":"[new template name]"}'
shell

Next, let's try to use our template in a campaign.

Using a template in a campaign

Now that you have a template, you can use it when creating a new campaign.

curl --request POST \ --url https://api.cakemail.dev/campaigns \ --header 'Accept: application/json' \ --header 'authorization: Bearer [access token]' \ --header 'Content-Type: application/json' \ --data '{"name":"<new tempalte name>","content":{"type":"html","template":{"id":[template ID]}}}'
shell

You just created a new campaign using your template.

Using a template with transactional emails

You can also use templates to send transactional emails. Since a template can contain personalization tags, it is possible to also specify custom attributes to be used with the template.

curl --request POST \ --url https://api.cakemail.dev/emails \ --header 'Accept: application/json' \ --header 'authorization: Bearer [access token]' \ --header 'Content-Type: application/json' \ --data '{...,"content":{"template":{"id":[template ID],"custom_attributes":[{"name":"name","value":"[contact name]"}]}}}'
shell

You can explore the full API reference for more advanced features in the Asset API.