Этот вопрос связан с Microsoft Dynamics CRM 2015, который я вызываю через API.
Я создаю контактную сущность:
POST [organization URI]/api/data/contacts
Content-Type: application/json; charset=utf-8
Accept: application/json
{
"emailaddress1": "[email protected]",
}
Он работает, я вижу новую запись после входа в панель. И я могу назвать это через API:
[organization URI]/api/data/contacts(f76e4e7c-ea61-e511-80fd-3863bb342b00)
{
"@odata.context":"[organization URI]/api/data/$metadata#contacts/$entity",
"@odata.etag":"W/\"460199\"",
...
"contactid":"f76e4e7c-ea61-e511-80fd-3863bb342b00",
"emailaddress1":"[email protected]",
....
}
Следующее, что я хочу сделать, - добавить запись аннотации, связанную с этим контактом. Следуя guide, я вызываю:
POST [organization URI]/api/data/annotations
Content-Type: application/json; charset=utf-8
Accept: application/json
{
"notetext": "TEST",
'[email protected]': 'contacts(f76e4e7c-ea61-e511-80fd-3863bb342b00)'
}
Но он возвращает 400 ошибок:
В полезной нагрузке обнаружено неотключенное свойство "контакт", которое имеет только аннотации свойств в полезной нагрузке, но не имеет значения свойства. В OData только объявленные свойства навигации и объявленные именованные потоки могут быть представлены как свойства без значений.
Когда я звоню:
POST [organization URI]/api/data/annotations
Content-Type: application/json; charset=utf-8
Accept: application/json
{
"notetext": "TEST",
}
Создается новый объект, но без отношения к контакту.
Как правильно составить этот запрос POST? Что мне здесь не хватает?
Я подозреваю, что [email protected]
должен быть представлен как-то иначе, я пробовал [email protected]
, [email protected]
, [email protected]
- но никаких эффектов.
Любые идеи?