Del via


Eksempel på Web API Basic operationer

 

Udgivet: januar 2017

Gælder for: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Denne gruppe af eksempler viser, hvordan du kan udføre grundlæggende CRUD-handlinger (opret, hent, opdater og slet) og tilknyttede handlinger ved hjælp af Microsoft Dynamics 365 Web-API'en. Dette eksempel er implementeret som et separat projekt på følgende sprog:

Dette emne beskriver et fælles sæt af handlinger, der er implementeret af hvert eksempel i denne gruppe. I dette emne beskrives HTTP-anmodninger og svar og tekstoutput, som hvert eksempel i denne gruppe skal udføre uden de sprogspecifikke oplysninger. Se de sprogspecifikke beskrivelser og individuelle eksempler for at få oplysninger om, hvordan disse handlinger udføres.

Demonstrerer

Dette eksempel er inddelt i følgende sektioner, som indeholder Dynamics 365 Web API-handlinger, der er beskrevet mere detaljeret i de tilknyttede emner, der er angivnet.

Kodesektion

Tilknyttede emner

Sektion 1: Grundlæggende oprettelses- og opdateringshandlinger

Grundlæggende oprettelse
Oprette med data, der er returneret
Grundlæggende opdatering
Opdatere med data, der er returneret

Sektion 2: Opret med tilknytning

Tilknyt objekter ved oprettelse

Sektion 3: Opret relaterede objekter (dyb indsætning)

Oprette relaterede objekter på én gang

Sektion 4: Tilknyt og fjern tilknytningen af eksisterende objekter

Tilknytte og fjerne tilknytningen af objekter ved hjælp af web-API'et

Sektion 5: Slet objekter (eksempeloprydning)

Grundlæggende sletning

Bemærk

Af pladshensyn er mindre relevante HTTP-headere udeladt. URL-adresserne på posterne varierer efter den grundlæggende organisations adresse og id'et for den post, der er tildelt af din Dynamics 365-server.

Sektion 1: Grundlæggende oprettelses- og opdateringshandlinger

