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