Beispiel grundlegender Web-API-Operationen

 

Veröffentlicht: Januar 2017

Gilt für: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Diese Gruppe von Beispielen veranschaulicht, wie Sie einfach CRUD (Erstellen, abrufen, aktualisieren und löschen) und vereinigende Vorgänge mithilfe von Microsoft Dynamics 365 Web API ausführen. Dieses Beispiel wurde als ein separates Projekt für die folgenden Sprachen implementiert:

Dieses Thema berschreibt einen allgemeinen Satz von Vorgängen, die von jedem Beispiel in dieser Gruppe implementiert wurden. Dieses Thema beschreibt HTTP-Anforderungen, -Antworten und Textausgaben, die von jedem Beispiel dieser Gruppe ohne sprachspezifischen Details ausgeführt wird. Weitere Informationen zum Ausführen dieser Vorgänge, finden Sie in den sprachspezifischen Beschreibungen und den individuellen Beispielen.

Demonstriert

Dieses Beispiel wird in die folgenden Hauptabschnitte unterteilt und enthält Dynamics 365Web-API-Datenabfragen, Vorgänge, die in den entsprechenden Themenabschnitten detailliert behandelt werden.

Abschnitt Code .

Zugeordnete konzeptuelle Themen

Abschnitt 1: Grundlegendes Erstellen und Aktualisieren von Vorgängen

Grundlegende Erstellung
Erstellen mit den zurückgegebenen Daten
Grundlegende Aktualisierung
Aktualisieren mit den zurückgegebenen Daten

Abschnitt 2: Erstellen Sie mit Zuordnung

Entitäten bei Erstellung zuordnen

Abschnitt 3: Erstellen Sie verknüpfte Entitäten (tiefe folgende)

Erstellen verknüpfter Entitäten in einem Vorgang

Abschnitt 4: Ordnen Sie bestehende Entitäten zu und heben Sie diese hervor

Entitäten zuordnen und Zuordnungen aufheben mithilfe der Web API

Abschnitt 5: Löschungsentitäten (Beispielbereinigung)

Grundlegende Löschung

Hinweis

Der Kürze halber sind entsprechende HTTP-Kopfzeilen weggelassen worden. Die URIs der Datensätze unterscheiden sich bei der Grundorganisationsadresse und der ID des Datensatzes, der Ihnen durch Ihrem Dynamics 365 Server zugewiesen wird.

Abschnitt 1: Grundlegendes Erstellen und Aktualisieren von Vorgängen

