Associer et dissocier les entités à l'aide de l'API Web

 

Date de publication : janvier 2017

S’applique à : Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Il existe plusieurs méthodes que vous pouvez utiliser pour associer ou dissocier des entités. La méthode que vous appliquez dépend si vous créez ou mettez les entités à jour et si vous travaillez dans le contexte de l'entité référencée ou de l'entité de référencement.

Contenu de la rubrique

Ajouter une référence à une propriété de navigation avec une valeur de collection

Supprimer une référence à une entité

Modifier la référence dans une propriété de navigation à valeur unique

Associer des entités lors de la création

Associer des entités lors de la mise à jour

Ajouter une référence à une propriété de navigation avec une valeur de collection

Cet exemple explique comment associer une entité d'opportunité existante avec la valeur opportunityid 00000000-0000-0000-0000-000000000001 avec la propriété de navigation avec une valeur de collection opportunity_customer_accounts pour une entité de compte avec la valeur accountid 00000000-0000-0000-0000-000000000002. Il s'agit d'une relation 1 à N mais vous pouvez effectuer la même opération pour une relation N à N.

  • Demande

    POST cc_WebAPI_ServiceURI/accounts(00000000-0000-0000-0000-000000000002)/opportunity_customer_accounts/$ref HTTP/1.1 
    Content-Type: application/json 
    Accept: application/json 
    OData-MaxVersion: 4.0 
    OData-Version: 4.0
    
    {
    "@odata.id":"cc_WebAPI_ServiceURI/opportunities(00000000-0000-0000-0000-000000000001)"
    }
    
  • Réponse

    HTTP/1.1 204 No Content
    OData-Version: 4.0
    

Supprimer une référence à une entité

Utilisez une demande DELETE pour supprimer une référence à une entité. La manière de procéder est différente selon que vous faites référence à une propriété de navigation avec une valeur de collection ou une propriété de navigation à valeur unique.

  • Demande
    Pour une propriété de navigation avec une valeur de collection, utilisez le suivant.

    DELETE cc_WebAPI_ServiceURI/accounts(00000000-0000-0000-0000-000000000002)/opportunity_customer_accounts/$ref?$id=cc_WebAPI_ServiceURI/opportunities(00000000-0000-0000-0000-000000000001) HTTP/1.1
    Accept: application/json
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    

    Ou, utilisez ceci.

    DELETE cc_WebAPI_ServiceURI/accounts(00000000-0000-0000-0000-000000000002)/opportunity_customer_accounts(00000000-0000-0000-0000-000000000001)/$ref HTTP/1.1
    Accept: application/json
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    
  • Demande
    Pour une propriété de navigation à valeur unique, supprimez le paramètre de chaîne de requête $id.

    DELETE cc_WebAPI_ServiceURI/opportunities(00000000-0000-0000-0000-000000000001)/customerid_account/$ref HTTP/1.1
    Accept: application/json
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    
  • Réponse
    Quelle que soit la méthode utilisée, la réponse de réussite a le statut 204.

    HTTP/1.1 204 No Content
    OData-Version: 4.0
    

Modifier la référence dans une propriété de navigation à valeur unique

Vous pouvez associer des entités en définissant la valeur d'une propriété de navigation à valeur unique à l'aide de la demande PUT avec le modèle suivant.

  • Demande

    PUT cc_WebAPI_ServiceURI/opportunities(00000000-0000-0000-0000-000000000001)/customerid_account/$ref HTTP/1.1
    Content-Type: application/json
    Accept: application/json
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    
    {
     "@odata.id":"cc_WebAPI_ServiceURI/accounts(00000000-0000-0000-0000-000000000002)"
    }
    
  • Réponse

    HTTP/1.1 204 No Content
    OData-Version: 4.0
    

Associer des entités lors de la création

Comme décrit dans Créer des entités associées en une opération, des entités peuvent être créées avec les relations avec deep insert.

Associer des entités lors de la mise à jour

Vous pouvez associer des entités lors de la mise à jour avec le message décrit dans Mise à jour de base, mais vous devez utiliser l'annotation @odata.bind pour définir la valeur d'une propriété de navigation à valeur unique. L'exemple suivant modifie le compte associé à une opportunité à l'aide de la propriété de navigation à valeur unique customerid_account.

  • Demande

    PATCH cc_WebAPI_ServiceURI/opportunities(00000000-0000-0000-0000-000000000001) HTTP/1.1
    Content-Type: application/json
    Accept: application/json
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    
    {
     "customerid_account@odata.bind":"cc_WebAPI_ServiceURI/accounts(00000000-0000-0000-0000-000000000002)"
    }
    
  • Réponse

    HTTP/1.1 204 No Content
    OData-Version: 4.0
    

Voir aussi

Exemple d'opérations de base de l'API Web (C#)
Exemple d'opérations de base de l'API Web (Javascript côté client)
Effectuer des opérations à l'aide de l'API Web
Composer des demandes HTTP et gérer les erreurs
Interroger les données à l'aide de l'API Web
Créer une entité à l'aide de l'API Web
Récupérer une entité à l'aide de l'API Web
Mettre à jour et supprimer des entités à l'aide de l'API Web
Utiliser des fonctions API Web
Utiliser des actions API Web
Exécuter des opérations par lots à l'aide de l'API Web
Emprunter l'identité d'un autre utilisateur à l'aide de l'API Web
Effectuer les opérations conditionnelles à l'aide de l'API Web

Microsoft Dynamics 365

© 2017 Microsoft. Tous droits réservés. Copyright