Nota
O acceso a esta páxina require autorización. Pode tentar iniciar sesión ou modificar os directorios.
O acceso a esta páxina require autorización. Pode tentar modificar os directorios.
Importante
Al consultar datos, es importante limitar la cantidad de datos devueltos para optimizar el rendimiento. Seleccione solo las columnas con datos que necesite.
Use la $selectopción de consulta para elegir qué columnas se van a devolver con la consulta. En OData, cada columna se representa como una propiedad . Si no incluye una $select opción de consulta, se devuelven todas las propiedades.
En el ejemplo siguiente se solicitan las propiedades name y revenue de la primera fila del recurso accounts EntitySet.
Solicitud:
GET [Organization URI]/api/data/v9.2/accounts?$select=name,revenue&$top=1
Accept: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
Respuesta:
HTTP/1.1 200 OK
Content-Type: application/json; odata.metadata=minimal
OData-Version: 4.0
{
"@odata.context": "[Organization URI]/api/data/v9.2/$metadata#accounts(name,revenue)",
"value": [
{
"@odata.etag": "W/\"81052965\"",
"name": "Litware, Inc. (sample)",
"revenue": 20000.0000,
"_transactioncurrencyid_value": "228f42f8-e646-e111-8eb7-78e7d162ced1",
"accountid": "4624eff7-53d3-ed11-a7c7-000d3a993550"
}
]
}
La propiedad de clave principal siempre se devuelve, por lo que no es necesario incluirla en $select. En este ejemplo, accountid es la clave principal.
Otros valores de propiedad también se pueden incluir en la respuesta. En este caso, la _transactioncurrencyid_valuepropiedad de búsqueda para la referencia de entidad/tabla de divisas (TransactionCurrency) relacionada se incluye porque revenue es una propiedad de moneda.
¿Qué propiedades están disponibles?
Todas las propiedades disponibles para una entidad se encuentran en el documento de servicio $metadata. Más información: Propiedades de api web
Los tipos de entidad incluidos con Dataverse se describen en .Web API Entity Type Reference
Sugerencia
La manera más fácil de detectar rápidamente qué propiedades están disponibles es enviar una solicitud mediante la $top opción de consulta con un valor de 1 sin usar $select.
Valores con formato
Los valores con formato son valores de cadena generados en el servidor que puede usar en la aplicación. Los valores con formato incluyen:
- Las etiquetas localizadas para las columnas elección, opciones, sí/no, estado y razón para el estado
- El valor de nombre principal para las propiedades de búsqueda y propietario
- Valores monetarios con símbolos de moneda
- Valores de fecha formateados según la zona horaria del usuario
Para incluir valores con formato en los resultados, use el encabezado de solicitud de preferencia para enviar la preferencia odata.include-annotations.
Prefer: odata.include-annotations="OData.Community.Display.V1.FormattedValue"
Los valores formateados son una de diversas anotaciones que puede solicitar. Use Prefer: odata.include-annotations="*" para incluir todas las anotaciones. Más información: Solicitud de anotaciones
El valor con formato se devuelve con el registro con una anotación que sigue esta convención:
<property name>@OData.Community.Display.V1.FormattedValue
Por ejemplo:
Solicitud:
GET [Organization URI]/api/data/v9.2/accounts?$select=name,revenue,_primarycontactid_value,customertypecode,modifiedon
&$top=1
Accept: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
Prefer: odata.include-annotations="OData.Community.Display.V1.FormattedValue"
En la tabla siguiente se describen los valores y los valores con formato que se devuelven para las propiedades solicitadas.
| Propiedad | Importancia | Valor con formato |
|---|---|---|
name |
Litware, Inc. (sample) |
Ninguno |
revenue |
20000.0000 |
$20,000.00 |
_primarycontactid_value |
70bf4d48-34cb-ed11-b596-0022481d68cd |
Susanna Stubberod (sample) |
customertypecode |
1 |
Competitor |
modifiedon |
2023-04-07T21:59:01Z |
4/7/2023 2:59 PM |
_transactioncurrencyid_value |
228f42f8-e646-e111-8eb7-78e7d162ced1 |
US Dollar |
accountid |
78914942-34cb-ed11-b596-0022481d68cd |
Ninguno |
Respuesta:
HTTP/1.1 200 OK
Content-Type: application/json; odata.metadata=minimal
OData-Version: 4.0
Preference-Applied: odata.include-annotations="OData.Community.Display.V1.FormattedValue"
{
"@odata.context": "[Organization URI]/api/data/v9.2/$metadata#accounts(name,revenue)",
"value": [
{
"@odata.etag": "W/\"81359849\"",
"name": "Litware, Inc. (sample)",
"revenue@OData.Community.Display.V1.FormattedValue": "$20,000.00",
"revenue": 20000.0000,
"_primarycontactid_value@OData.Community.Display.V1.FormattedValue": "Susanna Stubberod (sample)",
"_primarycontactid_value": "70bf4d48-34cb-ed11-b596-0022481d68cd",
"customertypecode@OData.Community.Display.V1.FormattedValue": "Competitor",
"customertypecode": 1,
"modifiedon@OData.Community.Display.V1.FormattedValue": "4/7/2023 2:59 PM",
"modifiedon": "2023-04-07T21:59:01Z",
"_transactioncurrencyid_value@OData.Community.Display.V1.FormattedValue": "US Dollar",
"_transactioncurrencyid_value": "228f42f8-e646-e111-8eb7-78e7d162ced1",
"accountid": "78914942-34cb-ed11-b596-0022481d68cd"
}
]
}
Búsqueda de datos de propiedades
Cuando una propiedad de búsqueda representa una tabla múltiple o polimórfica, debe solicitar anotaciones específicas para determinar qué tabla contiene los datos relacionados.
Por ejemplo, muchas tablas tienen registros que los usuarios o equipos pueden poseer. Los datos de propiedad se almacenan en una columna de búsqueda denominada ownerid. Esta columna es una propiedad de navegación con un solo valor en OData. Puede usar $expand para crear una combinación para obtener este valor, pero no puede usar $select. Sin embargo, puede usar $select para obtener la propiedad de búsqueda correspondiente _ownerid_value .
Cuando incluyes la propiedad de búsqueda _ownerid_value con tu $select, devuelve un valor GUID. Este valor no indica si el propietario del registro es un usuario o un equipo. Debe solicitar anotaciones para obtener estos datos.
Para incluir estas anotaciones en los resultados, use el encabezado de solicitud de preferencia para enviar la preferencia odata.include-annotations con esta configuración.
Prefer: odata.include-annotations="Microsoft.Dynamics.CRM.associatednavigationproperty,Microsoft.Dynamics.CRM.lookuplogicalname"
Sugerencia
O bien, puede usar Prefer: odata.include-annotations="*" para incluir todas las anotaciones. Más información: Solicitud de anotaciones
Solicitud:
GET [Organization URI]/api/data/v9.2/accounts?$select=name,_ownerid_value&$top=2
Accept: application/json
OData-MaxVersion: 4.0
OData-Version: 4.0
Prefer: odata.include-annotations="Microsoft.Dynamics.CRM.associatednavigationproperty,Microsoft.Dynamics.CRM.lookuplogicalname"
La siguiente respuesta devuelve dos registros de cuenta diferentes. La _ownerid_value@Microsoft.Dynamics.CRM.lookuplogicalname anotación le indica que team posee la primera y posee systemuser la segunda.
Respuesta:
HTTP/1.1 200 OK
Content-Type: application/json; odata.metadata=minimal
OData-Version: 4.0
Preference-Applied: odata.include-annotations="Microsoft.Dynamics.CRM.associatednavigationproperty,Microsoft.Dynamics.CRM.lookuplogicalname"
{
"@odata.context": "[Organization URI]/api/data/v9.2/$metadata#accounts(name,_ownerid_value)",
"value": [
{
"@odata.etag": "W/\"81550512\"",
"name": "Adventure Works (sample)",
"_ownerid_value@Microsoft.Dynamics.CRM.associatednavigationproperty": "ownerid",
"_ownerid_value@Microsoft.Dynamics.CRM.lookuplogicalname": "team",
"_ownerid_value": "39e0dbe4-131b-e111-ba7e-78e7d1620f5e",
"accountid": "1adef0b8-54d3-ed11-a7c7-000d3a993550"
},
{
"@odata.etag": "W/\"81359849\"",
"name": "Litware, Inc. (sample)",
"_ownerid_value@Microsoft.Dynamics.CRM.associatednavigationproperty": "ownerid",
"_ownerid_value@Microsoft.Dynamics.CRM.lookuplogicalname": "systemuser",
"_ownerid_value": "4026be43-6b69-e111-8f65-78e7d1620f5e",
"accountid": "78914942-34cb-ed11-b596-0022481d68cd"
}
]
}
-
<lookup property name>@Microsoft.Dynamics.CRM.lookuplogicalnamees el nombre lógico de la tabla relacionada. -
<lookup property name>@Microsoft.Dynamics.CRM.associatednavigationpropertyes el nombre de la propiedad de navegación correspondiente de valor único. Puede usar$expandeste valor en otra solicitud para obtener más datos del registro relacionado.
Alias de columna
Para la API web, use fetchxml para especificar alias personalizados para las columnas.
Actualmente no hay ninguna manera de especificar alias de columna mediante la API web de Dataverse mediante OData. OData 4.0 no incluye la opción de consulta del sistema $compute introducida en OData 4.01 necesaria para proporcionar esta funcionalidad.
Pasos siguientes
Obtenga información sobre cómo combinar tablas.