Denne sektion opretter en enkelt kontakt og udfører derefter en række opdateringer af denne forekomst. Bemærk, at svarheaderen OData-EntityId indeholder URL-adressen til denne nyoprettede post (objektforekomsten), der indeholder det entydige id for posten i parentes.

  1. Opret en ny kontakt med navnet Peter Cambel.

    HTTP-anmodning

    POST http://cc_WebAPI_ServiceURI/contacts HTTP/1.1
    Content-Type: application/json
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    {
      "firstname": "Peter",
      "lastname": "Cambel"
    }
    

    HTTP-svar

    HTTP/1.1 204 No Content
    OData-Version: 4.0
    OData-EntityId: http://cc_WebAPI_ServiceURI/contacts(60f77a42-5f0e-e611-80e0-00155da84c03)
    

    Konsoloutput

    Contact 'Peter Cambel' created.
    

    De egenskaber, der er tilgængelige for hver type, er defineret i metadatadokumentet og er også beskrevet til hver type i sektionen Web API EntityType Reference. Du finder flere generelle oplysninger i Web-API-typer og -handlinger.

  2. Opdater kontakten med værdier for årlig indkomst ($80,000) og stilling (Junior Developer).

    HTTP-anmodning

    PATCH http://cc_WebAPI_ServiceURI/contacts(60f77a42-5f0e-e611-80e0-00155da84c03) HTTP/1.1
    Content-Type: application/json
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    {
      "annualincome": 80000,
      "jobtitle": "Junior Developer"
    }
    

    HTTP-svar

    HTTP/1.1 204 No Content
    

    Konsoloutput

    Contact 'Peter Cambel' updated with job title and annual income.
    
  3. Hent kontakten med dens sæt af udtrykkeligt initialiserede egenskaber.fullname er en skrivebeskyttet egenskab, der er beregnet ud fra egenskaberne firstname og lastname, som udtrykkeligt blev initialiseret, da forekomsten blev oprettet. I modsætning hertil blev egenskaben description ikke udtrykkeligt initialiseret, så den bevarer standardværdien, en null-streng.

    Bemærk, at svaret, ud over de ønskede værdier og typiske headere, også automatisk returnerer følgende typer yderligere oplysninger:

    • Det primære ID for den aktuelle objekttype, her contactid.

    • En ETag-værdi, der er angivet af @odata.etag-nøglen, der identificerer den bestemte version af den ressource, der anmodes om. Du kan finde flere oplysninger under Udfør betingede operationer ved hjælp af web-API.

    • Den metadatasammenhæng, der angives af @odata.context-nøglen, gør det muligt at sammenligne resultaterne af forespørgslen for at afgøre, om de kommer fra den samme forespørgsel.

    • En _transactioncurrencyid_value, der angiver den lokale valuta for en pengetransaktion.

    HTTP-anmodning

    GET http://cc_WebAPI_ServiceURI/contacts(60f77a42-5f0e-e611-80e0-00155da84c03)?$select=fullname,annualincome,jobtitle,description HTTP/1.1
    Accept: application/json
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    

    HTTP-svar

    HTTP/1.1 200 OK
    Content-Type: application/json; odata.metadata=minimal
    OData-Version: 4.0
    { 
       "@odata.context":"http://cc_WebAPI_ServiceURI/$metadata#contacts(fullname,annualincome,jobtitle,description)/$entity",
       "@odata.etag":"W/\"628883\"",
       "fullname":"Peter Cambel",
       "annualincome":80000.0000,
       "jobtitle":"Junior Developer",
       "description":null,
       "_transactioncurrencyid_value":"0d4ed62e-95f7-e511-80d1-00155da84c03",
       "contactid":"60f77a42-5f0e-e611-80e0-00155da84c03"
    }
    

    Konsoloutput

    Contact 'Peter Cambel' retrieved:
            Income: 80000
            Job title: Junior Developer
            Description: .
    

    Vigtigt

    Du skal altid bruge markering og filtrering under hentning for at optimere ydeevnen. Du kan finde flere oplysninger under Forespørg på data ved hjælp af Web-API'en.

  4. Opdater forekomsten af kontaktobjektet ved at angive nye værdier for de samme egenskaber.

    HTTP-anmodning

    PATCH http://cc_WebAPI_ServiceURI/contacts(60f77a42-5f0e-e611-80e0-00155da84c03) HTTP/1.1
    Content-Type: application/json
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    {
      "jobtitle": "Senior Developer",
      "annualincome": 95000,
      "description": "Assignment to-be-determined"
    }
    

    HTTP-svar

    HTTP/1.1 204 No Content
    

    Konsoloutput

    Contact 'Peter Cambel' updated:
            Job title: Senior Developer
            Annual income: 95000
            Description: Assignment to-be-determined
    

    Vigtigt

    Send kun ændrede egenskaber i opdateringsanmodninger. Du kan finde flere oplysninger under Grundlæggende opdatering.

  5. Angiv eksplicit en enkelt egenskab, det primære telefonnummer. Bemærk, at dette er en PUT-anmodning, og at JSON-nøglen med navnet value bruges, når du udfører handlinger på individuelle egenskaber.

    HTTP-anmodning

    PUT http://cc_WebAPI_ServiceURI/contacts(60f77a42-5f0e-e611-80e0-00155da84c03)/telephone1 HTTP/1.1
    Content-Type: application/json
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    {
      "value": "555-0105"
    }
    

    HTTP-svar

    HTTP/1.1 204 No Content
    

    Konsoloutput

    Contact 'Peter Cambel' phone number updated.
    
  6. Hent den samme enkelte egenskab, det primære telefonnummer. Bemærk igen brugen af nøglenavnet value.

    HTTP-anmodning

    GET http://cc_WebAPI_ServiceURI/contacts(60f77a42-5f0e-e611-80e0-00155da84c03)/telephone1 HTTP/1.1
    Accept: application/json
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    

    HTTP-svar

    HTTP/1.1 200 OK
    Content-Type: application/json; odata.metadata=minimal
    OData-Version: 4.0
    { 
       "@odata.context":"http://cc_WebAPI_ServiceURI/$metadata#contacts(60f77a42-5f0e-e611-80e0-00155da84c03)/telephone1",
       "value":"555-0105"
    }
    

    Konsoloutput

    Contact's telephone# is: 555-0105.
    
  7. Opret en lignende kontakt, men returner også oplysninger om forekomster i den samme handling. Denne sidstnævnte funktion aktiveres af Prefer: return=representation-headeren. Denne funktion blev introduceret i December 2016 – opdatering til Dynamics 365 (online og det lokale miljø) og kræver version 8.2 eller nyere.

    HTTP-anmodning

    POST http://cc_WebAPI_ServiceURI/contacts?$select=fullname,annualincome,jobtitle,contactid HTTP/1.1
    OData-Version: 4.0
    Content-Type: application/json; charset=utf-8
    Prefer: return=representation
    {
      "firstname": "Peter_Alt",
      "lastname": "Cambel",
      "jobtitle": "Junior Developer",
      "annualincome": 80000,
      "telephone1": "555-0110"
    }
    

    HTTP-svar

    HTTP/1.1 201 Created
    Content-Type: application/json; odata.metadata=minimal
    Preference-Applied: return=representation
    OData-Version: 4.0
    {
      "@odata.context":"http://cc_WebAPI_ServiceURI/$metadata#contacts/$entity","@odata.etag":"W/\"758870\"","_transactioncurrencyid_value":"0d4ed62e-95f7-e511-80d1-00155da84c03","annualincome":80000.0000,"contactid":"199250b7-6cbe-e611-80f7-00155da84c08","jobtitle":"Junior Developer","fullname":"Peter_Alt Cambel"
    }
    

    Konsoloutput

    Contact 'Peter_Alt Cambel' created:
            Annual income: 80000
            Job title: Junior Developer
    Contact URI: http://cc_WebAPI_ServiceURI/contacts(199250b7-6cbe-e611-80f7-00155da84c08)
    
  8. Opdater denne, lignende kontakt, og returner også oplysninger om forekomster i den samme handling. Igen aktiveres denne funktion af Prefer: return=representation-headeren. Denne funktion blev introduceret i December 2016 – opdatering til Dynamics 365 (online og det lokale miljø) og kræver version 8.2 eller nyere.

    HTTP-anmodning

    POST http://cc_WebAPI_ServiceURI/contacts?$select=fullname,annualincome,jobtitle,contactid HTTP/1.1
    OData-Version: 4.0
    Content-Type: application/json; charset=utf-8
    Prefer: return=representation
    {
      "firstname": "Peter_Alt",
      "lastname": "Cambel",
      "jobtitle": "Junior Developer",
      "annualincome": 80000,
      "telephone1": "555-0110"
    }
    

    HTTP-svar

    HTTP/1.1 201 Created
    Content-Type: application/json; odata.metadata=minimal
    Preference-Applied: return=representation
    OData-Version: 4.0
    {
      "@odata.context":"http://cc_WebAPI_ServiceURI/$metadata#contacts/$entity","@odata.etag":"W/\"758870\"","_transactioncurrencyid_value":"0d4ed62e-95f7-e511-80d1-00155da84c03","annualincome":80000.0000,"contactid":"199250b7-6cbe-e611-80f7-00155da84c08","jobtitle":"Junior Developer","fullname":"Peter_Alt Cambel"
    }
    

    Konsoloutput

    Contact 'Peter_Alt Cambel' updated:
            Annual income: 95000
            Job title: Senior Developer
    

