Compartilhar via


Exemplo de operações básicas da API Web

Esta coleção de snippets de código de exemplo demonstra como executar CRUD básico (Criar, Recuperar, Atualizar e Excluir) e operações associativas usando a API Web do Microsoft Dataverse. Essas versões específicas do idioma implementam as mesmas operações:

Este artigo descreve um conjunto comum de operações que cada snippet de exemplo neste grupo implementa. Ele descreve as solicitações e respostas HTTP e a saída de texto que cada exemplo executa sem os detalhes específicos do idioma. Para obter detalhes sobre como essas operações são executadas, consulte as descrições específicas do idioma e os exemplos individuais.

Demonstra

Este exemplo é dividido nas seções a seguir. Cada seção contém operações de API Web do Dataverse que são discutidas com mais detalhes nos artigos conceituais associados especificados.

Seção de código Artigos conceituais associados
Seção 1: Operações básicas de criação e atualização Criação básica
Atualização básica
Seção 2: Criar com associação Associar linhas de tabela ao criar
Seção 3: Criar linhas de tabela relacionadas (inserção profunda) Criar linhas de tabela relacionadas em uma operação
Seção 4: Associar e desassociar linhas de tabela existentes Associar e desassociar linhas de tabela usando a API Web
Seção 5: Excluir linhas de tabela (limpeza de exemplo) Exclusão básica

Observação

Para fins de brevidade, o exemplo omite cabeçalhos HTTP menos pertinentes. As URLs dos registros variam com o endereço base da organização e a ID da linha atribuída pelo servidor dataverse.

Seção 1: Operações básicas de criação e atualização