Dieser Abschnitt erstellt einen einzelnen Kontakt und führt dann eine Reihe von Updates nach dieser Instanz aus. Beachten Sie, dass der Antwortheader OData-EntityId die URL für den neu erstellte Datensatz (Entitätsinstanz) enthält, der parenthetisch die eindeutige ID für den Datensatz enthält.

  1. Einen neuen Kontakt erstellen namens Peter Cambel

    HTTP-Anforderung

    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-Antwort

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

    Konsolenausgabe

    Contact 'Peter Cambel' created.
    

    Die Eigenschaften, die für jeden Attributtyp verfügbar sind, werden im Metadatendokuments definiert und sind auch für den Abschnitt Web API EntityType Reference dokumentiert. Weitere allgemeine Informationen finden Sie in der Internet API-Typen und -Vorgänge-Hilfe.

  2. Aktualisieren Sie den Kontakt mit Werten für Jahreseinkommen ($80,000) und Position (Junior Developer).

    HTTP-Anforderung

    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-Antwort

    HTTP/1.1 204 No Content
    

    Konsolenausgabe

    Contact 'Peter Cambel' updated with job title and annual income.
    
  3. Rufen Sie den Kontakt mit den Datensatz explizit mit den initialisierten Eigenschaften ab. Die fullname ist eine schreibgeschützte Eigenschaft, die von den firstname und lastname-Eigenschaften berechnet wird, die explizit initialisiert wurden, als die Instanz erstellt wurde. Demgegenüber wurde die description-Eigenschaft nicht explizit initialisiert, damit diese ein Standardwert, eine null Zeichenfolge fest.

    Beachten Sie, dass die Antwort, zusätzlich zu den angeforderten Werten und den typischen Überschriften, ebenfalls automatisch die folgenden Typen an zusätzlichen Informationen zurückgegebe:

    • Die primäre ID für den aktuellen Entitätstyp, hier contactid.

    • Ein eTagwert, steht im @odata.etag Schlüssel, auf dem die bestimmte Version der angeforderten Ressource definiert wird. Weitere Informationen finden Sie unter Bedingte Vorgänge mithilfe der Web-API ausführen.

    • Der Metadatenkontext, der vom @odata.context Schlüssel definiert wird, bietet eine Möglichkeit, Abfrageergebnisse zu bestimmen, ob Sie von derselben Abfrage kamen.

    • Ein _transactioncurrencyid_value, der die Landeswährung für Finanztransaktionen angibt.

    HTTP-Anforderung

    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-Antwort

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

    Konsolenausgabe

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

    Wichtig

    Sie sollten immer Auswahl und Filtern bei Abrufvorgängen verwenden, um die Leistung optimieren. Weitere Informationen finden Sie unter Datenabfrage mit Web-API.

  4. Aktualisieren Sie die Kontaktentitätsinstanz, indem Sie neue Werte für die selben Eigenschaften festlegen.

    HTTP-Anforderung

    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-Antwort

    HTTP/1.1 204 No Content
    

    Konsolenausgabe

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

    Wichtig

    Senden Sie nur geänderte Eigenschaften an Updateanforderungen. Weitere Informationen finden Sie unter Grundlegende Aktualisierung.

  5. Legen Sie explizit eine einzelne Eigenschaft fest, die einzelne primäre Telefonnummer. Hinweis: Dies ist eine PUT Anforderung und dass der JSON-Schlüssel, der value heißt, verwendet wird, wenn der Vorgang oder einzelne Eigenschaften ausgeführt werden.

    HTTP-Anforderung

    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-Antwort

    HTTP/1.1 204 No Content
    

    Konsolenausgabe

    Contact 'Peter Cambel' phone number updated.
    
  6. Rufen Sie die dieselbe Eigenschaft ab, die einzelne primäre Telefonnummer. Beachten Sie erneut die Verwendung der Schlüssel, der value heißt.

    HTTP-Anforderung

    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-Antwort

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

    Konsolenausgabe

    Contact's telephone# is: 555-0105.
    
  7. Einen gleichen Kontakt erstellen aber auch die Instanzinformation im gleichen Vorgang zurückgeben. Die letzte Funktion wird durch die Prefer: return=representation Kopfzeile aktiviert. Diese Funktion wurde mit Update für Dynamics 365 (online und lokal), Dezember 2016 eingeführt und erfordert Version 8.2 oder höher.

    HTTP-Anforderung

    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-Antwort

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

    Konsolenausgabe

    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. Diesen gleichen Kontakt updaten und auch die Instanzinformation im gleichen Vorgang zurückgeben. Diese Funktion wird durch die Prefer: return=representation Kopfzeile aktiviert. Diese Funktion wurde mit Update für Dynamics 365 (online und lokal), Dezember 2016 eingeführt und erfordert Version 8.2 oder höher.

    HTTP-Anforderung

    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-Antwort

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

    Konsolenausgabe

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

Abschnitt 2: Erstellen Sie mit Zuordnung

Dieser Abschnitt erstellt eine neue Firmeninstanz, die Contoso, Ltd. heißt und einem vorhandenen Kontakt Peter Cambelzugeordnet wird und der in Abschnitt 1: Grundlegendes Erstellen und Aktualisieren von Vorgängen erstellt wurde. Die Erstellung und Zuordnung wird in einem einzelnen Vorgang ausgeführt.

  1. Erstellen Sie Contoso, Ltd. Firma und legen Sie das primäre Kontaktattribut des vorhandenen Kontakts Peter Cambel fest. Der @odata.bind Zusatz gibt an, dass eine Zuordnung erstellt wurde und die primarycontactid einzelbewertete Navigationseigenschaft dem bestehenden Kontakt Peter Cambel hinzugefügt wurde.

    HTTP-Anforderung

    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-Antwort

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

    Konsolenausgabe

    Account 'Contoso Inc' created.
    
  2. Rufen Sie den primären Kontakt für die Firma Contoso, Ltd. mithilfe von $expand mit der primarycontactid einzel-bewerteten Navigationseigenschaft auf, um auf den zugeordneten Datensatz contact EntityType zuzugreifen.

    HTTP-Anforderung

    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-Antwort

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

    Konsolenausgabe

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

