• Inicio
  • Materia
Mostrar / Ocultar tabla de contenidos
  • Configuración Materia
    • Configuración
  • Compras
    • Pedidos de compra
  • Ventas
    • Productos
    • Clientes
    • Ofertas de venta
    • Pedidos proyecto
    • Facturas de venta
  • Proyectos
    • Perfiles
    • Configuración de usuario
    • Grupos contables
    • Proyectos
    • Tareas
    • Diarios y movimientos
    • Certificaciones
  • Almacén
    • Etiquetas y códigos QR
    • Envíos a clientes
    • Envíos a proveedor
    • Bultos
  • 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).

NOTA

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.