Как добавить карточку ответа в Lex, используя метод PutIntent? - PullRequest
0 голосов
/ 30 октября 2018

Я пытаюсь добавить карточку ответа в lex, используя putIntent(). В AWS метод putIntent принимает responseCard в качестве строки, но как добавить значения title, subTitle, ImageUrl, button и button во время создания намерения с использованием карточки ответа параметр через putIntent?

Так может кто-нибудь, пожалуйста, помогите мне решить проблему. Предоставьте пример ввода, где карта ответа в виде строки, которая может содержать вышеуказанные атрибуты. Заранее спасибо.

"slots": [
    {
        "description": "string",
        "name": "string",
        "priority": number,
        "responseCard": "string",
        "sampleUtterances": [ "string" ],
        "slotConstraint": "string",
        "slotType": "string",
        "slotTypeVersion": "string",
        "valueElicitationPrompt": {
        "maxAttempts": number,
        "messages": [
            {
                "content": "string",
                "contentType": "string",
                "groupNumber": number
            }
        ],
        "responseCard": "string" --(how to pass title, imageUrl and other attributes) 
    }

1 Ответ

0 голосов
/ 31 октября 2018

Похоже, вы получили правильную часть слотов полного формата ответа от Lex API PutIntent .

Формат responseCard можно найти по адресу Лямбда-формат ответа ввода

"responseCard": {
  "version": integer-value,
  "contentType": "application/vnd.amazonaws.card.generic",
  "genericAttachments": [
      {
         "title":"card-title",
         "subTitle":"card-sub-title",
         "imageUrl":"URL of the image to be shown",
         "attachmentLinkUrl":"URL of the attachment to be associated with the card",
         "buttons":[ 
             {
                "text":"button-text",
                "value":"Value sent to server on button click"
             }
          ]
       } 
   ] 
}

Предполагается, что вы создаете этот responseCard объект в указанном выше формате как переменную с именем responseCard, а затем превращаете этот объект в строку для передачи в PutIntent try:

JSON.stringify(responseCard) при использовании Node.js или
json.dumps(responseCard, separators=(',',':')) при использовании Python.

...