Abschnitt 3: Erstellen Sie verknüpfte Entitäten (tiefe folgende)

In diesem Abschnitt werden wir aufzeigen, wie eine Entitätsinstanz und eine verknüpfte Instanz in einer einzigen POST-Anforderung erstellt wird. Mithilfe dieser Methode werden alle Instanzen neu erstellt; es gibt keine vorhandenen Instanzen, die zugeordnet werden können. Diese Methode hat zwei Vorteile. Sie ist effizienter und ersetzt mehrere einfache Erstellungs- und Zuordnungsvorgänge mit einem gemeinsamen Vorgang. Auch ist er unteilbar, wobei entweder der gesamte Vorgang erfolgreich ist und alle verknüpften Objekte erstellt werden oder der Vorgang schlägt fehl und es wird nichts erstellt.

Dieser Abschnitt erstellt eine Firma, einen primären Kontakt und einen Reihe von Aufgaben für diesen Kontakt in einer Anforderung.

  1. Erstellt die Firma Fourth Coffee und den primären Kontakt Susie Curtis und die drei verknüpften Aufgaben in einen Vorgang. Beachten Sie die Verwendung der einzel-bewerteten primarycontactid Navigationseigenschaft und der Sammlung-bewerteten Navigationseigenschaft Contact_Tasks, um diese Beziehungen zu definieren. Einzel-bewertete Navigationseigenschaften nehmen einen Objektwert, während Sammlung-bewertete Navigationseigenschaften einen Array-Wert nehmen.

    HTTP-Anforderung

    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-Antwort

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

    Konsolenausgabe

    Account 'Fourth Coffee' created.
    
  2. Rufen Sie selektiv die neu erstellte Fourth Coffee-Firma und den primären Kontakt ab. Eine Erweiterung wird auf der einzel-bewerteten Navigationseigenschaft primarycontactidausgeführt.

    HTTP-Anforderung

    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-Antwort

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

    Konsolenausgabe

    Account 'Fourth Coffee' has primary contact 'Susie Curtis':
            Job title: Coffee Master
            Income: 48000
    
  3. Rufen Sie selektiv die dazugehörenden Aufgaben auf, die dem primären Kontakt zugeordnet werden, der im vorherigen Vorgang abgerufen wird. Eine Erweiterung wird auf der Sammlungs-bewerteten Navigationseigenschaft Contact_Tasksausgeführt.

    HTTP-Anforderung

    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-Antwort

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

    Konsolenausgabe

    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
    

Abschnitt 4: Ordnen Sie bestehende Entitäten zu und heben Sie diese hervor

