CreateMessageTemplateVersionCommand

Creates a new Amazon Q in Connect message template version from the current content and configuration of a message template. Versions are immutable and monotonically increasing. Once a version is created, you can reference a specific version of the message template by passing in <message-template-id>:<versionNumber> as the message template identifier. An error is displayed if the supplied messageTemplateContentSha256 is different from the messageTemplateContentSha256 of the message template with $LATEST qualifier. If multiple CreateMessageTemplateVersion requests are made while the message template remains the same, only the first invocation creates a new version and the succeeding requests will return the same response as the first invocation.

Example Syntax

Use a bare-bones client and the command you need to make an API call.

import { QConnectClient, CreateMessageTemplateVersionCommand } from "@aws-sdk/client-qconnect"; // ES Modules import
// const { QConnectClient, CreateMessageTemplateVersionCommand } = require("@aws-sdk/client-qconnect"); // CommonJS import
const client = new QConnectClient(config);
const input = { // CreateMessageTemplateVersionRequest
  knowledgeBaseId: "STRING_VALUE", // required
  messageTemplateId: "STRING_VALUE", // required
  messageTemplateContentSha256: "STRING_VALUE",
};
const command = new CreateMessageTemplateVersionCommand(input);
const response = await client.send(command);
// { // CreateMessageTemplateVersionResponse
//   messageTemplate: { // ExtendedMessageTemplateData
//     messageTemplateArn: "STRING_VALUE", // required
//     messageTemplateId: "STRING_VALUE", // required
//     knowledgeBaseArn: "STRING_VALUE", // required
//     knowledgeBaseId: "STRING_VALUE", // required
//     name: "STRING_VALUE", // required
//     channelSubtype: "STRING_VALUE", // required
//     createdTime: new Date("TIMESTAMP"), // required
//     lastModifiedTime: new Date("TIMESTAMP"), // required
//     lastModifiedBy: "STRING_VALUE", // required
//     content: { // MessageTemplateContentProvider Union: only one key present
//       email: { // EmailMessageTemplateContent
//         subject: "STRING_VALUE",
//         body: { // EmailMessageTemplateContentBody
//           plainText: { // MessageTemplateBodyContentProvider Union: only one key present
//             content: "STRING_VALUE",
//           },
//           html: {//  Union: only one key present
//             content: "STRING_VALUE",
//           },
//         },
//         headers: [ // EmailHeaders
//           { // EmailHeader
//             name: "STRING_VALUE",
//             value: "STRING_VALUE",
//           },
//         ],
//       },
//       sms: { // SMSMessageTemplateContent
//         body: { // SMSMessageTemplateContentBody
//           plainText: {//  Union: only one key present
//             content: "STRING_VALUE",
//           },
//         },
//       },
//     },
//     description: "STRING_VALUE",
//     language: "STRING_VALUE",
//     groupingConfiguration: { // GroupingConfiguration
//       criteria: "STRING_VALUE",
//       values: [ // GroupingValues
//         "STRING_VALUE",
//       ],
//     },
//     defaultAttributes: { // MessageTemplateAttributes
//       systemAttributes: { // SystemAttributes
//         name: "STRING_VALUE",
//         customerEndpoint: { // SystemEndpointAttributes
//           address: "STRING_VALUE",
//         },
//         systemEndpoint: {
//           address: "STRING_VALUE",
//         },
//       },
//       agentAttributes: { // AgentAttributes
//         firstName: "STRING_VALUE",
//         lastName: "STRING_VALUE",
//       },
//       customerProfileAttributes: { // CustomerProfileAttributes
//         profileId: "STRING_VALUE",
//         profileARN: "STRING_VALUE",
//         firstName: "STRING_VALUE",
//         middleName: "STRING_VALUE",
//         lastName: "STRING_VALUE",
//         accountNumber: "STRING_VALUE",
//         emailAddress: "STRING_VALUE",
//         phoneNumber: "STRING_VALUE",
//         additionalInformation: "STRING_VALUE",
//         partyType: "STRING_VALUE",
//         businessName: "STRING_VALUE",
//         birthDate: "STRING_VALUE",
//         gender: "STRING_VALUE",
//         mobilePhoneNumber: "STRING_VALUE",
//         homePhoneNumber: "STRING_VALUE",
//         businessPhoneNumber: "STRING_VALUE",
//         businessEmailAddress: "STRING_VALUE",
//         address1: "STRING_VALUE",
//         address2: "STRING_VALUE",
//         address3: "STRING_VALUE",
//         address4: "STRING_VALUE",
//         city: "STRING_VALUE",
//         county: "STRING_VALUE",
//         country: "STRING_VALUE",
//         postalCode: "STRING_VALUE",
//         province: "STRING_VALUE",
//         state: "STRING_VALUE",
//         shippingAddress1: "STRING_VALUE",
//         shippingAddress2: "STRING_VALUE",
//         shippingAddress3: "STRING_VALUE",
//         shippingAddress4: "STRING_VALUE",
//         shippingCity: "STRING_VALUE",
//         shippingCounty: "STRING_VALUE",
//         shippingCountry: "STRING_VALUE",
//         shippingPostalCode: "STRING_VALUE",
//         shippingProvince: "STRING_VALUE",
//         shippingState: "STRING_VALUE",
//         mailingAddress1: "STRING_VALUE",
//         mailingAddress2: "STRING_VALUE",
//         mailingAddress3: "STRING_VALUE",
//         mailingAddress4: "STRING_VALUE",
//         mailingCity: "STRING_VALUE",
//         mailingCounty: "STRING_VALUE",
//         mailingCountry: "STRING_VALUE",
//         mailingPostalCode: "STRING_VALUE",
//         mailingProvince: "STRING_VALUE",
//         mailingState: "STRING_VALUE",
//         billingAddress1: "STRING_VALUE",
//         billingAddress2: "STRING_VALUE",
//         billingAddress3: "STRING_VALUE",
//         billingAddress4: "STRING_VALUE",
//         billingCity: "STRING_VALUE",
//         billingCounty: "STRING_VALUE",
//         billingCountry: "STRING_VALUE",
//         billingPostalCode: "STRING_VALUE",
//         billingProvince: "STRING_VALUE",
//         billingState: "STRING_VALUE",
//         custom: { // CustomAttributes
//           "<keys>": "STRING_VALUE",
//         },
//       },
//       customAttributes: {
//         "<keys>": "STRING_VALUE",
//       },
//     },
//     attributeTypes: [ // MessageTemplateAttributeTypeList
//       "STRING_VALUE",
//     ],
//     attachments: [ // MessageTemplateAttachmentList
//       { // MessageTemplateAttachment
//         contentDisposition: "STRING_VALUE", // required
//         name: "STRING_VALUE", // required
//         uploadedTime: new Date("TIMESTAMP"), // required
//         url: "STRING_VALUE", // required
//         urlExpiry: new Date("TIMESTAMP"), // required
//         attachmentId: "STRING_VALUE", // required
//       },
//     ],
//     isActive: true || false,
//     versionNumber: Number("long"),
//     messageTemplateContentSha256: "STRING_VALUE", // required
//     tags: { // Tags
//       "<keys>": "STRING_VALUE",
//     },
//   },
// };

