• Inicio
  • Materia
Mostrar / Ocultar tabla de contenidos
  • Configuración Materia
    • Configuración
  • Compras
    • Pedidos de compra
    • Envíos a proveedor
  • Ventas
    • Productos
    • Clientes
    • Ofertas de venta
    • Pedidos proyecto
    • Envíos a clientes
    • Bultos
    • Facturas de venta
  • Proyectos
    • Perfiles
    • Configuración de usuario
    • Grupos contables
    • Proyectos
    • Tareas
    • Diarios y movimientos
    • Certificaciones
  • Almacén
    • Etiquetas y códigos QR
  • Cartera
    • Flujo de caja
  • APIs
    • APIs
  • Control de versiones
    • Notas de versión

APIs de Materia


Materia expone un conjunto de endpoints REST (OData v4) a través del sistema de APIs de Business Central. Estas APIs permiten integrar aplicaciones externas con los datos de proyectos, tareas, planificación, BOM, ofertas de venta y pedidos de compra gestionados por la extensión.

Descripción y objetivos

Las APIs de Materia están pensadas para:

  • Integración con sistemas externos (ERP, BI, portales de cliente/proveedor).
  • Exportación de datos para análisis o reporting fuera de Business Central.
  • Automatización de procesos mediante flujos de Power Automate u otras herramientas de integración.

Todas las APIs siguen el estándar OData v4 y se consumen con los mismos mecanismos de autenticación y acceso que las APIs estándar de Business Central (OAuth 2.0 con permisos de aplicación o credenciales de usuario).

Configuración de acceso

Todos los endpoints de Materia comparten los siguientes parámetros de conexión:

  • Publisher: NubitConsultingSL.
  • API Group: MATERIA.
  • Versiones disponibles: v1.0, v2.0.

URL base (v2.0):

https://api.businesscentral.dynamics.com/v2.0/{tenantId}/{environment}/api/NubitConsultingSL/MATERIA/v2.0/

Sustituye {tenantId} por el identificador del tenant de Microsoft Entra ID y {environment} por el nombre del entorno de Business Central (p. ej. production).

Note

Para usar la versión v1.0, sustituye v2.0 por v1.0 en la URL base. Ambas versiones exponen los mismos endpoints y campos.

APIs disponibles

Endpoint EntitySetName Nº página AL Tabla origen Descripción
/projects projects 50044 Job Proyectos
/jobTasks jobTasks 50045 Job Task Tareas de proyecto
/jobPlanningLines jobPlanningLines 50047 Job Planning Line Líneas de planificación
/jobLedgerEntrys jobLedgerEntrys 50046 Job Ledger Entry Movimientos de proyecto
/bomProjects bomProjects 50048 NUB BOM Project Original BOM Project
/purchaseOrders purchaseOrders 50049 Purchase Header (Pedido) Pedidos de compra
/purchaseOrderLines purchaseOrderLines 50050 Purchase Line (Pedido) Líneas de pedido de compra
/salesQuotes salesQuotes 50051 Sales Header (Oferta) Ofertas de venta
/salesQuoteLines salesQuoteLines 50052 Sales Line (Oferta) Líneas de oferta de venta

Detalle de campos por endpoint

Proyectos (/projects)

Expone la tabla estándar Job de Business Central con los datos principales del proyecto.

  • no: Nº proyecto.
  • searchDescription: Descripción de búsqueda.
  • description: Descripción del proyecto.
  • description2: Segunda descripción.
  • billToCustomerNo: Nº cliente facturación.
  • creationDate: Fecha de creación.
  • startingDate: Fecha de inicio.
  • endingDate: Fecha de fin.
  • status: Estado del proyecto (Open, Quote, Planning, Completed).
  • personResponsible: Responsable del proyecto.
  • globalDimension1Code: Dimensión 1.
  • globalDimension2Code: Dimensión 2.
  • jobPostingGroup: Grupo contable del proyecto.
  • blocked: Bloqueado.
  • lastDateModified: Última fecha de modificación.

Tareas de proyecto (/jobTasks)

Expone la tabla estándar Job Task con los indicadores económicos por tarea.

  • jobNo: Nº proyecto.
  • jobTaskNo: Nº tarea.
  • description: Descripción de la tarea.
  • jobTaskType: Tipo de tarea (Posting, Heading, Total, Begin-Total, End-Total).
  • scheduleTotalCost: Presupuesto (coste total).
  • scheduleTotalPrice: Presupuesto (precio total).
  • usageTotalCost: Costes reales totales.
  • usageTotalPrice: Precio real total.
  • contractTotalCost: Facturable (coste total).
  • contractTotalPrice: Facturable (precio total).
  • contractInvoicedPrice: Precio facturado.
  • contractInvoicedCost: Coste facturado.
  • indentation: Nivel de indentación.

Líneas de planificación (/jobPlanningLines)

