RenderMessageTemplateCommand

Renders the Amazon Q in Connect message template based on the attribute values provided and generates the message content. For any variable present in the message template, if the attribute value is neither provided in the attribute request parameter nor the default attribute of the message template, the rendered message content will keep the variable placeholder as it is and return the attribute keys that are missing.

Example Syntax

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

import { QConnectClient, RenderMessageTemplateCommand } from "@aws-sdk/client-qconnect"; // ES Modules import
// const { QConnectClient, RenderMessageTemplateCommand } = require("@aws-sdk/client-qconnect"); // CommonJS import
const client = new QConnectClient(config);
const input = { // RenderMessageTemplateRequest
  knowledgeBaseId: "STRING_VALUE", // required
  messageTemplateId: "STRING_VALUE", // required
  attributes: { // 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",
    },
  },
};
const command = new RenderMessageTemplateCommand(input);
const response = await client.send(command);
// { // RenderMessageTemplateResponse
//   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",
//         },
//       },
//     },
//   },
//   attributesNotInterpolated: [ // MessageTemplateAttributeKeyList
//     "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
//     },
//   ],
// };

RenderMessageTemplateCommand Input

Parameter
Type
Description
attributes
Required
MessageTemplateAttributes | undefined

An object that specifies the values to use for variables in the message template. This object contains different categories of key-value pairs. Each key defines a variable or placeholder in the message template. The corresponding value defines the value for that variable.

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.

RenderMessageTemplateCommand Output

Parameter
Type
Description
$metadata
Required
ResponseMetadata
Metadata pertaining to this request.
content
Required
MessageTemplateContentProvider | undefined

The content of the message template.

attachments
MessageTemplateAttachment[] | undefined

The message template attachments.

attributesNotInterpolated
string[] | undefined

The attribute keys that are not resolved.

Throws

Name
Fault
Details
AccessDeniedException
client

You do not have sufficient access to perform this action.

ResourceNotFoundException
client

The specified resource does not exist.

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.