Davisa
Contacto

ERP y Business Central

OData (OData)

Estándar abierto para construir y consumir APIs REST con metadatos enriquecidos. Es el protocolo nativo de exposición de datos de Microsoft Dynamics 365 Business Central.

Definición y propósito

OData (Open Data Protocol) es un estándar abierto, mantenido por OASIS, para construir y consumir APIs RESTful con metadatos enriquecidos. Fue desarrollado originalmente por Microsoft y publicado como estándar abierto en 2014 (versión 4.0). Su propósito: ofrecer una capa de protocolo común que permita a cualquier cliente conectarse a cualquier fuente de datos sin tener que aprender un API custom para cada uno.

A diferencia de un API REST genérico, OData define formalmente:

OData en Business Central

Business Central expone toda su lógica de negocio vía dos tipos de endpoints:

  1. API endpoints (v2.0): APIs REST modernas, estables, versionadas. Pensadas para integraciones serias con sistemas externos.
  2. OData endpoints: páginas y queries publicadas como servicios web. Más flexibles que las APIs (cualquier página publicada se convierte en endpoint OData en segundos), pero menos estables (cambios en la página rompen el endpoint).

La URL típica de un OData en BC es:

https://api.businesscentral.dynamics.com/v2.0/<tenant>/<environment>/ODataV4/Company('<empresa>')/<PageName>

Casos de uso habituales:

OData vs API REST custom

DimensiónODataAPI REST custom
EstándarSí (OASIS)No
Metadatos en runtimeSí (/$metadata)Requieren OpenAPI/Swagger separado
Filtrado/ordenaciónSintaxis estándarCada API define la suya
Velocidad de desarrolloMuy rápida en BCRequiere desarrollo AL
EstabilidadFrágil ante cambios de páginaVersionado controlado
DocumentaciónAuto-documentadoA cargo del desarrollador

La elección depende del consumo: para integraciones puntuales o de bajo riesgo, OData es imbatible en velocidad; para integraciones críticas y a largo plazo, API REST versionada es más robusta.

Cómo se aplica en Business Central

dvdata-analysis sobre Business Central explota OData como columna vertebral del reporting:

Errores frecuentes

  1. Exponer toda la página sin selección. Si la página tiene 80 campos y el cliente solo necesita 8, la página entera viaja por la red. Usar $select reduce ancho de banda en órdenes de magnitud.
  2. Filtrar en cliente, no en servidor. Traer 100.000 registros y filtrar en Excel es matar el endpoint y la red. Aplicar $filter en URL reduce a 100 registros y resuelve el problema en segundos.
  3. Confundir OData con APIs estables. Cambiar una página publicada (renombrar un campo) rompe inmediatamente todos los clientes OData. Para integraciones críticas usar API endpoints versionados.
  4. No autenticar correctamente. OData en BC requiere autenticación OAuth 2.0 (no basic auth desde 2022). Heredar configuraciones legacy de autenticación básica genera rotura súbita al cambio de versión.

¿Te ayudamos a aplicarlo en tu Business Central?

Davisa lleva implantando Business Central desde 2003. Si necesitas odata dentro de tu ERP, te enseñamos cómo Business Central lo cubre nativo, sin middleware ni hojas paralelas.

Hablar con un asesor →
Escríbenos por WhatsApp