In diesem Abschnitt wird gezeigt, wie vorhandene Entitätsinstanzen zugeordnet werden und die Zuordnung aufgehoben wird. Die Formung eine Zuordnung für die Verwendung einer Bezugs-URI- und eines-Beziehungsobjekt, die dann an eine POST-Anforderung gesendet werden. Die Aufhebung der Zuordnung erfordert, dass Sie einen Befehl "LÖSCHEN" an die Referenz-URL für diese Zuordnung senden. Zuerst wird einer 1: n-Zuordnung zwischen einem Kontakt und einer Firma gebildet. Anschließend wird eine n: n-Zuordnung zwischen einem Mitbewerber und mindestens einer Verkaufschance gebildet.

  1. Fügen Sie Peter Cambel als Kontakt der Firma Fourth Coffee mithilfe der contact_customer_accounts Sammlung-bewerteten Navigationseigenschaft hinzu. Beachten Sie die Verwendung des Schlüssels @odata.id, um den zugeordneten Datensatz zu definieren.

    HTTP-Anforderung

    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-Antwort

    HTTP/1.1 204 No Content
    

    Konsolenausgabe

    Contact 'Peter Cambel' associated to account 'Fourth Coffee'.
    
  2. Bestätigen Sie den vorhergehenden Vorgang, indem Sie die Sammlung von Kontakten für das Konto Fourth Coffee abrufen. Die Antwort enthält das Element Array mit einem einzigen Element, das kürzlich dem Kontakt Peter Cambel hinzugefügt wurde.

    HTTP-Anforderung

    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-Antwort

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

    Konsolenausgabe

    Contact list for account 'Fourth Coffee':
            Name: Peter Cambel, Job title: Senior Developer
    
  3. Entfernen der Zuordnung, die zwischen der Firma Fourth Coffee und dem Kontakte Peter Cambel erstellt wurde.

    HTTP-Anforderung

    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-Antwort

    HTTP/1.1 204 No Content
    

    Konsolenausgabe

    Contact 'Peter Cambel' dissociated from account 'Fourth Coffee'.
    
  4. Erstellen eines Mitbewerbers namens Adventure Works

    HTTP-Anforderung

    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-Antwort

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

    Konsolenausgabe

    Competitor 'Adventure Works' created.
    
  5. Erstellen einer Verkaufschance namens River rafting adventure

    HTTP-Anforderung

    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-Antwort

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

    Konsolenausgabe

    Opportunity 'River rafting adventure' created.
    
  6. Ordnen Sie die neue Verkaufschance diesem neuen Mitbewerber zu. Beachten Sie, dass dieselbe allgemeine Syntax in dieser m: n-Zuordnung verwendet wird, wie im vorherigen Beispiel eine 1: n-Zuordnung verwendet wurde.

    HTTP-Anforderung

    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-Antwort

    HTTP/1.1 204 No Content
    

    Konsolenausgabe

    Opportunity 'River rafting adventure' associated with competitor 'Adventure Works'.
    
  7. Rufen Sie selektiv alle Verkaufschancen ab, die mit dem Mitbewerber Adventure Works zugeordnet werden. Ein Array mit einer einzelnen Verkaufschance wird zurückgegeben.

    HTTP-Anforderung

    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-Antwort

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

    Konsolenausgabe

    Competitor 'Adventure Works' has the following opportunities:
            Name: River rafting adventure,
            Description: Sales team on a river-rafting offsite and team building
    
  8. So heben Sie die Zuordnung eines Mitbewerbers zu einer Verkaufschance auf: Beachten Sie erneut, das dieselbe allgemeine Syntax verwendet wird, die auch eine 1: n-Zuordnung entfernt..

    HTTP-Anforderung

    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-Antwort

    HTTP/1.1 204 No Content
    

    Konsolenausgabe

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

Abschnitt 5: Löschungsentitäten (Beispielbereinigung)

In diesem Abschnitt zeigen wir, wie Entitätsinstanzen gelöscht werden. Die entsprechende Nachricht ist eine einfache DELETE-Anforderung, die die URI der gelöscht werden kann verwendet Entitätsinstanz. Wenn die Zielentität eine Beziehung aus über- und untergeordneten Zielen für andere Entitäten verfügt, wird beim Löschen des übergeordneten Datensatzes automatisch die Löschweitergabe an untergeordnete Instanzen weitergegeben- Zum Beispiel haben Aufgaben Kontakte wie der übergeordnete Datensatz. Weitere Informationen finden Sie unter Entitätenbeziehungsverhalten.

  1. Jedes Element der Sammlung der Entität der URLs wird gelöscht. Der erste ist ein Kontaktdatensatz von Peter Cambel.

    HTTP-Anforderung

    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-Antwort

    HTTP/1.1 204 No Content
    
  2. Nachfolgende Iterationen durch die Sammlung löschen die verbleibenden Datensätze.

    HTTP-Anforderung

    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
    . . .
    

Siehe auch

Verwenden der Microsoft Dynamics 365-Web-API
Erstellen einer Entität mithilfe des 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
Beispiel grundlegender Web-API-Operationen (C#)
Beispiele grundlegender Web API-Operationen (clientseitiges JavaScript)

Microsoft Dynamics 365

© 2017 Microsoft. Alle Rechte vorbehalten. Copyright