POST /notifications/email-templates/import

Creates email templates for standard or custom events if you do not specify email template IDs, or updates existing email templates if you specify valid email template IDs.

For each email template when you are creating email templates, whether the template is created for a standard event, a custom event, or a custom scheduled event is dependent on whether you specify the eventCategory or eventTypeName field.

The maximum number of email templates that you can create or update by one call is 1,000.

Servers

Request headers

Name Type Required Description
Content-Type String Yes The media type of the request body.

Default value: "application/json"

Content-Encoding String No

Include the Content-Encoding: gzip header to compress a request. With this header specified, you should upload a gzipped file for the request payload instead of sending the JSON payload.

Zuora-Track-Id String No

A custom identifier for tracing the API call. If you set a value for this header, Zuora returns the same value in the response headers. This header enables you to associate your system process identifiers with Zuora API calls, to assist with troubleshooting in the event of an issue.

The value of this field must use the US-ASCII character set and must not include any of the following characters: colon (:), semicolon (;), double quote ("), and quote (').

Authorization String Yes

The value is in the Bearer {token} format where {token} is a valid OAuth token generated by calling Create an OAuth token.

Idempotency-Key String No

Specify a unique idempotency key if you want to perform an idempotent POST or PATCH request. Do not use this header in other request types.

With this header specified, the Zuora server can identify subsequent retries of the same request using this value, which prevents the same operation from being performed multiple times by accident.

Zuora-Entity-Ids String No

An entity ID. If you have Zuora Multi-entity enabled and the OAuth token is valid for more than one entity, you must use this header to specify which entity to perform the operation in. If the OAuth token is only valid for a single entity, or you do not have Zuora Multi-entity enabled, you do not need to set this header.

Zuora-Org-Ids String No

Comma separated IDs. If you have Zuora Multi-Org enabled, you can use this header to specify which orgs to perform the operation in. If you do not have Zuora Multi-Org enabled, you should not set this header.

The IDs must be a sub-set of the user's accessible orgs. If you specify an org that the user does not have access to, the operation fails.

If the header is not set, the operation is performed in scope of the user's accessible orgs.

Accept-Encoding String No

Include the Accept-Encoding: gzip header to compress responses as a gzipped file. It can significantly reduce the bandwidth required for a response.

If specified, Zuora automatically compresses responses that contain over 1000 bytes of data, and the response contains a Content-Encoding header with the compression algorithm so that your client can decompress it.

Request body fields

Name Type Required Description
emailTemplates[] Array No

A container for email templates.

emailTemplates[].description String No

The description of the email template.

emailTemplates[].emailHeaders Object No

Container for custom email headers. Each custom email header consists of a header name and a header value.

emailTemplates[].replyToEmailType String No

Type of the replyTo email.

Possible values:

  • "SpecificEmail"
  • "TenantEmail"
  • "RunOwner"
emailTemplates[].ccEmailType String No

Email CC type.

  • When the base object for the event is associated with Account, ccEmailType can be any values in the enum list.
  • When the base object for the event is not associated with Account, ccEmailType must be TenantAdmin, RunOwner, or SpecificEmail.

Possible values:

  • "InvoiceOwnerBillToAndSoldToContacts"
  • "SoldToContact"
  • "TenantAdmin"
  • "InvoiceOwnerAllContacts"
  • "InvoiceOwnerBillToContact"
  • "BillToAndSoldToContacts"
  • "InvoiceOwnerSoldToContact"
  • "AllContacts"
  • "RunOwner"
  • "SpecificEmails"
  • "BillToContact"

Default value: "SpecificEmails"

emailTemplates[].fromName String No

The name of the email sender.

emailTemplates[].emailBody String Yes

The email body. You can add merge fields in the email body using angle brackets or double curly brackets. For more information, see Merge field syntax for email templates.

You can also embed HTML tags if isHtml is true.

emailTemplates[].fromEmailAddress String No

If fromEmailType is SpecificEmail, this field is required.

emailTemplates[].isHtml Boolean No

Indicates whether the style of email body is HTML. The default value is false.

Default value: false

emailTemplates[].bccEmailAddress String No

The email bcc address.

emailTemplates[].ccEmailAddress String No

The email CC address.

emailTemplates[].toEmailAddress String No

If toEmailType is SpecificEmail, this field is required.

emailTemplates[].id String No

ID of an existing email template. Specify this field if you want to update an existing email template.

emailTemplates[].eventCategory Number No

If you specify this field, the email template is created based on a standard event. See Standard Event Categories for all standard event category codes.

emailTemplates[].eventTypeName String No

The name of the custom event or custom scheduled event. If you specify this field, the email template is created based on the corresponding custom event or custom scheduled event.

emailTemplates[].name String Yes

The name of the email template, a unique name in a tenant.

emailTemplates[].active Boolean No

The status of the email template. The default value is true.

Default value: true

emailTemplates[].fromEmailType String Yes

The type of the email.

Possible values:

  • "SpecificEmail"
  • "TenantEmail"
  • "RunOwner"
emailTemplates[].emailSubject String Yes

The email subject. You can add merge fields in the email subject using angle brackets or double curly brackets. For more information, see Merge field syntax for email templates.

emailTemplates[].encodingType String No

The endcode type of the email body.

Possible values:

  • "EUC_JP"
  • "UTF8"
  • "X_SJIS_0213"
  • "Shift_JIS"
  • "ISO_2022_JP"

Default value: "UTF8"

emailTemplates[].replyToEmailAddress String No

If replyToEmailType is SpecificEmail, this field is required.

emailTemplates[].eventTypeNamespace String No

The namespace of the eventTypeName field. The eventTypeName has the user.notification namespace by default.

Note that if the eventTypeName is a standard event type, you must specify the com.zuora.notification namespace; otherwise, you will get an error.

For example, if you want to create an email template on the OrderActionProcessed event, you must specify com.zuora.notification for this field.

emailTemplates[].toEmailType String Yes

Email receive type.

  • When the base object for the event is associated with Account, toEmailType can be any values in the enum list.
  • When the base object for the event is not associated with Account, toEmailType must be TenantAdmin, RunOwner, or SpecificEmail.

Possible values:

  • "InvoiceOwnerBillToAndSoldToContacts"
  • "SoldToContact"
  • "TenantAdmin"
  • "InvoiceOwnerAllContacts"
  • "InvoiceOwnerBillToContact"
  • "BillToAndSoldToContacts"
  • "InvoiceOwnerSoldToContact"
  • "AllContacts"
  • "RunOwner"
  • "SpecificEmails"
  • "BillToContact"
allowPartialSuccess Boolean No

When set to false, the call will fail if one or multiple instances fail to import, and a 200 response is returned if all email templates have been successfully updated. When set to true, a success (200) response is returned if one or more instances have imported successfully. All failed instances are also returned in the response.

How to start integrating

  1. Add HTTP Task to your workflow definition.
  2. Search for the API you want to integrate with and click on the name.
    • This loads the API reference documentation and prepares the Http request settings.
  3. Click Test request to test run your request to the API and see the API's response.