Delen via


Een entiteit maken met de web-API

 

Gepubliceerd: januari 2017

Is van toepassing op: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Gebruik een POST-aanvraag om gegevens te verzenden om een entiteit te maken. U kunt in één bewerking meerdere gerelateerde entiteiten maken met 'Diep invoegen'. U moet ook weten hoe u waarden moet instellen om een nieuwe entiteit te koppelen met bestaande entiteiten met de @odata.bind-notatie.

Notitie

Zie Entiteitsdefinities maken en bijwerken met behulp van de web-API voor informatie over het maken en bijwerken van de entiteitmetagegevens met de web-API.

In dit onderwerp

Basis maken

In één bewerking gerelateerde entiteiten maken

Entiteiten koppelen bij het maken

Aanmaken met gegevens retourneren

Basis maken

In dit voorbeeld wordt een nieuwe accountentiteit gemaakt. De OData-EntityId-koptekst voor respons bevat de Uri van de gemaakte entiteit.

  • Aanvraag

    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
    }
    
  • Respons

    HTTP/1.1 204 No Content
    OData-Version: 4.0
    OData-EntityId: cc_WebAPI_ServiceURI/accounts(7eb682f1-ca75-e511-80d4-00155d2a68d1)
    

Als u een nieuwe entiteit wilt maken, moet u de geldige eigenschapsnamen en -typen bepalen. Voor alle systeementiteiten en -kenmerken kunt u deze informatie vinden in het onderwerp voor die entiteit in de Web API EntityType Reference. Voor aangepaste entiteiten of kenmerken raadpleegt u de definitie van die entiteit in het d80cfb87-d4f1-4c75-bcc8-4f54d1351e26#bkmk_csdl.Meer informatie:d80cfb87-d4f1-4c75-bcc8-4f54d1351e26#bkmk_entityTypes

In één bewerking gerelateerde entiteiten maken

U kunt entiteiten maken die gerelateerd zijn aan elkaar door ze als waarden van navigatie-eigenschappen te definiëren. Dit wordt Diep invoegen genoemd.

Net als bij basis maken bevat de OData-EntityId-koptekst voor respons de Uri van de gemaakte entiteit. De URI's voor de gemaakte gerelateerde entiteiten worden niet weergegeven.

De volgende aanvraagtekst die op de Account-entiteitenreeks werd geplaatst zal in totaal vier nieuwe entiteiten maken in de context van het maken van een account.

  • Er wordt een contactpersoon gemaakt omdat deze is gedefinieerd als een objecteigenschap van de single-valued navigatie-eigenschap primarycontactid.

  • Er wordt een kans gemaakt omdat deze is gedefinieerd als een object in een matrix die is ingesteld op de waarde van een collection-valued navigatie-eigenschap opportunity_customer_accounts.

  • Er wordt een taak gemaakt omdat deze is gedefinieerd als een object in een matrix die is ingesteld op de waarde van een collection-valued navigatie-eigenschap Opportunity_Tasks.

  • Aanvraag

    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" }
          ]
      }
     ]
    }
    
  • Respons

    HTTP/1.1 204 No Content
    OData-Version: 4.0
    OData-EntityId: cc_WebAPI_ServiceURI/accounts(3c6e4b5f-86f6-e411-80dd-00155d2a68cb)
    

Entiteiten koppelen bij het maken

Om nieuwe entiteiten aan bestaande entiteiten te koppelen wanneer ze worden gemaakt, moet u de waarde van single-valued navigatie-eigenschappen instellen met de @odata.bind-annotatie.

De volgende aanvraagtekst die op de entiteitenreeks van het account is geplaatst zal een nieuw account maken dat is gekoppeld met een bestaande contactpersoon met de contactid-waarde van 00000000-0000-0000-0000-000000000001.

  • Aanvraag

    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)"
    }
    
  • Respons

    HTTP/1.1 204 No Content
    OData-Version: 4.0
    OData-EntityId: cc_WebAPI_ServiceURI/accounts(00000000-0000-0000-0000-000000000002)
    

Notitie

Het op deze manier koppelen van entiteiten met een collection-valued navigatie-eigenschap wordt niet ondersteund door de web-API.

Aanmaken met gegevens retourneren

Notitie

Deze mogelijkheid is toegevoegd in de Update voor Dynamics 365 (online en on-premises) - december 2016.

U kunt uw POST-aanvraag zodanig opstellen dat de gegevens van de gemaakte record worden geretourneerd met een status 201 (Created). Om dit resultaat te verkrijgen, moet u de voorkeur return=representation gebruiken in de aanvraagheaders.

Om te controleren welke eigenschappen worden geretourneerd, voegt u de queryoptie $select toe aan de URL naar de entiteitset. Als de queryoptie $expand wordt gebruikt, wordt deze genegeerd.

Wanneer een entiteit op deze manier wordt gemaakt, wordt de header OData-EntityId met de URI naar de gemaakte record niet geretourneerd.

In dit voorbeeld wordt een nieuwe accountentiteit aangemaakt en worden de gewenste gegevens in de respons geretourneerd.

  • Aanvraag

    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
    }
    
  • Respons

    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"
    }
    

Zie ook

Voorbeeld van eenvoudige Web API-bewerkingen (C#)
Voorbeeld basisbewerkingen web-API (JavaScript op client)
Bewerkingen uitvoeren met de web-API
HTTP-aanvragen opstellen en fouten afhandelen
Querygegevens met behulp van de web-API
Een entiteit ophalen met de web-API
Entiteiten bijwerken en verwijderen met de Web-API
Entiteiten koppelen en ontkoppelen met de web-API
Web-API-functies gebruiken
Web-API-acties gebruiken
Batchbewerkingen uitvoeren met de Web API
Zich als een andere gebruiker voordoen die de Web API gebruikt
Voorwaardelijke bewerkingen uitvoer met de web-API

Microsoft Dynamics 365

© 2017 Microsoft. Alle rechten voorbehouden. Auteursrecht