'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
Что можно сделать, чтобы это исправить? Мне нужна стенограмма от Лекса.