Erstellen einer Entität mithilfe des Web-API
Veröffentlicht: Januar 2017
Gilt für: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Nutzen Sie eine POST-Anfrage, um eine Daten zum Erstellen einer Entität zu senden. Sie können mehrere verknüpfte Entitäten in einem einzelnen Vorgang erstellten, indem Sie die "tiefe Einfügung" nutzen. Sie müssen auch damit vertraut sein, wie Sie Werte festlegen, um eine neue Entität mit vorhandenen Entitäten mithilfe der @odata.bind-Anmerkung zuzuordnen.
Hinweis
Informationen dazu, wie der Entitätsmetadaten mithilfe der Web-API erstellt und aktualisiert werden können, finden Sie unter Erstellen und Aktualisieren von Entitätsdefinitionen mit der Web-API.
In diesem Thema
Grundlegende Erstellung
Erstellen verknüpfter Entitäten in einem Vorgang
Entitäten bei Erstellung zuordnen
Erstellen mit den zurückgegebenen Daten
Grundlegende Erstellung
In diesem Beispiel wird eine neue Firmenentität erstellt. Der OData-EntityId-Antwortheader enthält die URI der erstellten Entität.
Anforderung
POST cc_WebAPI_ServiceURI/accounts HTTP/1.1 Content-Type: application/json; charset=utf-8 OData-MaxVersion: 4.0 OData-Version: 4.0 Accept: application/json { "name": "Sample Account", "creditonhold": false, "address1_latitude": 47.639583, "description": "This is the description of the sample account", "revenue": 5000000, "accountcategorycode": 1 }
Antwort
HTTP/1.1 204 No Content OData-Version: 4.0 OData-EntityId: cc_WebAPI_ServiceURI/accounts(7eb682f1-ca75-e511-80d4-00155d2a68d1)
Zum Erstellen einer neuen Entität müssen Sie die passenden Eigenschaftennamen und -arten ermitteln. Für alle Systementitäten und Attribute können Sie diese Informationen im Thema für diese Entität unter Web API EntityType Reference finden. Informationen zu benutzerdefinierten Entitäten oder Attributen finden Sie in der Definition der Entität im d80cfb87-d4f1-4c75-bcc8-4f54d1351e26#bkmk_csdlWeitere Informationen:d80cfb87-d4f1-4c75-bcc8-4f54d1351e26#bkmk_entityTypes
Erstellen verknüpfter Entitäten in einem Vorgang
Sie können die Entitäten, die miteinander verknüpft werden, indem Sie sie als Navigationseigenschaftenwerte definieren. Dies ist bekannt als tiefe Einfügung.
Wie bei einem grundlegenden Erstellen enthält die Antwort-OData-EntityId-Kopfzeile die Uri der erstellten Entität. Die für die erstellten URI verknüpften Entitäten werden nicht zurückgegeben.
Beispielsweise erstellt der folgenden Anforderungstext, der mit der Account-Entität veröffentlicht wurde, insgesamt vier neue Entitäten beim Erstellen eines Kontos.
Ein Kontakt wird erstellt, da er als eine Objekteigenschaft der einwertigen Navigationseigenschaft primarycontactid definiert ist.
Eine Verkaufschance wird erstellt, da sie als Objekt in einem Arrays definiert ist, das auf den Wert einer als Sammlung bewerteten Navigationseigenschaft opportunity_customer_accounts festgelegt ist.
Eine Aufgabe wird erstellt, da sie als Objekt in einem Arrays definiert ist, das auf den Wert einer als Sammlung bewerteten Navigationseigenschaft Opportunity_Tasks festgelegt ist.
Anforderung
POST cc_WebAPI_ServiceURI/accounts HTTP/1.1 Content-Type: application/json; charset=utf-8 OData-MaxVersion: 4.0 OData-Version: 4.0 Accept: application/json { "name": "Sample Account", "primarycontactid": { "firstname": "John", "lastname": "Smith" }, "opportunity_customer_accounts": [ { "name": "Opportunity associated to Sample Account", "Opportunity_Tasks": [ { "subject": "Task associated to opportunity" } ] } ] }
Antwort
HTTP/1.1 204 No Content OData-Version: 4.0 OData-EntityId: cc_WebAPI_ServiceURI/accounts(3c6e4b5f-86f6-e411-80dd-00155d2a68cb)
Entitäten bei Erstellung zuordnen
Um neue Entitäten vorhandene Entitäten zuzuordnen wenn diese erstellt werden, müssen Sie den Wert für Einzelwert-Navigationseigenschaften über die @odata.bind-Notation festlegen.
Der folgende Anforderungstext, der im Firmenentitätssatz veröffentlicht wird, erstellt eine neue Firma, der ein vorhandener Kontakt mit dem contactid-Wert von 00000000-0000-0000-0000-000000000001 zugeordnet ist.
Anforderung
POST cc_WebAPI_ServiceURI/accounts HTTP/1.1 Content-Type: application/json; charset=utf-8 OData-MaxVersion: 4.0 OData-Version: 4.0 Accept: application/json { "name":"Sample Account", "primarycontactid@odata.bind":"/contacts(00000000-0000-0000-0000-000000000001)" }
Antwort
HTTP/1.1 204 No Content OData-Version: 4.0 OData-EntityId: cc_WebAPI_ServiceURI/accounts(00000000-0000-0000-0000-000000000002)
Hinweis
Das Zuordnen von Entitäten auf diese Weise mithilfe einer Eigenschaft "als Sammlung bewertet" wird von der Internet-API nicht unterstützt.
Erstellen mit den zurückgegebenen Daten
Hinweis
Diese Funktion wurde mit Update für Dynamics 365 (online und lokal), Dezember 2016 hinzugefügt.
Sie können Ihre POST-Anforderung so zusammen stellen, dass die Daten aus dem erstellten Datensatz mit dem Status 201 (Created) zurückgegeben werden. Um dieses Ergebnis zu erzielen, müssen Sie die return=representation-Einstellung in den Anforderungsheadern verwenden.
Um die zurückgegebenen Eigenschaften zu steuern, hängen Sie die $select-Abfrageoption für die URL im Entitätssatz an. Wenn sie verwendet wird, wird die $expand -Abfrageoption ignoriert.
Wenn eine Entität auf diese Weise erstellt wird, wird der OData-EntityId-Header mit der URI für den erstellten Datensatz nicht zurückgegeben.
In diesem Beispiel wird eine Firmaenentität erstellt und gibt die angeforderten Daten in der Antwort zurück.
Anforderung
POST cc_WebAPI_ServiceURI/accounts?$select=name,creditonhold,address1_latitude,description,revenue,accountcategorycode,createdon HTTP/1.1 OData-MaxVersion: 4.0 OData-Version: 4.0 Accept: application/json Content-Type: application/json; charset=utf-8 Prefer: return=representation { "name": "Sample Account", "creditonhold": false, "address1_latitude": 47.639583, "description": "This is the description of the sample account", "revenue": 5000000, "accountcategorycode": 1 }
Antwort
HTTP/1.1 201 Created Content-Type: application/json; odata.metadata=minimal Preference-Applied: return=representation OData-Version: 4.0 { "@odata.context": "cc_WebAPI_ServiceURI/$metadata#accounts/$entity", "@odata.etag": "W/\"536530\"", "accountid": "d6f193fc-ce85-e611-80d8-00155d2a68de", "accountcategorycode": 1, "description": "This is the description of the sample account", "address1_latitude": 47.63958, "creditonhold": false, "name": "Sample Account", "createdon": "2016-09-28T22:57:53Z", "revenue": 5000000.0000, "_transactioncurrencyid_value": "048dddaa-6f7f-e611-80d3-00155db5e0b6" }
Siehe auch
Beispiel grundlegender Web-API-Operationen (C#)
Beispiele grundlegender Web API-Operationen (clientseitiges JavaScript)
Vorgänge mithilfe der Web-API ausführen
HTTP-Anforderungen verfassen und Fehler beheben
Datenabfrage mit Web-API
Abrufen einer Entität mithilfe des Web-API
Entitäten aktualisieren und löschen mithilfe der Web API
Entitäten zuordnen und Zuordnungen aufheben mithilfe der Web API
Nutzen von Web-API-Funktionen
Nutzen von Web-API-Aktionen
Ausführen von Batchbetrieben mithilfe der Web-API
Annehmen eines anderen Benutzerkontos mit Web API
Bedingte Vorgänge mithilfe der Web-API ausführen
Microsoft Dynamics 365
© 2017 Microsoft. Alle Rechte vorbehalten. Copyright