Это действительно зависит от того, как ваше внешнее приложение создано для вызова IBM Watson API. Чтобы быть более обобщенным c, вам нужно будет сделать:
Сначала вам нужно будет добавить синтаксис html
в ваш узел ответа / ответа на Watson Conversation:
Please select your date: <br />
<input type="date" id="birthday" name="birthday">
А в вашем коде переднего плана (вероятно, index.html
, который содержит ваш пользовательский интерфейс) вам потребуется функция для определения того, что было выбрано, например:
document.getElementById("birthday").addEventListener("change", function() {
let inputDate = this.value;
let ifYouWantEntireDateFormat = new Date(inputDate);
console.log(inputDate); // 2020-04-20
console.log(ifYouWantEntireDateFormat); //e.g. Mon April 20 2020 00:00:00 etc
});
Вы также можете использовать функцию querySelector
, Кроме того, если значение не выбрано, оно вернет «Недопустимую дату»
. Учитывая все это, вам также необходимо знать, что Watson API принимает payload
с переменными context
, что это то, что вам нужно. Я бы рекомендовал сначала проверить API документы , чтобы понять больше. Но, как я понял, ваша полезная нагрузка может быть похожа на:
const AssistantV2 = require('ibm-watson/assistant/v2');
const { IamAuthenticator } = require('ibm-watson/auth');
const assistant = new AssistantV2({
version: '2020-04-01',
authenticator: new IamAuthenticator({
apikey: '{apikey}',
}),
url: '{url}',
});
assistant.message({
assistantId: '{assistant_id}',
sessionId: '{session_id}',
input: {
'message_type': 'text',
'text': 'Hello',
'options': {
'return_context': true
}
},
context: {
'global': {
'myDatePicker': inputDate,
'system': {
'user_id': 'my_user_id'
}
},
'skills': {
'main skill': {
'user_defined': {
'account_number': '123456'
}
}
}
}
})
.then(res => {
console.log(JSON.stringify(res.result, null, 2));
})
.catch(err => {
console.log(err);
});
Примечание context
включается в ответы на сообщения, только если вы return_context=true
в запросе на сообщение.
Важные ссылки:
- Тип ввода Дата - MDN
- Watson Assistant API do c - IBM Watson