Usar OData para consultar datos
OData es un protocolo para consultar API RESTful. Esta lección explora algunas formas de realizar operaciones CRUD con datos de Microsoft Dataverse.
Crear una fila
Para crear filas, utilice el 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 filas
Para recuperar filas, utilice el método HTTP GET.
El siguiente ejemplo recupera una cuenta con el id. 00000000-0000-0000-0000-000000000001:
GET [Organization URI]/api/data/v9.2/accounts(00000000-0000-0000-0000-000000000001)
Hay otros métodos disponibles para consultar datos utilizando la sintaxis de consulta estándar de OData. Para obtener más información sobre este proceso, consulte Recuperar una fila de tabla usando la API web.
Actualizar filas
Dependiendo de lo que desee lograr, puede elegir uno de dos métodos para actualizar filas:
Si desea actualizar varios valores de atributos, use el método HTTP PATCH. Los métodos PATCH proporcionan capacidad de upsert si especifica un valor de id. como parte de su solicitud, una característica útil al sincronizar datos entre sistemas.
Si va a actualizar un único valor de atributo, use el método HTTP PUT. No puede usar este método con propiedades de navegación tales como búsquedas, porque eso también requiere que se elimine una referencia.
El ejemplo siguiente actualiza una fila de tabla de cuenta:
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
}
Si desea recuperar datos de la tabla que está actualizando, puede usar el encabezado de solicitud return=representation. Si desea controlar qué propiedades se devuelven, puede agregar una consulta $select a su URL de PATCH. En el siguiente ejemplo, se agregó el encabezado y se modificó $select para que solo incluyese los atributos name, creditonhold y address1.
Solicitud
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"}
Respuesta
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"
}
El siguiente código es una solicitud PUT de ejemplo donde se actualiza el nombre de una cuenta para una fila dada:
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"}
Eliminar filas
Para eliminar filas, use el método HTTP DELETE. La operación, donde proporciona el URI de la fila de tabla que desea eliminar, es sencilla, como se muestra en la siguiente solicitud:
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
Más operaciones
Dataverse proporciona muchas otras operaciones predefinidas que puede desencadenar a través de solicitudes de API web. Para obtener un inventario completo de la funcionalidad disponible, consulte Realizar operaciones mediante la API web.