Sektion 2: Opret med tilknytning

Denne sektion opretter en ny firmaforekomst med navnet Contoso, Ltd. og knytter den til en eksisterende kontakt, Peter Cambel, som blev oprettet i Sektion 1: Grundlæggende oprettelses- og opdateringshandlinger. Denne oprettelse og tilknytning udføres i en enkelt POST-handling.

  1. Opret firmaet Contoso, Ltd., og indstil attributten for den primære kontaktperson til den eksisterende kontakt Peter Cambel. Anmærkningen @odata.bind angiver, at en tilknytning oprettes, som her binder navigationsegenskaben primarycontactid med enkeltværdi til en eksisterende kontakt, Peter Cambel.

    HTTP-anmodning

    POST http://cc_WebAPI_ServiceURI/accounts HTTP/1.1
    Content-Type: application/json
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    {
      "name": "Contoso Inc",
      "telephone1": "555-5555",
      "primarycontactid@odata.bind": "http://cc_WebAPI_ServiceURI/contacts(60f77a42-5f0e-e611-80e0-00155da84c03)"
    }
    

    HTTP-svar

    HTTP/1.1 204 No Content
    OData-Version: 4.0
    OData-EntityId: http://cc_WebAPI_ServiceURI/accounts(65f77a42-5f0e-e611-80e0-00155da84c03)
    

    Konsoloutput

    Account 'Contoso Inc' created.
    
  2. Hent den primære kontaktperson for firmaet Contoso, Ltd. igen ved hjælp af $expand med navigationsegenskaben primarycontactid med enkeltværdi for at få adgang til den tilknyttede contact EntityType-post.

    HTTP-anmodning

    GET http://cc_WebAPI_ServiceURI/accounts(65f77a42-5f0e-e611-80e0-00155da84c03)?$select=name,&$expand=primarycontactid($select=fullname,jobtitle,annualincome) HTTP/1.1
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    

    HTTP-svar

    HTTP/1.1 200 OK
    Content-Type: application/json; odata.metadata=minimal
    OData-Version: 4.0
    { 
       "@odata.context":"http://cc_WebAPI_ServiceURI/$metadata#accounts(name,primarycontactid,primarycontactid(fullname,jobtitle,annualincome))/$entity",
       "@odata.etag":"W/\"628886\"",
       "name":"Contoso Inc",
       "accountid":"65f77a42-5f0e-e611-80e0-00155da84c03",
       "primarycontactid":{ 
          "@odata.etag":"W/\"628885\"",
          "fullname":"Peter Cambel",
          "jobtitle":"Senior Developer",
          "annualincome":95000.0000,
          "_transactioncurrencyid_value":"0d4ed62e-95f7-e511-80d1-00155da84c03",
          "contactid":"60f77a42-5f0e-e611-80e0-00155da84c03"
       }
    }
    

    Konsoloutput

    Account 'Contoso Inc' has primary contact 'Peter Cambel':
         Job title: Senior Developer
         Income: 95000
    