Esta seção cria um único contato e executa uma série de atualizações nessa instância. O cabeçalho de resposta OData-EntityId contém a URL dessa linha recém-criada, que inclui parenteticamente a ID exclusiva para esse registro.

  1. Crie um novo contato, chamado Rafel Shillo.

    Pedir:

    POST [Organization Uri]/api/data/v9.2/contacts HTTP/1.1
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    
    {
     "firstname": "Rafel",
     "lastname": "Shillo"
    }
    

    Resposta:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    OData-EntityId: [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
    

    Saída do console:

    Contact URI: [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
    Contact relative Uri: contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
    

    As propriedades disponíveis para cada tipo são definidas no documento de metadados e também são documentadas para cada tipo na Web API Entity Type Reference seção. Para obter mais informações gerais, consulte tipos e operações de API Web.

  2. Atualize o contato com valores de renda anual (US$ 80.000) e cargo (Desenvolvedor Júnior).

    Pedir:

    PATCH [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee) HTTP/1.1
    If-Match: *
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    
    {
     "annualincome": 80000,
     "jobtitle": "Junior Developer"
    }
    

    Resposta:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    OData-EntityId: [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
    

    Saída do console:

    Contact 'Rafel Shillo' updated with jobtitle and annual income
    
  3. Recupere o contato com seu conjunto de propriedades inicializadas explicitamente. A propriedade fullname é somente leitura e é calculada a partir das propriedades firstname e lastname, que você inicializou explicitamente quando criou a instância. Por outro lado, a description propriedade não foi inicializada explicitamente, portanto, mantém seu valor padrão, uma cadeia null de caracteres.

    Além dos valores solicitados e dos cabeçalhos típicos, a resposta também retorna automaticamente os seguintes tipos de informações adicionais:

    • A ID primária do tipo de tabela atual, aqui contactid.
    • Um valor ETag , indicado pela @odata.etag chave, que identifica a versão específica do recurso solicitado. Para obter mais informações, consulte Executar operações condicionais usando a API Web.
    • O contexto de metadados, indicado pela @odata.context chave, fornece uma maneira de comparar os resultados da consulta para determinar se eles vieram da mesma consulta.
    • Um _transactioncurrencyid_value que indica a moeda local da transação monetária.

    Pedir:

    GET [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)?$select=fullname,annualincome,jobtitle,description HTTP/1.1
    Prefer: odata.include-annotations="*"
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    

    Resposta:

    HTTP/1.1 200 OK
    ETag: W/"72935648"
    OData-Version: 4.0
    Preference-Applied: odata.include-annotations="*"
    
    {
     "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#contacts(fullname,annualincome,jobtitle,description)/$entity",
     "@odata.etag": "W/\"72935648\"",
     "fullname": "Rafel Shillo",
     "annualincome@OData.Community.Display.V1.FormattedValue": "$80,000.00",
     "annualincome": 80000.0,
     "jobtitle": "Junior Developer",
     "description": null,
     "_transactioncurrencyid_value@OData.Community.Display.V1.FormattedValue": "US Dollar",
     "_transactioncurrencyid_value@Microsoft.Dynamics.CRM.associatednavigationproperty": "transactioncurrencyid",
     "_transactioncurrencyid_value@Microsoft.Dynamics.CRM.lookuplogicalname": "transactioncurrency",
     "_transactioncurrencyid_value": "228f42f8-e646-e111-8eb7-78e7d162ced1",
     "contactid": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee"
    }
    

    Saída do console:

    Contact 'Rafel Shillo' retrieved:
           Annual income: $80,000.00
           Job title: Junior Developer
           Description:
    

    Importante

    Sempre use seleção e filtragem em operações de recuperação para otimizar o desempenho. Para obter mais informações, consulte Consultar dados usando a API Web.

  4. Atualize a instância de contato fornecendo novos valores para essas mesmas propriedades.

    Pedir:

    PATCH [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee) HTTP/1.1
    If-Match: *
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    
    {
     "jobtitle": "Senior Developer",
     "annualincome": 95000,
     "description": "Assignment to-be-determined"
    }
    

    Resposta:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    OData-EntityId: [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)
    

    Saída do console:

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

    Importante

    Enviar somente propriedades alteradas em solicitações de atualização. Para obter mais informações, consulte a atualização básica.

  5. Defina explicitamente uma única propriedade, o número de telefone primário. Este exemplo usa uma solicitação PUT e a chave JSON nomeada value ao executar operações em propriedades individuais.

    Pedir:

    PUT [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)/telephone1 HTTP/1.1
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    
    {
     "value": "555-0105"
    }
    

    Resposta:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    

    Saída do console:

    Contact 'Rafel Shillo' phone number updated.
    
  6. Recupere essa mesma propriedade única, o número de telefone primário. Novamente, use a chave chamada value.

    Pedir:

    GET [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)/telephone1 HTTP/1.1
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    

    Resposta:

    HTTP/1.1 200 OK
    OData-Version: 4.0
    
    {
     "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)/telephone1",
     "value": "555-0105"
    }
    

    Saída do console:

    Contact's telephone # is: 555-0105.  
    

Seção 2: Criar com associação

Esta seção cria um novo registro de conta nomeado Contoso, Ltd. e o associa a um contato existente, Rafel Shilloque você criou na Seção 1. Você executa essa criação e associação em uma única operação POST.

  1. Crie a conta da Contoso, Ltd. e defina seu atributo de contato primário para o contato existente Rafel Shillo. A @odata.bind anotação indica que você está criando uma associação. Nesse caso, ele associa a primarycontactid propriedade de navegação de valor único a um contato existente, Rafel Shillo.

    Pedir:

    POST [Organization Uri]/api/data/v9.2/accounts HTTP/1.1
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    
    {
     "name": "Contoso Ltd",
     "telephone1": "555-5555",
     "primarycontactid@odata.bind": "contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)"
    }
    

    Resposta:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    OData-EntityId: [Organization Uri]/api/data/v9.2/accounts(11bb11bb-cc22-dd33-ee44-55ff55ff55ff)
    

    Saída do console:

    Account 'Contoso Ltd' created.
    Account URI: accounts(11bb11bb-cc22-dd33-ee44-55ff55ff55ff)
    
  2. Recupere o contato principal da conta Contoso, Ltd. Use novamente $expand com a propriedade de navegação de valor único primarycontactid para acessar o registro EntityType de contato associado.

    Pedir:

    GET [Organization Uri]/api/data/v9.2/accounts(11bb11bb-cc22-dd33-ee44-55ff55ff55ff)?$select=name,&$expand=primarycontactid($select=fullname,jobtitle,annualincome) HTTP/1.1
    Prefer: odata.include-annotations="*"
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    

    Resposta:

    HTTP/1.1 200 OK
    ETag: W/"72935670"
    OData-Version: 4.0
    Preference-Applied: odata.include-annotations="*"
    
    {
     "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#accounts(name,primarycontactid(fullname,jobtitle,annualincome))/$entity",
     "@odata.etag": "W/\"72935670\"",
     "name": "Contoso Ltd",
     "accountid": "11bb11bb-cc22-dd33-ee44-55ff55ff55ff",
     "primarycontactid": {
       "@odata.etag": "W/\"72935663\"",
       "fullname": "Rafel Shillo",
       "jobtitle": "Senior Developer",
       "annualincome@OData.Community.Display.V1.FormattedValue": "$95,000.00",
       "annualincome": 95000.0,
       "_transactioncurrencyid_value@OData.Community.Display.V1.FormattedValue": "US Dollar",
       "_transactioncurrencyid_value@Microsoft.Dynamics.CRM.associatednavigationproperty": "transactioncurrencyid",
       "_transactioncurrencyid_value@Microsoft.Dynamics.CRM.lookuplogicalname": "transactioncurrency",
       "_transactioncurrencyid_value": "228f42f8-e646-e111-8eb7-78e7d162ced1",
       "contactid": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee"
     }
    }
    

    Saída do console:

    Account 'Contoso Ltd' has primary contact 'Rafel Shillo':
           Job title: Senior Developer
           Annual income: $95,000.00
    

Esta seção mostra como criar uma linha de tabela e uma linha relacionada em uma única solicitação POST. Ao usar esse método, você cria todas as linhas novas; você não associa as linhas existentes. Essa abordagem tem duas vantagens. Ele é mais eficiente porque substitui várias operações de criação e associação mais simples por uma operação combinada. Além disso, é atômico, portanto, toda a operação é bem-sucedida e todos os objetos relacionados são criados ou a operação falha e nenhum é criado.

Esta seção cria uma conta, seu contato primário e um conjunto de tarefas para esse contato em uma solicitação.

  1. Crie a conta Fourth Coffee, seu contato principal Susie Curtis e as três tarefas relacionadas em uma única operação. Observe o uso da propriedade de navegação de valor primarycontactid único e da propriedade Contact_Tasks de navegação com valor de coleção para definir essas relações, respectivamente. As propriedades de navegação com valor único levam um valor de objeto, enquanto as propriedades de navegação com valor de coleção levam um valor de matriz.

    Pedir:

    POST [Organization Uri]/api/data/v9.2/accounts HTTP/1.1
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    
    {
     "name": "Fourth Coffee",
     "primarycontactid": {
       "firstname": "Susie",
       "lastname": "Curtis",
       "jobtitle": "Coffee Master",
       "annualincome": 48000,
       "Contact_Tasks": [
         {
           "subject": "Sign invoice",
           "description": "Invoice #12321",
           "scheduledstart": "2023-04-19T03:00:00+07:00",
           "scheduledend": "2023-04-19T04:00:00+07:00",
           "scheduleddurationminutes": 60
         },
         {
           "subject": "Setup new display",
           "description": "Theme is - Spring is in the air",
           "scheduledstart": "2023-04-20T03:00:00+07:00",
           "scheduledend": "2023-04-20T04:00:00+07:00",
           "scheduleddurationminutes": 60
         },
         {
           "subject": "Conduct training",
           "description": "Train team on making our new blended coffee",
           "scheduledstart": "2023-04-21T03:00:00+07:00",
           "scheduledend": "2023-04-21T04:00:00+07:00",
           "scheduleddurationminutes": 60
         }
       ]
     }
    }
    

    Resposta:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    OData-EntityId: [Organization Uri]/api/data/v9.2/accounts(22cc22cc-dd33-ee44-ff55-66aa66aa66aa)
    

    Saída do console:

    Account 'Fourth Coffee  created.
    
  2. Recupere seletivamente a conta recém-criada do Fourth Coffee e seu contato principal. Uma expansão é executada na propriedade de navegação de valor único primarycontactid.

    Pedir:

    GET [Organization Uri]/api/data/v9.2/accounts(22cc22cc-dd33-ee44-ff55-66aa66aa66aa)?$select=name&$expand=primarycontactid($select=fullname,jobtitle,annualincome) HTTP/1.1
    Prefer: odata.include-annotations="*"
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    

    Resposta:

    HTTP/1.1 200 OK
    ETag: W/"72935710"
    OData-Version: 4.0
    Preference-Applied: odata.include-annotations="*"
    
    {
     "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#accounts(name,primarycontactid(fullname,jobtitle,annualincome))/$entity",
     "@odata.etag": "W/\"72935710\"",
     "name": "Fourth Coffee",
     "accountid": "22cc22cc-dd33-ee44-ff55-66aa66aa66aa",
     "primarycontactid": {
       "@odata.etag": "W/\"72935689\"",
       "fullname": "Susie Curtis",
       "jobtitle": "Coffee Master",
       "annualincome@OData.Community.Display.V1.FormattedValue": "$48,000.00",
       "annualincome": 48000.0,
       "_transactioncurrencyid_value@OData.Community.Display.V1.FormattedValue": "US Dollar",
       "_transactioncurrencyid_value@Microsoft.Dynamics.CRM.associatednavigationproperty": "transactioncurrencyid",
       "_transactioncurrencyid_value@Microsoft.Dynamics.CRM.lookuplogicalname": "transactioncurrency",
       "_transactioncurrencyid_value": "228f42f8-e646-e111-8eb7-78e7d162ced1",
       "contactid": "2f28bcb4-bb27-ed11-9db1-002248274ada"
     }
    }
    

    Saída do console:

    Account 'Fourth Coffee' has primary contact 'Susie Curtis':
           Job title: Coffee Master
           Annual income: $48,000.00
    
  3. Recupere de forma seletiva as tarefas associadas ao contato primário obtido na operação anterior. Uma expansão é executada na propriedade Contact_Tasksde navegação com valor de coleção.

    Pedir:

    GET [Organization Uri]/api/data/v9.2/contacts(2f28bcb4-bb27-ed11-9db1-002248274ada)?$select=fullname&$expand=Contact_Tasks($select=subject,description,scheduledstart,scheduledend) HTTP/1.1
    Prefer: odata.include-annotations="*"
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    

    Resposta:

    HTTP/1.1 200 OK
    ETag: W/"72935689"
    OData-Version: 4.0
    Preference-Applied: odata.include-annotations="*"
    
    {
     "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#contacts(fullname,Contact_Tasks(subject,description,scheduledstart,scheduledend))/$entity",
     "@odata.etag": "W/\"72935689\"",
     "fullname": "Susie Curtis",
     "contactid": "2f28bcb4-bb27-ed11-9db1-002248274ada",
     "Contact_Tasks": [
       {
         "@odata.etag": "W/\"72935719\"",
         "subject": "Sign invoice",
         "description": "Invoice #12321",
         "scheduledstart@OData.Community.Display.V1.FormattedValue": "4/18/2023 1:00 PM",
         "scheduledstart": "2023-04-18T20:00:00Z",
         "scheduledend@OData.Community.Display.V1.FormattedValue": "4/18/2023 2:00 PM",
         "scheduledend": "2023-04-18T21:00:00Z",
         "activityid": "3028bcb4-bb27-ed11-9db1-002248274ada"
       },
       {
         "@odata.etag": "W/\"72935723\"",
         "subject": "Setup new display",
         "description": "Theme is - Spring is in the air",
         "scheduledstart@OData.Community.Display.V1.FormattedValue": "4/19/2023 1:00 PM",
         "scheduledstart": "2023-04-19T20:00:00Z",
         "scheduledend@OData.Community.Display.V1.FormattedValue": "4/19/2023 2:00 PM",
         "scheduledend": "2023-04-19T21:00:00Z",
         "activityid": "3128bcb4-bb27-ed11-9db1-002248274ada"
       },
       {
         "@odata.etag": "W/\"72935727\"",
         "subject": "Conduct training",
         "description": "Train team on making our new blended coffee",
         "scheduledstart@OData.Community.Display.V1.FormattedValue": "4/20/2023 1:00 PM",
         "scheduledstart": "2023-04-20T20:00:00Z",
         "scheduledend@OData.Community.Display.V1.FormattedValue": "4/20/2023 2:00 PM",
         "scheduledend": "2023-04-20T21:00:00Z",
         "activityid": "3228bcb4-bb27-ed11-9db1-002248274ada"
       }
     ]
    }
    

    Saída do console:

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

Seção 4: Associar e desassociar entidades existentes

Esta seção mostra como associar e desassociar linhas de tabela existentes. Para formar uma associação, use um URI de referência e um objeto de relação e envie-os em uma solicitação POST. Para desassociar, envie uma solicitação DELETE para o URI de referência dessa associação. Primeiro, crie uma associação um para muitos entre um contato e uma conta. Em seguida, estabeleça uma associação muitos para muitos entre um concorrente e uma ou mais oportunidades.

  1. Adicione Rafel Shillo como um contato à conta Fourth Coffee usando a contact_customer_accounts propriedade de navegação com valor de coleção. Observe o uso da chave @odata.id especial para especificar o registro associado.

    Pedir:

    POST [Organization Uri]/api/data/v9.2/accounts(22cc22cc-dd33-ee44-ff55-66aa66aa66aa)/contact_customer_accounts/$ref HTTP/1.1
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    
    {
     "@odata.id": "[Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)"
    }
    

    Resposta:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    
  2. Confirme a operação anterior recuperando a coleção de contatos da conta Fourth Coffee. A resposta contém o array com um único elemento, o contato atribuído recentemente, Rafel Shillo.

    Pedir:

    GET [Organization Uri]/api/data/v9.2/accounts(22cc22cc-dd33-ee44-ff55-66aa66aa66aa)/contact_customer_accounts?$select=fullname,jobtitle HTTP/1.1
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    

    Resposta:

    HTTP/1.1 200 OK
    OData-Version: 4.0
    
    {
     "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#contacts(fullname,jobtitle)",
     "value": [
       {
         "@odata.etag": "W/\"72935741\"",
         "fullname": "Rafel Shillo",
         "jobtitle": "Senior Developer",
         "contactid": "00aa00aa-bb11-cc22-dd33-44ee44ee44ee"
       }
     ]
    }
    

    Saída do console:

    Contact list for account 'Fourth Coffee':
           Name: Rafel Shillo, Job title: Senior Developer  
    
  3. Remova a associação que você criou entre a conta Fourth Coffee e contate Rafel Shillo.

    Pedir:

    DELETE [Organization Uri]/api/data/v9.2/accounts(22cc22cc-dd33-ee44-ff55-66aa66aa66aa)/contact_customer_accounts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee)/$ref HTTP/1.1
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    

    Resposta:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    
  4. Criar uma função de segurança chamada Example Security Role.

    Pedir:

    POST [Organization Uri]/api/data/v9.2/roles HTTP/1.1
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    
    {
     "businessunitid@odata.bind": "businessunits(38e0dbe4-131b-e111-ba7e-78e7d1620f5e)",
     "name": "Example Security Role"
    }
    

    Resposta:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    OData-EntityId: [Organization Uri]/api/data/v9.2/roles(33dd33dd-ee44-ff55-aa66-77bb77bb77bb)
    
  5. Associe a nova função de segurança ao seu systemuser registo.

    Pedir:

    POST [Organization Uri]/api/data/v9.2/systemusers(4026be43-6b69-e111-8f65-78e7d1620f5e)/systemuserroles_association/$ref HTTP/1.1
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    
    {
     "@odata.id": "[Organization Uri]/api/data/v9.2/roles(33dd33dd-ee44-ff55-aa66-77bb77bb77bb)"
    }
    

    Resposta:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    

    Saída do console:

    Security Role 'Example Security Role' associated with to your user account.
    
  6. Recupere a função de segurança de exemplo usando a systemuserroles_association relação muitos para muitos:

    Pedir:

    GET [Organization Uri]/api/data/v9.2/systemusers(4026be43-6b69-e111-8f65-78e7d1620f5e)/systemuserroles_association?$select=name&$filter=roleid%20eq%20e359feba-bb27-ed11-9db1-002248274ada HTTP/1.1
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    

    Resposta:

    HTTP/1.1 200 OK
    OData-Version: 4.0
    
    {
     "@odata.context": "[Organization Uri]/api/data/v9.2/$metadata#roles(name)",
     "value": [
       {
         "@odata.etag": "W/\"72935763\"",
         "name": "Example Security Role",
         "roleid": "33dd33dd-ee44-ff55-aa66-77bb77bb77bb"
       }
     ]
    }
    

    Saída do console:

    Retrieved role: Example Security Role
    
  7. Dissociar a função de segurança do seu registro de usuário. Esta etapa utiliza a mesma sintaxe geral que a remoção de uma associação um-para-muitos.

    Pedir:

    DELETE [Organization Uri]/api/data/v9.2/systemusers(4026be43-6b69-e111-8f65-78e7d1620f5e)/systemuserroles_association(33dd33dd-ee44-ff55-aa66-77bb77bb77bb)/$ref HTTP/1.1
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    

    Resposta:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    

Seção 5: Excluir linhas de tabela

  1. Exclua cada elemento na coleção de URLs de linha. O primeiro elemento é um registro de contato para Rafel Shillo.

    Pedir:

    DELETE [Organization Uri]/api/data/v9.2/contacts(00aa00aa-bb11-cc22-dd33-44ee44ee44ee) HTTP/1.1
    OData-MaxVersion: 4.0
    OData-Version: 4.0
    If-None-Match: null
    Accept: application/json
    

    Resposta:

    HTTP/1.1 204 NoContent
    OData-Version: 4.0
    
  2. Exclua os registros restantes nas iterações subsequentes ao percorrer a coleção.

    Pedir:

    DELETE [Organization Uri]/api/data/v9.2/accounts(11bb11bb-cc22-dd33-ee44-55ff55ff55ff) HTTP/1.1
    . . .  
    
    DELETE [Organization Uri]/api/data/v9.2/accounts(22cc22cc-dd33-ee44-ff55-66aa66aa66aa) HTTP/1.1 
    . . .  
    
    DELETE [Organization Uri]/api/data/v9.2/contacts(2f28bcb4-bb27-ed11-9db1-002248274ada) HTTP/1.1
    . . .  
    
    DELETE [Organization Uri]/api/data/v9.2/roles(33dd33dd-ee44-ff55-aa66-77bb77bb77bb) HTTP/1.1  
    

Consulte também

Utilizar a API Web do Dataverse
Criar uma linha de tabela usando a API Web
Recuperar uma linha de tabela usando a API Web
Atualizar e excluir linhas de tabela usando a API Web
Associar e desassociar linhas de tabela usando a API Web
Exemplo de operações básicas da API Web (C#)
Exemplo de operações básicas da API Web (PowerShell)
Exemplo de operações básicas da API Web (JavaScript do lado do cliente)