POST-ответ MS Dynamics Campaign: 500 Внутренняя ошибка сервера
Я работаю над MS Dynamics 365, я взял ссылку из документации Microsoft.
Здесь, когда я публикую данные, выдает 500 Internal Server Error
"GET" хорошо работает с той же конечной точкой API.
У нас есть какой-нибудь реляционный параметр, который мне не хватает?
Опубликовать данные
var payload = new
{
subject = "TestSubject",
statecode=2,
statuscode=3,
responsecode=1
};
1 ответ
Решение
Вам не хватает regardingobjectid
Я рекомендую вам использовать CRM REST Builder, это поможет вам сгенерировать запрос, изменить и протестировать в CRM. Это покажет все необходимые атрибуты, выделенные красным.
var entity = {};
entity.subject = "test";
entity["regardingobjectid_campaign@odata.bind"] = "/campaigns(9CFBD4BD-CD4F-E811-A95A-000D3A1A9407)";
entity.responsecode = 3;
var req = new XMLHttpRequest();
req.open("POST", Xrm.Page.context.getClientUrl() + "/api/data/v8.2/campaignresponses", true);
req.setRequestHeader("OData-MaxVersion", "4.0");
req.setRequestHeader("OData-Version", "4.0");
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.onreadystatechange = function() {
if (this.readyState === 4) {
req.onreadystatechange = null;
if (this.status === 204) {
var uri = this.getResponseHeader("OData-EntityId");
var regExp = /\(([^)]+)\)/;
var matches = regExp.exec(uri);
var newEntityId = matches[1];
} else {
Xrm.Utility.alertDialog(this.statusText);
}
}
};
req.send(JSON.stringify(entity));