Amazon Connect не может получить атрибуты, которые я установил в своей лямбде. Что я могу сделать, чтобы это исправить? - PullRequest
0 голосов
/ 21 октября 2019
'use strict';
function close(sessionAttributes, fulfillmentState, message) {
  return {
    sessionAttributes,
    dialogAction: {
      type: 'Close',
      fulfillmentState,
      message,
    },
  };
}

function dispatch(intentRequest, callback) {
  const sessionAttributes = intentRequest.sessionAttributes;
  const slots = intentRequest.currentIntent.slots;
  const inputTranscript = intentRequest.currentIntent['input-transcript'];
  callback(close(sessionAttributes, 'Fulfilled',
  {
    'contentType': 'PlainText', 'content': slots, 'Transcript': inputTranscript
  }));
}

exports.handler = (event, context, callback) => {
  try {
    dispatch(event,
    (response) => {
      callback(null, response);
    });
  }catch(err){
    callback(err);
  }
};

Ответ, который я получаю от Lambda:

Response:
{
  "sessionAttributes": {},
  "dialogAction": {
    "type": "Close",
    "fulfillmentState": "Fulfilled",
    "message": {
      "contentType": "PlainText",
      "content": {
        "list": "VPN Related"
      },
      "Transcript": "my vpn is broken"
    }
  }
}

И в Connect у меня есть поле ввода Lex Get Input> Invoke Lambda> Установить блоки атрибутов контакта ... и я могу взять слотиз Lambda / Lex, но по какой-то причине я не могу получить ключ «Transcript» и значение, которое в нем находится. Есть ли что-то, что я должен сделать, чтобы сделать это? Мой атрибут для блока «Установить контактный атрибут» имеет значение «Тип: внешний» с атрибутом $ .External.Transcript

Что можно сделать, чтобы это исправить? Мне нужна стенограмма от Лекса.

...