Current version: 1.0

This page provides a sketch for creating order confirmation mails. Not all attributes need to be filled, as not each shop system can provide all data or some data is decided not to be required for the usecase. However, having a common transaction type can ease development.

order.idyesStringID of the order
order.dateyesTimestampDate of the order, can contain time information
order.status StringCurrent state of the order, e.g. “Waiting for payment” or “completed”
order.estimated_delivery_time StringE.g. “3 Working Days”
order.estimated_delivery_date DateAn estimate for the delivery date
order.items yesJSONSet of items in the order. See table below for data definition.
order.product_ids StringComma separated list of product IDs in the order for easier filtering
order.categories StringComma separated list of categories in the order for easier filtering
order.brands StringComma separated list of brands in the order for easier filtering
order.totalyesDoubleOverall price
order.total_no_shipping*DoubleOverall price without shipping fees
order.total_taxyesDoubleTaxes applied
order.total_feesyesDoubleSum of fees, like shipping costs
order.total_refundsDoubleSum of refunds
order.fees  JSONSet of fees applied to the order, e.g. shipping fee. See table below for data definition.
order.refunds  JSONSet of refunds applied to the order, e.g. some cashback. See table below for data definition.
order.currencyyesStringCurrency, e.g. € StringID of the payment method*StringName of the payment method
payment.method.url StringSome URL, e.g. for payment details
payment.method.image_url StringURL of an image to display in the mailing
payment.method.dataStringE.g. the Klarna-Payment-ID
payment.due_date DateDate till the payment should be done
payment.statusStringStatus, e.g. “open” or “paid”
discount.code StringIf there is a simple discount code, e.g. a voucher code StringThe sum of discounts
discount.rules JSONSet of rules applied to the order, e.g. vouchers. See table below for data definition.
discount.rules_string StringRules as a CSV string. Can be used for filters
customer.fullname StringFull name
customer.firstname StringFirst name
customer.lastname StringLast name *StringCustomer ID
billing.address.salutationStringSalutation for BA
billing.address.firstname StringFirst name for BA
billing.address.lastnameStringLast name for BA
billing.address.street StringStreet for BA StringZIP for BA StringCity for BA
billing.address.region StringRegion for BA
billing.address.countryStringCountry for BA
shipping.address.salutationStringSalutation for SA
shipping.address.firstname StringFirst name for SA
shipping.address.lastnameStringLast name for SA
shipping.address.street StringStreet for SA StringZIP for SA StringCity for SA
shipping.address.region StringRegionfor SA
shipping.address.countryStringCountry for SA StringID of the shipping service, e.g. the code like “dhl”, “ups”, or an internal ID like “123” StringName of the shippings ervice, e.g. “UPS”
shipping.service.url StringURL for more informations about shipping service
shipping.service.image_url StringURL for an image to display in a mailing
shipping.service.tracking.code StringA tracking code to display
shipping.service.tracking.url StringA url to the tracking information
shipping.statusStringStatus, like “shipped”
generic.string_1 String
generic.string_2 String
generic.string_3 String
generic.string_4 String
generic.string_5 String
generic.string_6 String
generic.string_7 String
generic.string_8 String
generic.string_9 String
generic.string_10 String
generic.double_1 Double
generic.double_2 Double
generic.double_3 Double
generic.double_4 Double
generic.double_5 Double
generic.integer_1 Integer
generic.integer_2 Integer
generic.integer_3 Integer
generic.integer_4 Integer
generic.integer_5 Integer
generic.boolean_1 Boolean
generic.boolean_2 Boolean
generic.boolean_3 Boolean
generic.boolean_4 Boolean
generic.boolean_5 Boolean
generic.date_1 Date
generic.date_2 Date
generic.date_3 Date
generic.timestamp_1 Timestamp
generic.timestamp_2 Timestamp
generic.timestamp_3 Timestamp
generic.json_1 JSON
generic.json_2 JSON
generic.json_3 JSON

Attributes: order.items

skuyesStringStock Keeping Unit
product id StringOften there is a product ID that differs from SKU
is_gift BooleanIndicates if it is a gift
titleyesStringTitle of the product
description*StringRegular description
short_description StringShort (teaser) description
review StringA review comment
release_date DateDate of product release
urlyesStringURL to the product in the shop
image_urlyesStringURL of the image to display
status*StringIdicates, if the product available, delayed, shipped, sold out, etc.
single_priceyesDoublePrice of a single product
totalyesDoubleTotal cost
categories*StringCategories as a CSV string StringID of a third party seller, e.g. for marketplaces StringName of the seller
seller.url StringURL to the details of a seller
attributes JSONIf there are attributes required that are missing or should be displayed, e.g. as a list
brand StringBrand
color StringColor
weight StringWeight
width StringWidth
height StringHeight
estimated_delivery_date DateThe estimated date
estimated_delivery_time StringE.g. “3 Working Days”


id StringInternal ID of the rule
nameyesStringReadable name of the rule
description StringDescription
totalyesDoubleNumber to display
type*StringDefines, if the discount is absolute or in percent

Attributes: order.fees

id StringInternal ID of the fee
nameyesStringReadable name of the fee
description StringDescription
totalyesDoubleNumber to display

Attributes: order.refunds

id StringInternal ID of the refund
nameyesStringReadable name of the refund
description StringDescription
totalyesDoubleNumber to display

Sourcecode for Order Confirmations (PHP)