Я пытаюсь вызвать BulkDelete () Действие WebAPI (служба REST OData) локального экземпляра Microsoft Dynamics CRM 365 (2016 / v8.2).
На данный момент я все еще нахожусь на стадии попытки заставить действие работать с помощью Почтальона. Я выполняю HTTP POST для URL, похожего на https://MY_CRM_SERVER/api/data/v8.2/BulkDelete()
, со следующим телом:
{
JobName: "Test Bulk Delete 1",
QuerySet: [{
EntityName: "oo_thingstodelete",
ColumnSet: {
AllColumns: true
},
Distinct: false,
Criteria: {
FilterOperator: "And",
Conditions: [{
AttributeName: "oo_thingstodeleteid",
Operator: "Equal",
Values: [ "296e5e0a-ffe1-e944-80f4-005166811dbb" ]
}]
}
}],
StartDateTime: "2019-04-18T05:00:00Z",
ToRecipients: [],
CCRecipients: [],
SendEmailNotification: false,
RecurrencePattern: "",
RunNow: true
}
Это тело запроса в настоящее время выдает ошибку:
Найдено свойство с именем '' с узлом значения типа
'PrimitiveValue'; однако комплексное значение типа
Ожидается «Microsoft.Dynamics.CRM.Object».
Из того, что я могу сказать, это потому, что свойство «Значения» (в QuerySet / Criteria / Condition) ожидает коллекцию «Object ComplexType». Это задокументировано на странице «ConditionExpression» веб-интерфейса CRM v8 .
На данный момент я предполагаю, что свойству «Значения» должно быть присвоено значение, аналогичное следующему (вместо простого строкового значения):
Values: [ { “Value”: "296e5e0a-ffe1-e944-80f4-005166811dbb" }]
Но если я отправлю вышеупомянутое тело с этим новым значением свойства «Значения», я получу ошибку:
Свойство «Значение» не существует для типа
'Microsoft.Dynamics.CRM.Object. Убедитесь, что вы используете только имена свойств
которые определяются типом.
Это похоже на прогресс, но оно не говорит мне, какое имя свойства я должен использовать вместо этого. В документации CRM WebAPI для «Object ComplexType» не перечислены имена свойств, которые я могу использовать в этом объекте, и я не нашел пример кода о том, как использовать действие BulkDelete через WebAPI.
Обратите внимание, что могут быть другие проблемы с этим телом запроса. Это просто мой нынешний контрольно-пропускной пункт.