Sektion 3: Opret relaterede objekter (dyb indsætning)

Denne sektion viser, hvordan du opretter en objektforekomst og relaterede objektforekomster i en enkelt POST-anmodning. Hvis du bruger denne metode, oprettes alle forekomster på ny. Der er ingen eksisterende forekomster, der skal knyttes til. Denne fremgangsmåde har to fordele. Den er mere effektiv, fordi den erstatter flere mere enkle oprettelses- og tilknytningshandlinger med én kombineret handling. Desuden er den atomisk, hvor enten hele handlingen lykkes, og alle relaterede objekter oprettes, eller handlingen mislykkes, og der oprettes ingen objekter.

Denne sektion opretter et firma, firmaets primære kontaktperson og en række opgaver for kontaktpersonen i én anmodning.

  1. Opret firmaet Fourth Coffee og den primære kontaktperson Susie Curtis og hendes tre relaterede opgaver på én gang. Bemærk brugen af navigationsegenskaben primarycontactid med enkeltværdi og navigationsegenskaben Contact_Tasks med gruppeværdi, der definerer de respektive relationer. Navigationsegenskaber med enkeltværdi bruger en objektværdi, mens navigationsegenskaber med gruppeværdi bruger en matrixværdi.

    HTTP-anmodning

    POST http://cc_WebAPI_ServiceURI/accounts HTTP/1.1
    Content-Type: application/json
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    {
      "name": "Fourth Coffee",
      "primarycontactid": {
        "firstname": "Susie",
        "lastname": "Curtis",
        "jobtitle": "Coffee Master",
        "annualincome": 48000,
        "Contact_Tasks": [
          {
            "subject": "Sign invoice",
            "description": "Invoice #12321",
            "scheduledend": "2016-04-19T00:00:00-07:00"
          },
          {
            "subject": "Setup new display",
            "description": "Theme is - Spring is in the air",
            "scheduledstart": "2016-04-20T00:00:00-07:00"
          },
          {
            "subject": "Conduct training",
            "description": "Train team on making our new blended coffee",
            "scheduledstart": "2016-06-01T00:00:00-07:00"
          }
        ]
      }
    }
    

    HTTP-svar

    HTTP/1.1 204 No Content
    OData-Version: 4.0
    OData-EntityId: http://cc_WebAPI_ServiceURI/accounts(6af77a42-5f0e-e611-80e0-00155da84c03)
    

    Konsoloutput

    Account 'Fourth Coffee' created.
    
  2. Hent selektivt det netop oprettede firma Fourth Coffee og den primære kontaktperson. Udvidelsen udføres på navigationsegenskaben primarycontactid med enkeltværdi.

    HTTP-anmodning

    GET http://cc_WebAPI_ServiceURI/accounts(6af77a42-5f0e-e611-80e0-00155da84c03)?$select=name,&$expand=primarycontactid($select=fullname,jobtitle,annualincome) HTTP/1.1
    Accept: application/json
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    

    HTTP-svar

    HTTP/1.1 200 OK
    Content-Type: application/json; odata.metadata=minimal
    OData-Version: 4.0 
    { 
       "@odata.context":"http://cc_WebAPI_ServiceURI/$metadata#accounts(name,primarycontactid,primarycontactid(fullname,jobtitle,annualincome))/$entity",
       "@odata.etag":"W/\"628902\"",
       "name":"Fourth Coffee",
       "accountid":"6af77a42-5f0e-e611-80e0-00155da84c03",
       "primarycontactid":{ 
          "@odata.etag":"W/\"628892\"",
          "fullname":"Susie Curtis",
          "jobtitle":"Coffee Master",
          "annualincome":48000.0000,
          "_transactioncurrencyid_value":"0d4ed62e-95f7-e511-80d1-00155da84c03",
          "contactid":"6bf77a42-5f0e-e611-80e0-00155da84c03"
       }
    }
    

    Konsoloutput

    Account 'Fourth Coffee' has primary contact 'Susie Curtis':
            Job title: Coffee Master
            Income: 48000
    
  3. Hent selektivt de opgaver, der er knyttet til den primære kontaktperson, der blev hentet i den forrige handling. Udvidelsen udføres på navigationsegenskaben Contact_Tasks med gruppeværdi.

    HTTP-anmodning

    GET http://cc_WebAPI_ServiceURI/contacts(6bf77a42-5f0e-e611-80e0-00155da84c03)?$select=fullname,&$expand=Contact_Tasks($select=subject,description,scheduledstart,scheduledend) HTTP/1.1
    Accept: application/json
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    

    HTTP-svar

    HTTP/1.1 200 OK
    Content-Type: application/json; odata.metadata=minimal
    OData-Version: 4.0 
    { 
       "@odata.context":"http://cc_WebAPI_ServiceURI/$metadata#contacts(fullname,Contact_Tasks,Contact_Tasks(subject,description,scheduledstart,scheduledend))/$entity",
       "@odata.etag":"W/\"628892\"",
       "fullname":"Susie Curtis",
       "contactid":"6bf77a42-5f0e-e611-80e0-00155da84c03",
       "Contact_Tasks":[ 
          { 
             "@odata.etag":"W/\"628903\"",
             "subject":"Sign invoice",
             "description":"Invoice #12321",
             "scheduledstart":"2016-04-19T00:00:00Z",
             "scheduledend":"2016-04-19T00:00:00Z",
             "activityid":"6cf77a42-5f0e-e611-80e0-00155da84c03"
          },
          { 
             "@odata.etag":"W/\"628905\"",
             "subject":"Setup new display",
             "description":"Theme is - Spring is in the air",
             "scheduledstart":"2016-04-20T00:00:00Z",
             "scheduledend":"2016-04-20T00:00:00Z",
             "activityid":"6df77a42-5f0e-e611-80e0-00155da84c03"
          },
          { 
             "@odata.etag":"W/\"628907\"",
             "subject":"Conduct training",
             "description":"Train team on making our new blended coffee",
             "scheduledstart":"2016-06-01T00:00:00Z",
             "scheduledend":"2016-06-01T00:00:00Z",
             "activityid":"6ef77a42-5f0e-e611-80e0-00155da84c03"
          }
       ]
    }
    

    Konsoloutput

    Contact 'Susie Curtis' has the following assigned tasks:
    Subject: Sign invoice,
            Description: Invoice #12321
            Start: 4/19/2016
            End: 4/19/2016
    
    Subject: Setup new display,
            Description: Theme is - Spring is in the air
            Start: 4/20/2016
            End: 4/20/2016
    
    Subject: Conduct training
            Description: Train team on making our new blended coffee,
            Start: 6/1/2016
            End: 6/1/2016
    

