My bot works fine on emulator and webchat channel. But with direct line api it returns 500 internal server error messages.
POST https://directline.botframework.com/api/conversations/BQf8iT1aU3ULgU4VRN2TSF/messages 500 (Internal Server Error)
i am calling it using jquery ajax, below is my code how i make a call
----// calling this on document.ready method and Gettting conversation id in a variable
function GetId() {
var directLineSecret = '<%=ConfigurationManager.AppSettings["SECRET"].ToString() %>';
$.ajax({
method: "POST",
crossDomain: true,
contentType: "application/json",
headers: {
Authorization: "Botconnector " + directLineSecret
},
url: "https://directline.botframework.com/api/conversations",
success: function (data) {
console.log(data);
convId = data.conversationId;
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
console.log(XMLHttpRequest);
console.log(textStatus);
console.log(errorThrown);
}
});
};
----/// calling this method on html button click -->>> this method return internal error 500
function sendMessage(convId, msg) {
debugger;
var directLineSecret = '<%=ConfigurationManager.AppSettings["SECRET"].ToString() %>';
var user = "user_" + convId; //
$.ajax({
method: "POST",
contentType: "application/json",
headers: {
'Content-Type': 'application/json; charset=utf-8',
Authorization: "Botconnector " + directLineSecret
},
url: 'https://directline.botframework.com/api/conversations/' + convId + '/messages',
data: JSON.stringify({
conversationId: convId,
"text": msg, //
"from": user //
}),
success: function (obj) {
debugger;
console.log("Message Sent!");
getMessage(convId);
},
error: function (err) {
alert(err);
}
});
}
---///// if send success get message
function getMessage(convId, watermark) {
debugger;
var url;
if (watermark) {
url = "https://directline.botframework.com/api/conversations/" + convId + "/messages?watermark=" + watermark;
} else {
//url = "https://directline.botframework.com/api/conversations/" + convId + "/messages?watermark=" + watermark;
url = "https://directline.botframework.com/api/conversations/" + convId + "/messages";
}
return $.ajax({
method: "GET",
contentType: "application/json",
headers: {
Authorization: "Botconnector " + directLineSecret
},
url: url,
success: function (data) {
debugger;
console.log('get message success')
console.log(JSON.stringify(data));
});
watermark = data.watermark;
//
var date = new Date();
date.setTime(date.getTime() + (30 * 60 * 1000));
$.cookie("watermark", data.watermark, {
expires: date
});
},
error: function (err) {
alert(err);
}
});
}