В настоящее время я работаю с Wit.ai над веб-страницей в CodePen.io. Мне было интересно, можно ли получить текстовый ответ бота Wit.ai («Бот говорит») с помощью HTTP API.
Например: если пользователь должен был запросить бота с помощью:
Как это работает?
Я хотел бы после вызова API с этим сообщением получить типичный ответ бота:
Я в порядке, спасибо, человек.
Я просмотрел документацию по HTTP API. Похоже, это делается с помощью «POST» для api.wit.ai/converse. Ответ JSON содержит поле «msg», что мне и нужно! Вот код, который я сейчас использую:
$.ajax({
url: baseUrl + "converse",
data: {
'q': text, // The message to send the bot
'session_id': "123abc",
'access_token' : accessToken // Authorisation key for using our bot
},
dataType: 'json',
crossDomain: true,
method: 'POST',
success: function(data) {
prepareResponse(data);
},
error: function() {
respond(messageInternalError);
}
});
Однако Wit.Ai на данный момент не поддерживает CORS, единственный способ делать междоменные запросы — это использовать JSONP, который работает только для GET-запросов. Как и следовало ожидать, приведенный выше код приводит к ошибке HTTP 400.
Кто-нибудь может подтвердить, можно ли использовать HTTP API для получения текстового ответа бота на сообщение пользователя? Есть ли обходной путь к тому, что я сейчас делаю?