Create a new email template

When you create an email template, an ETID is assigned to the template. ETID is a unique identifier associated with each email template saved to your Tango platform and is used to identify the specific template when placing an order.

In addition to supporting custom templates, Tango supports one-off email templates that can be called by the optional ETID to override the assigned default email template. Contact your Tango Customer Success Manger, or email [email protected] for details.

Here is an example of the email template:


Dynamic tags in email template

We support a variety of dynamic (mustache) tags that can be inserted into various elements on an email template:

Dynamic TagsDescriptionEmail template element(s)
{{message}}Maps to the "Message" field in the Place Order method.Message Body, Closing Message
{{recipient_name}}Maps to the recipient first-name and last-name fields (concatenated) in the Place Order method, Blast Rewards Template, and Tango portal.Message Body, Closing Message
{{reward_name}}Maps to the reward name (Reward Link Preferred) that is being sent to the recipient.Email Subject, Message Body, Closing Message, Customer Service Message

Use the following endpoint to create email templates for reward delivery. The ETID returned in the API response is necessary to identify a particular email template when ordering.

EndpointPurpose
POST {URI}/emailTemplatesCreate a new email template.

Use the following body parameters with this endpoint to create a new email template on your platform:

Body paramsData typeRequirementDescription
namestringrequiredA unique name to give the template. (Required)
fromNamestringrequiredThe name that appears in the From line of the email. (Required)
subjectstringrequiredThe Subject of the email. (Required)
headerImagestringrequiredA Base64 encoded string of an image that shows as the header of the email. (Required)
headerImageAltTextstringrequiredThe Alt Text for the Header Image in the email. (Required)
accentColorstringrequiredA Hex color value, six hexadecimal digits preceded by a pound sign, used as an accent in the email. (Required)
messageBodystringrequiredThe message body for the email. This is often used to let the recipient know why they have received the reward. (Required)
🚧 Coming soon
smsMessageBody
stringoptionalThe message body for the SMS. This is often used to let the recipient know why they have received the reward. Must be non-NULL when sending rewards via SMS. (limited to 90 characters)
closingstringrequiredAfter the reward credential, a space to close the message to the recipient. (Required)
customerServiceMessagestringoptionalIf left null, Tango's Customer Support contact information is included. Otherwise contact information for your customer support, if you are taking responsibility for providing first tier customer support of your recipients.
accessControlarray of objectsIndicates which Customers and/or Accounts should have access to this template. (Optional)
-typestringThe type of access being specified: PLATFORM, CUSTOMER or ACCOUNT.
-identifierstringLeave this field blank if the type is PLATFORM. Enter either customerIdentifier or accountIdentifier (5-100 chars), if the type is CUSTOMER OR ACCOUNT, respectively.
defaultsarray of objectsIf you want this template to be used at order time for the given Platform, Customer or Account when the Email Template Identifier (etid) is not provided with the order.
-typestringThe type of default being specified: PLATFORM, CUSTOMER or ACCOUNT.
-identifierstringLeave this field blank if the type is PLATFORM. Enter either customerIdentifier or accountIdentifier (5-100 chars), if the type is CUSTOMER OR ACCOUNT, respectively.

Here's the payload example for this endpoint. Enter the ETID returned in your response for the email template when you create an order:

{
  "etid": "string",
  "name": "string",
  "fromName": "string",
  "subject": "string",
  "headerImage": "string",
  "headerImageAltText": "string",
  "accentColor": "string",
  "messageBody": "string",
  "smsMessageBody": "string", 🚧 Coming soon
  "closing": "string",
  "customerServiceMessage": "string",
  "accessControls": [
    {
      "type": "PLATFORM",
      "identifier": "string"
    }
  ],
  "defaults": [
    {
      "type": "PLATFORM",
      "identifier": "string"
    }
  ]
}

Here's an example payload for when you receive an error:

{
  "timestamp": "2025-02-21T23:23:13.930Z",
  "requestId": "string",
  "path": "string",
  "httpCode": 0,
  "httpPhrase": "string",
  "i18nKey": "string",
  "message": "The error message will show here for error codes ",
  "errors": [
    {}
  ]
}

The possible response codes for this endpoint are as follows. For details, see i18nkey codes and their error messages:

Response codeMeaning
201New resource has been successfully created as a result of the request.
400The server could not understand the request due to invalid syntax.
401Authentication is required and has either not been provided or failed.
403The server understood the request but refuses to authorize it.
404The server could not find the requested resource. In other words, the URL you’re trying to access doesn’t point to anything that exists on the server.
409The request could not be completed because it would cause a conflict with the current state of the resource.
422The server understands the request but cannot process it due to semantic errors.
500Something went wrong on the server, but the server cannot be more specific about what the exact problem is.
503The server is currently unable to handle the request due to temporary overload or maintenance.

© 2025 Tango API are provided by Tango, a division of BHN, Inc.