SES Verification
In
order for the emails to be sent by our system from a different domain,
that domain first has to be verified with our system to authorise the
platform to send emails from this domain. This requires an Architect After
the domain is properly verified you receive 4 DNS records which will
need adding to the domains DNS by the administrator of the sender’s
domain, example below;
Name | Type | Value |
---|---|---|
_amazonses.domain.com | TXT | ABCDEFGHIJKLMNOPQRSTUVWXYZ |
ABC._domainkey.domain.com | CNAME | ABC.dkim.amazonses.com |
DEF._domainkey.domain.com | CNAME | DEF.dkim.amazonses.com |
GHI._domainkey.domain.com | CNAME | GHI.dkim.amazonses.com |
Also the administrator of the sender’s domain needs to include _spf.custom-gateway.net within their domain’s SPF record. For example:
"v=spf1 include:_spf.custom-gateway.net"
Email Templates & Placeholder Values
The content of the Email is specified in the HTML and plain text input boxes, both of which should be filled where possible.
These templates support the use of certain placeholder variables a list of which can be located at the end of this post.
Any
attribute available on the order or the item can be added to the
template as can the name, description and URL of any of the print jobs
assets these are added in the following way (where x equals the
attribute name):
{{ order.x }}
{% for item in order.items %}
{{ item.x }}
{% for personalisation in item.personalisation %}
Name: {{ personalisation.name }}
Value: {{ personalisation.value }}
Allow Input: {{ personalisation.allow_input }}
{% endfor %}
{% endfor %}
As you can see from
the above example the item must be contained within a loop which goes
over every item in the orders items attribute the same has to be done
for the personalisation but this loop must be contained within the items
loop as each item has its own set of personalisations.
Lastly
if you want to display parts of the email only if a certain attribute
exists are is set to a specific value then a if must be used as follows:
{% order.shipping_method == "RM1" %}
Order is First Class
{% endif %}
{% if order.shipping_tracking %}
Order tracking ID: {{ order.shipping_tracking }}.
{% endif %}
The first if will
display the contents if the shipping method of the order is RM1 exactly
whereas the second if will display its contents as long as the shipping
tracking is set no matter the values
Variable reference
order.id
order.company_ref_id
order.secondary_company_ref_id
order.ref
order.status
order.shipping_company
order.shipping_address_1
order.shipping_address_2
order.shipping_address_3
order.shipping_address_4
order.shipping_address_5
order.shipping_postcode
order.shipping_country
order.shipping_country_code
order.billing_company
order.billing_address_1
order.billing_address_2
order.billing_address_3
order.billing_address_4
order.billing_address_5
order.billing_postcode
order.billing_country
order.customer_name
order.customer_telephone
order.customer_telephone_mobile
order.sale_datetime
order.external_ref
order.has_been_completed
order.completion_datetime
order.shipping_method
order.customer_email
order.shipping_carrier
order.shipping_tracking
order.shipping_note_url
order.payment_trans_id
order.payment_type
order.creation_datetime
order.additional_info
order.has_error
order.error_message
order.required_dispatch_date
order.consolidate
order.has_been_invoiced
order.billing_customer_name
order.billing_customer_email
order.billing_customer_telephone
order.shipping_price
order.shipping_price_inc_tax
order.shipping_tax_rate
order.is_urgent
order.tag
order.coupon_code
order.currency_code
order.is_free_of_charge
order.status_name
Must be contained within
item.id
item.sale_vat_rate
item.external_ref
item.ref
item.order_id
item.sku
item.mapped_sku
item.description
item.colour
item.size
item.quantity
item.type
item.print_job_id
item.print_job_promise_ref
item.external_url
item.external_thumbnail_url
item.status
item.print_on_demand_ref
item.plain_stock_item_ref
item.license
item.license_percentage
item.unit_sale_price
item.unit_sale_price_inc_tax
item.unit_cost_price
item.shipping_price
item.shipping_price_inc_tax
item.bundle_ref
item.textual_product_id
item.product_variant_id
item.quantity_batched
item.quantity_dispatched
item.stock_request_id
item.artwork_barcode
item.status_name
Must be contained within which itself must be contained in
personalisation.name
personalisation
.value
personalisation
.allow_input