Questa domanda è correlata a Microsoft Dynamics CRM 2015, che sto chiamando tramite API.Creare annotazione per un'entità di contatto in Microsoft Dynamics CRM tramite API
creo un'entità contatto:
POST [organization URI]/api/data/contacts
Content-Type: application/json; charset=utf-8
Accept: application/json
{
"emailaddress1": "[email protected]",
}
Funziona, vedo nuovo record, dopo annoto nel pannello. E posso chiamarlo attraverso l'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]",
....
}
La prossima cosa che voglio fare, è quello di aggiungere record di annotazione associato con quel contatto. A seguito della guide io chiamo:
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)'
}
ma restituisce 400 errore:
An undeclared property 'contact' which only has property annotations in the payload but no property value was found in the payload. In OData, only declared navigation properties and declared named streams can be represented as properties without values.
Quando chiamo: si crea
POST [organization URI]/api/data/annotations
Content-Type: application/json; charset=utf-8
Accept: application/json
{
"notetext": "TEST",
}
nuova entità, ma senza una relazione da contattare.
Come comporre correttamente questa richiesta POST? Cosa mi manca qui? Sospetto che il [email protected]
debba essere presentato in qualche modo diverso, ho provato [email protected]
, [email protected]
, [email protected]
- ma nessun effetto.
Qualche idea?
perché stai usando il web API di anteprima e non l'endpoint REST? –
il codice dovrebbe essere "" [email protected] ":"/contacts (f76e4e7c-ea61-e511-80fd-3863bb342b00) "' nota '/' prima dei contatti e delle virgolette (nel caso) –
@GuidoPreite I Ho provato e il messaggio di errore è: 'Una proprietà 'objectid' che ha solo annotazioni di proprietà nel payload ma nessun valore di proprietà è dichiarato di tipo 'Edm.Guid'. In OData, solo le proprietà di navigazione e gli stream con nome possono essere rappresentati come proprietà senza valori. – maicher