Usar o OData para consultar dados
OData é um protocolo para consultar APIs RESTful. Esta lição explora algumas maneiras de executar operações CRUD com dados do Microsoft Dataverse.
Criar uma linha
Para criar linhas, use o método HTTP POST.
POST [Organization URI]/api/data/v9.2/accounts HTTP/1.1
Content-Type: application/json; charset=utf-8
OData-MaxVersion: 4.0
OData-Version: 4.0
Accept: application/json
{
"name": "Sample Account",
"creditonhold": false,
"address1_latitude": 47.639583,
"description": "This is the description of the sample account",
"revenue": 5000000,
"accountcategorycode": 1
}
Recuperar linhas
Para recuperar linhas, use o método HTTP GET.
O exemplo a seguir recupera uma conta com a ID 00000000-0000-0000-0000-000000000001:
GET [Organization URI]/api/data/v9.2/accounts(00000000-0000-0000-0000-000000000001)
Outros métodos estão disponíveis para consultar dados usando a sintaxe de consulta OData padrão. Para obter mais informações sobre esse processo, consulte Recuperar uma linha da tabela usando a API Web.
Atualizar linhas
Dependendo do que está tentando realizar, você pode escolher entre um destes dois métodos para atualizar linhas:
Se você estiver executando uma atualização de vários valores de atributos, use o método HTTP PATCH. Os métodos PATCH fornecerão a capacidade de executar upsert se você fornecer um valor de ID como parte da solicitação, um recurso benéfico para a sincronização de dados entre sistemas.
Se você estiver atualizando um único valor de atributo, use o método HTTP PUT. Você não pode usar esse método com propriedades de navegação, como pesquisas, porque isso requer que uma referência seja removida também.
O seguinte exemplo atualiza uma linha da tabela de contas:
PATCH [Organization URI]/api/data/v9.2/accounts(00000000-0000-0000-0000-000000000001) HTTP/1.1
Content-Type: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
{
"name": "Updated Sample Account ",
"creditonhold": true,
"address1_latitude": 47.639583,
"description": "This is the updated description of the sample account",
"revenue": 6000000,
"accountcategorycode": 2
}
Se quiser recuperar dados da tabela que está atualizando, você poderá usar o cabeçalho de solicitação return=representation. Se você deseja controlar as propriedades que são retornadas, pode adicionar uma consulta $select à URL do PATCH. No exemplo a seguir, o cabeçalho foi adicionado e $select foi corrigido para incluir apenas os atributos name, creditonhold e address1.
Solicitação
PATCH [Organization URI]/api/data/v9.2/accounts(00000000-0000-0000-0000-000000000001)?$select=name,creditonhold,address1_latitude,description,revenue,accountcategorycode,createdon HTTP/1.1
OData-MaxVersion: 4.0
OData-Version: 4.0
Accept: application/json
Content-Type: application/json; charset=utf-8
Prefer: return=representation
{"name":"Updated Sample Account"}
Resposta
HTTP/1.1 200 OK
Content-Type: application/json; odata.metadata=minimal
Preference-Applied: return=representation
OData-Version: 4.0
{
"@odata.context": "[Organization URI]/api/data/v9.2/$metadata#accounts/$entity",
"@odata.etag": "W/"536537"",
"accountid": "00000000-0000-0000-0000-000000000001",
"accountcategorycode": 1,
"description": "This is the description of the sample account",
"address1_latitude": 47.63958,
"creditonhold": false,
"name": "Updated Sample Account",
"createdon": "2023-09-28T23:14:00Z",
"revenue": 5000000.0000,
"_transactioncurrencyid_value": "048dddaa-6f7f-e611-80d3-00155db5e0b6"
}
O seguinte código é um exemplo de solicitação PUT em que o nome de uma conta para uma determinada linha é atualizado:
PUT [Organization URI]/api/data/v9.2/accounts(00000000-0000-0000-0000-000000000001)/name HTTP/1.1
Content-Type: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
{"value": "Updated Sample Account Name"}
Excluir linhas
Para excluir linhas, use o método HTTP DELETE. A operação é simples, e você fornece o URI da linha da tabela que deseja excluir, conforme mostrado na seguinte solicitação:
DELETE [Organization URI]/api/data/v9.2/accounts(00000000-0000-0000-0000-000000000001) HTTP/1.1
Content-Type: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
Mais operações
O Dataverse fornece muitas outras operações predefinidas que podem ser disparadas por meio de solicitações da API Web. Para conferir o inventário completo dos recursos disponíveis, consulte Executar operações usando a API Web.