Expone la tabla estándar Job Planning Line con el presupuesto y planificación del proyecto.

  • jobNo: Nº proyecto.
  • jobTaskNo: Nº tarea.
  • lineNo: Nº línea.
  • lineType: Tipo de línea (Budget, Billable, Both Budget and Billable).
  • type: Tipo de concepto (Resource, Item, G/L Account).
  • no: Nº del recurso/producto/cuenta.
  • description: Descripción.
  • quantity: Cantidad.
  • unitCost: Coste unitario.
  • totalCost: Coste total.
  • unitPrice: Precio unitario.
  • totalPrice: Precio total.
  • planningDate: Fecha de planificación.

Movimientos de proyecto (/jobLedgerEntrys)

Expone la tabla estándar Job Ledger Entry con los costes e ingresos reales registrados.

  • entryNo: Nº movimiento.
  • jobNo: Nº proyecto.
  • jobTaskNo: Nº tarea.
  • postingDate: Fecha registro.
  • type: Tipo (Resource, Item, G/L Account).
  • no: Nº del concepto.
  • description: Descripción.
  • quantity: Cantidad.
  • unitCost: Coste unitario.
  • totalCost: Coste total.
  • unitPrice: Precio unitario.
  • totalPrice: Precio total.

BOM Project (/bomProjects)

Expone la tabla de Materia NUB BOM Project Original con las líneas del listado de materiales de cada proyecto.

  • lineNo: Nº línea del BOM.
  • projectNo: Nº proyecto.
  • taskNo: Nº tarea.
  • machineNo: Nº máquina.
  • set: Conjunto.
  • subset: Subconjunto.
  • typeMovement: Tipo de movimiento.
  • checkValidateByPM: Validado por jefe de proyecto.
  • quantity: Cantidad.
  • quantityReceibedDelivered: Cantidad recibida/entregada.
  • quantityReturned: Cantidad devuelta.
  • quantityRejected: Cantidad rechazada.
  • quantityOutstanding: Cantidad pendiente.
  • usable: Aprovechable.
  • importDate: Fecha de importación.
  • orderDate: Fecha de pedido.
  • requestedDateReceipt: Fecha recepción solicitada.
  • promisedDateReceipt: Fecha recepción prometida.
  • expectedDateReceipt: Fecha recepción esperada.
  • requestDateProjManag: Fecha requerida jefe proyecto.
  • dateConsumed: Fecha de consumo.

Pedidos de compra (/purchaseOrders)

Expone la tabla estándar Purchase Header filtrada por tipo Pedido (Order).

  • no: Nº pedido de compra.
  • buyFromVendorNo: Nº proveedor.
  • buyFromVendorName: Nombre proveedor.
  • postingDate: Fecha registro.
  • documentDate: Fecha documento.
  • status: Estado del pedido.
  • paymentTermsCode: Cód. términos de pago.
  • currencyCode: Cód. divisa.
  • amount: Importe.
  • amountIncludingVAT: Importe con IVA.

Líneas de pedido de compra (/purchaseOrderLines)

Expone la tabla estándar Purchase Line filtrada por tipo Pedido.

  • documentNo: Nº pedido.
  • lineNo: Nº línea.
  • buyFromVendorNo: Nº proveedor.
  • type: Tipo de línea.
  • no: Nº del artículo/recurso/cuenta.
  • description: Descripción.
  • locationCode: Cód. almacén.
  • quantity: Cantidad.
  • outstandingQuantity: Cantidad pendiente.
  • qtyToReceive: Cantidad a recibir.
  • directUnitCost: Coste unitario directo.
  • lineDiscount: % descuento línea.
  • amount: Importe.
  • amountIncludingVAT: Importe con IVA.
  • expectedReceiptDate: Fecha recepción esperada.
  • jobNo: Nº proyecto vinculado.

Ofertas de venta (/salesQuotes)

Expone la tabla estándar Sales Header filtrada por tipo Oferta (Quote).

  • no: Nº oferta de venta.
  • sellToCustomerNo: Nº cliente.
  • sellToCustomerName: Nombre cliente.
  • postingDate: Fecha registro.
  • documentDate: Fecha documento.
  • currencyCode: Cód. divisa.
  • amount: Importe.
  • amountIncludingVAT: Importe con IVA.
  • jobHNo: Nº proyecto vinculado (campo MATERIA NUB JobH No.).

Líneas de oferta de venta (/salesQuoteLines)

Expone la tabla estándar Sales Line filtrada por tipo Oferta.

  • documentNo: Nº oferta.
  • lineNo: Nº línea.
  • sellToCustomerNo: Nº cliente.
  • type: Tipo de línea.
  • no: Nº del artículo/recurso/cuenta.
  • description: Descripción.
  • locationCode: Cód. almacén.
  • quantity: Cantidad.
  • outstandingQuantity: Cantidad pendiente.
  • qtyToShip: Cantidad a enviar.
  • unitPrice: Precio unitario.
  • lineDiscount: % descuento línea.
  • amount: Importe.
  • amountIncludingVAT: Importe con IVA.
  • shipmentDate: Fecha de envío.
  • jobNo: Nº proyecto vinculado.
Volver arriba Creado por Nubit Consulting S.L.