для моего навыка Alexa, после того, как сработало намерение "ja", умение должно сделать запрос http PATCH в мою базу данных, где он меняет число, добавляя к нему 1. Когда я тестирую навык в консоли разработчика alexa и запускаю намерение «ja», alexa отвечает: «Возникла проблема с ответом запрошенного навыка», однако все запросы http прошли и сработали (число было изменено). Когда я удаляю запрос http из кода, ошибка исчезает.
Это HTTP-запрос PATCH
async function patch(id,data) {
return await new Promise(((resolve, reject) => {
var options = {
host: 'myhostname',
path: 'my/path',
method: 'PATCH',
headers: {
"Authorization": "Bearer adsasdasdasdas",
"Content-Type": "application/x-www-form-urlencoded"
}
};
const request = https.request(options, (response) => {
response.setEncoding('utf8');
let returnData = '';
response.on('data', (chunk) => {
returnData += chunk;
});
response.on('end', () => {
resolve(JSON.parse(returnData));
});
response.on('error', (error) => {
reject(error);
});
});
request.write(data);
request.end();
}));
}
function buildPatchData(number) {
var writeData = querystring.stringify({
'callsthismonth': number
});
return writeData;
}
И это намерение "ja":
'ja': async function () {
const token = this.event.context.System.user.accessToken;
var Id = String(token);
let number = await buildPatchData(10);
let patchRequest = await patch(Id,number);
await this.emit(':tell', 'Ok, thanks for using our skill!');
},