CreateMessageTemplateVersionCommand Input

Parameter
Type
Description
knowledgeBaseId
Required
string | undefined

The identifier of the knowledge base. Can be either the ID or the ARN. URLs cannot contain the ARN.

messageTemplateId
Required
string | undefined

The identifier of the message template. Can be either the ID or the ARN. It cannot contain any qualifier.

messageTemplateContentSha256
string | undefined

The checksum value of the message template content that is referenced by the $LATEST qualifier. It can be returned in MessageTemplateData or ExtendedMessageTemplateData. It’s calculated by content, language, defaultAttributes and Attachments of the message template. If not supplied, the message template version will be created based on the message template content that is referenced by the $LATEST qualifier by default.

CreateMessageTemplateVersionCommand Output

Parameter
Type
Description
$metadata
Required
ResponseMetadata
Metadata pertaining to this request.
messageTemplate
ExtendedMessageTemplateData | undefined

The message template.

Throws

Name
Fault
Details
AccessDeniedException
client

You do not have sufficient access to perform this action.

ConflictException
client

The request could not be processed because of conflict in the current state of the resource. For example, if you're using a Create API (such as CreateAssistant) that accepts name, a conflicting resource (usually with the same name) is being created or mutated.

ResourceNotFoundException
client

The specified resource does not exist.

ServiceQuotaExceededException
client

You've exceeded your service quota. To perform the requested action, remove some of the relevant resources, or use service quotas to request a service quota increase.

ThrottlingException
client

The throttling limit has been exceeded.

ValidationException
client

The input fails to satisfy the constraints specified by a service.

QConnectServiceException
Base exception class for all service exceptions from QConnect service.