Dynamic Email Template
Wooxy supports a large subset of the Twig templating language. Below are examples for some common templating use-cases.
Variable Replacement
Simple variable replacement can be achieved using the following syntax.
API Call
{
"variables": [{
"name": "firstName",
"value": "John"
}, {
"name": "image",
"value": "http://domain.com/image.gif"
}, {
"name": "link",
"value": "https://app.wooxy.com"
}]
}
Template HTML
<p><b>Hello, {{ firstName }}</b></p>
<img src="{{ image }}">
<a href="{{ link }}">Go to Wooxy</a>
Rendered HTML
Hello, John
Conditional Content
Conditional syntax can be used to include/exclude email content based on data passed into API calls or stored in contact list.
API Call
{"variables": [ {
"name": "paidCustomer",
"value": false
}, {
"name": "signupType",
"value": "referral"
}],
Template HTML
{% if paidCustomer %}
Thanks for being a customer!
{% else %}
Sign up today and get 30% off!
{% endif %}
{% if signupType == 'referral' %}
<a href="https://app.wooxy.com">Refer your friends!</a>
{% endif %}
Rendered HTML
Sign up today and get 30% off!
HTML in Variables
Most of your HTML needs can be met in our template editor. If you are using user-generated HTML and you need to pass raw HTML as a variable, you’ll need to escape it with Twig raw filters or autoescape tags.
API Call
{"variables": [ {
"name": "message",
"value": "<h4><b>Hello</b></h4><p><b>World</b></p>"
}],
Template HTML
{{ message|raw }}
<a href="https://app.wooxy.com">
</a>
Rendered HTML
Hello World
Formatting Numbers
Most of your HTML needs can be met in our template editor. If you are using user-generated HTML and you need to pass raw HTML as a variable, you’ll need to escape it with Twig raw filters or autoescape tags.
API Call
{"variables": [ {
"name": "price",
"value": 9800.333
}]
Template HTML
<p><b>Numbers:</b><p>
<ul>
<li>{{ price|round }}</li>
<li>{{ price|round(1, 'floor') }}</li>
<li>{{ price|number_format(2, '.', ',') }}</li>
<li>{{ price|number_format(0, '.') }}</li>
<li>{{ "$%.2f"|format(price) }}</li>
</ul>
Rendered HTML
Numbers:
9800
9800.3
9,800.33
9 800
$9800.33
Formatting Dates
The following example illustrates how to use Twig filters to achieve date formatting of both timestamps and ISO 8601 date strings.
API Call
{"variables": [ {
"name": "timestamp",
"value": "1539377301"
},{
"name": "isoDate",
"value": "2016-04-29T15:47:28+02:00"
},]
Template HTML
<p><b>Flexible date formating</b></p>
<p>Current date: {{ "now"|date("m/d/Y") }}</p>
<p>isoDate: {{ isoDate|date("D, F y") }}</p>
<p>timeStamp to custom: {{ timestamp|date('g:ia \o\n l jS F Y')}}</p>
Rendered HTML
Flexible date formating
Current date: 10/12/2018
isoDate: Fri, April 16
timeStamp to custom: 8:48pm 2018 Friday 12th October 2018