Partilhar via


Associar e desassociar entidades usando a API Web

 

Publicado: janeiro de 2017

Aplicável a: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Há vários métodos que podem ser usados para associar e desassociar entidades. O método a ser aplicado depende de se você está criando ou atualizando as entidades e se você está operando no contexto da entidade referenciada ou da entidade de referência.

Neste tópico

Adicionar uma referência a uma propriedade de navegação com valor de coleção

Remover uma referência a uma entidade

Alterar a referência em uma propriedade de navegação com valor único

Associar entidades ao criar

Associar entidades na atualização

Adicionar uma referência a uma propriedade de navegação com valor de coleção

O exemplo a seguir mostra como associar uma entidade de oportunidade existente com o valor de opportunityid de 00000000-0000-0000-0000-000000000001 à propriedade de navegação opportunity_customer_accounts com valor de coleção de uma entidade conta com o valor de accountid de 00000000-0000-0000-0000-000000000002. Este é um relacionamento 1:N, mas você pode executar a mesma operação para um relacionamento N:N.

  • Solicitação

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

    HTTP/1.1 204 No Content
    OData-Version: 4.0
    

Remover uma referência a uma entidade

Use uma solicitação DELETE para remover uma referência a uma entidade. A maneira como você faz isso é diferente dependendo de se você está fazendo referência a uma propriedade de navegação com valor de coleção ou a uma propriedade de navegação com valor único.

  • Solicitação
    Para uma propriedade de navegação com valor de coleção, use o seguinte.

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

    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
    
  • Solicitação
    Para uma propriedade de navegação com valor único, remova o parâmetro da cadeia de caracteres de consulta $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
    
  • Resposta
    De qualquer maneira, uma resposta com êxito tem o status 204.

    HTTP/1.1 204 No Content
    OData-Version: 4.0
    

Alterar a referência em uma propriedade de navegação com valor único

Você pode associar entidades definindo o valor de uma propriedade de navegação com valor único usando uma solicitação PUT com o padrão a seguir.

  • Solicitação

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

    HTTP/1.1 204 No Content
    OData-Version: 4.0
    

Associar entidades ao criar

Conforme descrito em Criar entidades relacionadas em uma operação, as novas entidades podem ser criadas com relacionamentos usando inserção profunda.

Associar entidades na atualização

Você pode associar entidades na atualização usando a mesma mensagem descrita Atualização básica, mas você deve usar a anotação @odata.bind para definir o valor de uma propriedade de navegação com valor único. O exemplo a seguir altera a conta associada a uma oportunidade usando a propriedade de navegação com valor único customerid_account.

  • Solicitação

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

    HTTP/1.1 204 No Content
    OData-Version: 4.0
    

Confira Também

Amostra de operações básicas API da Web (C#)
Exemplo de operações básicas da API Web (JavaScript do lado do cliente)
Executar operações usando A API
Compor solicitações de HTTP e lidar com erros
Consultar dados usando a API da Web
Criar uma entidade usando a API da Web
Recuperar uma entidade usando a API Web
Atualizar e excluir entidades que usam a API Web
Usar funções da API Web
Use ações API da Web
Executar operações em lote usando a API da WEB
Representar outro usuário usando API da Web
Executar operações condicionais usando A API

Microsoft Dynamics 365

© 2017 Microsoft. Todos os direitos reservados. Direitos autorais