Saltar al contenido principal

13. Límites y comportamiento operativo

LímiteValor
Filas por página1000 por defecto; configurable por entidad y reducible con Prefer: odata.maxpagesize.
Hijos por padre en un $expand de colección1000, salvo que uses $top anidado.
Profundidad de $expand y de navegación en la URL2 niveles.
Versión del protocoloOData 4.0. Un OData-MaxVersion que no empiece con 4 da 501.

Cosas que conviene saber antes de que te sorprendan​

  • Los cambios de configuración tardan hasta un minuto — El catálogo de entidades y el $metadata se cachean 60 segundos por cliente. Si el administrador habilita una entidad o cambia un campo, esperá un minuto antes de concluir que no funcionó.
  • Los nombres de propiedad son las columnas de la base — No las etiquetas. La etiqueta en español está en Core.Description dentro del $metadata, para mostrar en una interfaz.
  • Se lee de la vista de listado, no siempre de la tabla — Por defecto el servicio lee de la vista que el ERP usa para los listados. En general coincide con la tabla, pero puede tener menos columnas o filtrar filas. Si notás una diferencia con lo que ves en el ERP, es por acá y el administrador puede cambiarlo por entidad.
  • Los nombres de entity set no distinguen mayúsculas — /O_CUSTOMERS funciona igual que /o_customers. Las respuestas siempre usan la forma canónica.
  • OPTIONS pide credenciales — Un OPTIONS manual sin header devuelve 401. El preflight CORS del navegador no se ve afectado: lo contesta el servidor web antes de llegar a la API.
  • Accept-Language solo afecta las etiquetas — Cambia los Core.Description del $metadata y los títulos del documento de servicio, si el ERP tiene traducciones cargadas. Nunca cambia los datos.
  • Las lecturas no ejecutan reglas de negocio — Los GET corren en una sesión de solo lectura. Solo las escrituras disparan las reglas y los scripts del maestro.