Sektion 4: Tilknyt og fjern tilknytningen af eksisterende objekter

Dette afsnit viser, hvordan eksisterende forekomster af objektet tilknyttes, og hvordan tilknytningen fjernes. Oprettelse af en tilknytning kræver brug af en reference-URI og et relationsobjekt, som derefter sendes i en POST-anmodning. Fjernelse af tilknytningen kræver, at der sendes en DELETE-anmodning til reference-URI'en for tilknytningen. Først oprettes en en-til-mange-tilknytning mellem en kontaktperson og et firma. Derefter oprettes en mange-til-mange-tilknytning mellem en konkurrent og en eller flere salgsmuligheder.

  1. Tilføj Peter Cambel som kontakt for firmaet Fourth Coffee ved hjælp af navigationsegenskaben contact_customer_accounts med gruppeværdi. Bemærk, at specialnøglen @odata.id bruges til at angive den tilknyttede post.

    HTTP-anmodning

    POST http://cc_WebAPI_ServiceURI/accounts(6af77a42-5f0e-e611-80e0-00155da84c03)/contact_customer_accounts/$ref HTTP/1.1
    Content-Type: application/json
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    {
      "@odata.id": "http://cc_WebAPI_ServiceURI/contacts(60f77a42-5f0e-e611-80e0-00155da84c03)"
    }
    

    HTTP-svar

    HTTP/1.1 204 No Content
    

    Konsoloutput

    Contact 'Peter Cambel' associated to account 'Fourth Coffee'.
    
  2. Bekræft den forrige handling ved at hente en gruppe af kontakter til firmaet Fourth Coffee. Svaret indeholder matrixen med et enkelt element, den netop tildelte kontakt Peter Cambel.

    HTTP-anmodning

    GET http://cc_WebAPI_ServiceURI/accounts(6af77a42-5f0e-e611-80e0-00155da84c03)/contact_customer_accounts?$select=fullname,jobtitle HTTP/1.1
    Accept: application/json
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    

    HTTP-svar

    HTTP/1.1 200 OK
    Content-Type: application/json; odata.metadata=minimal
    OData-Version: 4.0 
    {
      "@odata.context":"http://cc_WebAPI_ServiceURI/$metadata#contacts(fullname,jobtitle)","value":[
        {
          "@odata.etag":"W/\"632481\"","fullname":"Peter Cambel","jobtitle":"Senior Developer","contactid":"00b6e0e2-b010-e611-80e1-00155da84c03"
        }
      ]
    }
    

    Konsoloutput

    Contact list for account 'Fourth Coffee':
            Name: Peter Cambel, Job title: Senior Developer
    
  3. Fjern tilknytningen, der netop er blevet oprettet mellem firmaet Fourth Coffee og kontakten Peter Cambel.

    HTTP-anmodning

    DELETE http://cc_WebAPI_ServiceURI/accounts(6af77a42-5f0e-e611-80e0-00155da84c03)/contact_customer_accounts/$ref?$id=http://cc_WebAPI_ServiceURI/contacts(60f77a42-5f0e-e611-80e0-00155da84c03) HTTP/1.1
    Content-Type: application/json
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    

    HTTP-svar

    HTTP/1.1 204 No Content
    

    Konsoloutput

    Contact 'Peter Cambel' dissociated from account 'Fourth Coffee'.
    
  4. Opret en konkurrent med navnet Adventure Works.

    HTTP-anmodning

    POST http://cc_WebAPI_ServiceURI/competitors HTTP/1.1
    Content-Type: application/json
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    {
      "name": "Adventure Works",
      "strengths": "Strong promoter of private tours for multi-day outdoor adventures"
    }
    

    HTTP-svar

    HTTP/1.1 204 No Content
    OData-Version: 4.0
    OData-EntityId: http://cc_WebAPI_ServiceURI/accounts(77f77a42-5f0e-e611-80e0-00155da84c03) 
    

    Konsoloutput

    Competitor 'Adventure Works' created.
    
  5. Opret en salgsmulighed med navnet River rafting adventure.

    HTTP-anmodning

    POST http://cc_WebAPI_ServiceURI/opportunities HTTP/1.1
    Content-Type: application/json
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    {
      "name": "River rafting adventure",
      "description": "Sales team on a river-rafting offsite and team building"
    }
    

    HTTP-svar

    HTTP/1.1 204 No Content
    OData-Version: 4.0
    OData-EntityId: http://cc_WebAPI_ServiceURI/opportunities(7cf77a42-5f0e-e611-80e0-00155da84c03) 
    

    Konsoloutput

    Opportunity 'River rafting adventure' created.
    
  6. Knyt denne nye salgsmulighed til den nye konkurrent. Bemærk, at den samme generelle syntaks, som blev brugt i den tidligere-til-mange-tilknytning, bruges i denne mange-til-mange-tilknytning.

    HTTP-anmodning

    POST http://cc_WebAPI_ServiceURI/opportunities(7cf77a42-5f0e-e611-80e0-00155da84c03)/opportunitycompetitors_association/$ref HTTP/1.1
    Content-Type: application/json
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    {
      "@odata.id": "http://cc_WebAPI_ServiceURI/competitors(77f77a42-5f0e-e611-80e0-00155da84c03)"
    }
    

    HTTP-svar

    HTTP/1.1 204 No Content
    

    Konsoloutput

    Opportunity 'River rafting adventure' associated with competitor 'Adventure Works'.
    
  7. Hent selektivt alle de salgsmuligheder, der er knyttet til konkurrenten Adventure Works. Der returneres en matrix med en enkelt salgsmulighed.

    HTTP-anmodning

    GET http://cc_WebAPI_ServiceURI/competitors(77f77a42-5f0e-e611-80e0-00155da84c03)?$select=name,&$expand=opportunitycompetitors_association($select=name,description) HTTP/1.1
    Accept: application/json
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    

    HTTP-svar

    HTTP/1.1 200 OK
    { 
       "@odata.context":"http://cc_WebAPI_ServiceURI/$metadata#competitors(name,opportunitycompetitors_association,opportunitycompetitors_association(name,description))/$entity",
       "@odata.etag":"W/\"628913\"",
       "name":"Adventure Works",
       "competitorid":"77f77a42-5f0e-e611-80e0-00155da84c03",
       "opportunitycompetitors_association":[ 
          { 
             "@odata.etag":"W/\"628917\"",
             "name":"River rafting adventure",
             "description":"Sales team on a river-rafting offsite and team building",
             "opportunityid":"7cf77a42-5f0e-e611-80e0-00155da84c03"
          }
       ]
    }
    

    Konsoloutput

    Competitor 'Adventure Works' has the following opportunities:
            Name: River rafting adventure,
            Description: Sales team on a river-rafting offsite and team building
    
  8. Fjern salgsmuligheden fra konkurrenten. Bemærk igen, at der bruges samme generelle syntaks, som bruges til at fjerne en en-til-mange-tilknytning.

    HTTP-anmodning

    DELETE http://cc_WebAPI_ServiceURI/opportunities(7cf77a42-5f0e-e611-80e0-00155da84c03)/opportunitycompetitors_association/$ref?$id=http://[Token-CRM-Org-Name]/Contoso/api/data/v8.1/competitors(77f77a42-5f0e-e611-80e0-00155da84c03) HTTP/1.1
    Content-Type: application/json
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    

    HTTP-svar

    HTTP/1.1 204 No Content
    

    Konsoloutput

    Opportunity 'River rafting adventure' disassociated from competitor 'Adventure Works'.
    

Sektion 5: Slet objekter (eksempeloprydning)

Denne sektion viser, hvordan du sletter forekomster af et objekt. Den tilsvarende meddelelse er en enkel DELETE-anmodning, der bruger URI'en for den objektforekomst, der skal slettes. Hvis målobjektet har en overordnet-underordnet relation med andre objekter, og det overordnede objekt slettes, slettes underordnede forekomster som standard automatisk i kaskader. I dette eksempel har opgaver for eksempel kontaktperson som overordnet objekt. Du kan finde flere oplysninger under Relationsfunktionsmåde for objekt.

  1. Hvert element i gruppen af objekt-URL-adresser slettes. Det første er en kontaktpersonpost for Peter Cambel.

    HTTP-anmodning

    DELETE http://cc_WebAPI_ServiceURI/contacts(60f77a42-5f0e-e611-80e0-00155da84c03) HTTP/1.1
    Content-Type: application/json
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    

    HTTP-svar

    HTTP/1.1 204 No Content
    
  2. Efterfølgende gentagelser gennem gruppen sletter de resterende poster.

    HTTP-anmodning

    DELETE http://cc_WebAPI_ServiceURI/accounts(65f77a42-5f0e-e611-80e0-00155da84c03) HTTP/1.1
    . . .
    
    DELETE http://cc_WebAPI_ServiceURI/accounts(6af77a42-5f0e-e611-80e0-00155da84c03) HTTP/1.1
    . . .
    
    DELETE http://cc_WebAPI_ServiceURI/contacts(6bf77a42-5f0e-e611-80e0-00155da84c03) HTTP/1.1
    . . .
    
    DELETE http://cc_WebAPI_ServiceURI/competitors(77f77a42-5f0e-e611-80e0-00155da84c03) HTTP/1.1
    . . .
    
    DELETE http://cc_WebAPI_ServiceURI/opportunities(7cf77a42-5f0e-e611-80e0-00155da84c03) HTTP/1.1
    . . .
    

Se også

Brug Microsoft Dynamics 365 Web API
Oprette et objekt ved hjælp af Web-API
Hente et objekt ved hjælp af web-API'et
Opdatere og slette objekter ved hjælp af web-API'et
Tilknytte og fjerne tilknytningen af objekter ved hjælp af web-API'et
Eksempel på Web API Basic-operationer (C#)
Eksempel på Web API Basic operationer (JavaScript på klientsiden)

Microsoft Dynamics 365

© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret