Factuarea APIDevelopers
Añadido

Documento de control (DeCA) y peso de transporte

Nuevo recurso transport_documents con 17 endpoints para emitir, modificar, compartir y conservar el documento de control digital del transporte de mercancías por carretera, obligatorio desde el 5 de octubre de 2026; 15 tools MCP, 10 eventos transport_document.*, 24 códigos de error y peso bruto de transporte en productos, variantes, presentaciones y albaranes.

Desde el 5 de octubre de 2026 el documento de control administrativo del transporte público de mercancías por carretera tiene que ser digital. La API pública ya lo emite: un PDF por versión, servido desde una URL pública permanente cuyo código QR viaja con el conductor, con el historial que necesita la inspección. Todo es aditivo; ningún campo existente cambia de significado. Consulta la guía del documento de control.

Nuevo recurso transport_documents

OperaciónEndpoint
Listar, con cursor y los filtros status, transport_date[gte|lte], company_role, carrier_tax_id, delivery_note_id y qGET /v1/transport_documents
Catálogo de estadosGET /v1/transport_documents/statuses
ObtenerGET /v1/transport_documents/{id}
Crear un borrador, opcionalmente prerrellenado desde 1 a 50 albaranesPOST /v1/transport_documents
Actualizar o borrar un borradorPUT / DELETE /v1/transport_documents/{id}
Emitir (irreversible)POST /v1/transport_documents/{id}/issue
Modificar durante el servicio, con la misma URL y el mismo QR (irreversible)POST /v1/transport_documents/{id}/modify
Cerrar y reabrirPOST /v1/transport_documents/{id}/close, /reopen
Anular o marcar como sustituido por el documento del transportista (irreversible)POST /v1/transport_documents/{id}/cancel, /supersede
Enviar la copia por email al transportista (irreversible)POST /v1/transport_documents/{id}/send
PDF de una versión, código QR y registro de emisión (cada entrada con su actor_name, los cierres automáticos como auto_closed y las 100 primeras descargas públicas, con meta.downloads_total y meta.downloads_listed)GET /v1/transport_documents/{id}/pdf, /qr, /evidence
Justificante de emisión en PDFGET /v1/transport_documents/{id}/issuance_proof

Scopes nuevos: transport_documents:read, transport_documents:write, transport_documents:delete y transport_documents:transition, también concedibles por OAuth. El PDF de cada versión exige pdfs:read; el justificante de emisión, transport_documents:read, porque contiene el registro de emisión. El módulo transport_documents requiere delivery_notes.

MCP, eventos y errores

  • 15 tools MCP, una por operación salvo el código QR y el justificante de emisión, que siguen siendo descargas binarias de la REST API. search_transport_documents admite el mismo q y el mismo sort que el listado REST, y create_transport_document no admite id. Consulta el catálogo de tools.
  • 10 eventos: transport_document.created, .updated, .issued, .modified, .closed (con close_mode manual o automático), .reopened, .cancelled, .superseded, .email_sent y .email_failed. Mientras un documento es un borrador, sus partes siguen los cambios del contacto enlazado y de los datos de tu empresa, y cada refresco que cambia algo publica .updated. Consulta Eventos.
  • 24 códigos de error: los 22 de la nueva categoría «Transport Documents», desde transport_document_not_issuable (con error.details.missing) hasta transport_document_version_limit_reached, transport_document_pdf_too_large y transport_document_version_not_found (404 ante un ?version=N que el PDF no tiene), más invalid_gross_weight (también en las líneas de mercancía de un documento) y gross_weight_not_allowed en Productos. Consulta el catálogo de errores.

Límites e identificadores

  • Un documento tiene como máximo 50 versiones, y la última se reserva para anularlo o sustituirlo; cuando ya tiene 49, modify devuelve 422 transport_document_version_limit_reached.
  • Cada versión es un PDF de hasta 5 MB (5.000.000 bytes). Emitir, modificar, anular y sustituir devuelven 422 transport_document_pdf_too_large sin guardar nada cuando el PDF sería mayor.
  • El id de un documento lo genera el servidor. shipments[].id es opcional: al crear, uno que ya está en uso devuelve 422 en shipments.N.id; al actualizar y modificar, solo identifica un envío de ese documento. Una escritura simultánea que choca en un identificador devuelve 409 resource_conflict y se puede reintentar. Los UUID se normalizan a minúsculas.
  • Al crear, un envío que omite origin toma tu lugar de carga por defecto o tu domicilio fiscal; un "origin": null explícito lo deja sin origen.
  • La URL pública se limita por token y prefijo de red (60 por minuto por defecto) y por token (600 por minuto por defecto), nunca solo por IP; los tokens desconocidos cuentan por prefijo de red. El PDF público no muestra quién hizo cada versión.

Peso bruto de transporte en el catálogo y en los albaranes

  • Los productos, las variantes y las presentaciones fijas aceptan gross_weight_kg al crear y actualizar, y lo publican al leer: kg por unidad base en productos y variantes y por unidad comercial en presentaciones. Omitirlo al actualizar conserva el valor actual y null lo borra. Los servicios, las unidades base de masa (KGM, GRM) y las presentaciones variable_measure lo rechazan con gross_weight_not_allowed.
  • Las líneas de albarán congelan su peso al crearse o editarse en borrador y lo publican como gross_weight_kg; el albarán añade total_gross_weight_kg y lines_without_weight_count.
  • Las series aceptan el nuevo tipo transport_document (código por defecto DC), cuya serie se crea en la primera emisión. GET /v1/series/stats lo cuenta.

Nuevos endpoints17

EndpointDescripción
GET/v1/transport_documentsListar todos los documentos de control
GET/v1/transport_documents/statusesListar los estados del documento de control
GET/v1/transport_documents/{transport_document}Obtener un documento de control
POST/v1/transport_documentsCrear un documento de control
PUT/v1/transport_documents/{transport_document}Actualizar un documento de control en borrador
DEL/v1/transport_documents/{transport_document}Borrar un documento de control en borrador
POST/v1/transport_documents/{transport_document}/issueEmitir un documento de control
POST/v1/transport_documents/{transport_document}/modifyModificar un documento de control emitido
POST/v1/transport_documents/{transport_document}/closeCerrar un documento de control
POST/v1/transport_documents/{transport_document}/reopenReabrir un documento de control
POST/v1/transport_documents/{transport_document}/cancelAnular un documento de control
POST/v1/transport_documents/{transport_document}/supersedeMarcar un documento de control como sustituido
POST/v1/transport_documents/{transport_document}/sendEnviar un documento de control por email
GET/v1/transport_documents/{transport_document}/pdfDescargar el PDF de un documento de control
GET/v1/transport_documents/{transport_document}/qrDescargar el código QR de un documento de control
GET/v1/transport_documents/{transport_document}/evidenceListar el registro de emisión de un documento de control
GET/v1/transport_documents/{transport_document}/issuance_proofDescargar el justificante de emisión de un documento de control

Endpoints actualizados21

EndpointDescripción
POST/v1/productsCrear un producto
PUT/v1/products/{product}Actualizar un producto
GET/v1/products/{product}Obtener un producto
GET/v1/productsListar todos los productos
POST/v1/products/{product}/variantsCrear una variante de producto
PUT/v1/products/{product}/variants/{variant}Actualizar una variante de producto
GET/v1/products/{product}/variantsListar variantes de producto
POST/v1/products/{product}/presentationsCrear una presentación de producto
PUT/v1/products/{product}/presentations/{presentation}Actualizar una presentación de producto
GET/v1/products/{product}/presentationsListar presentaciones de producto
POST/v1/delivery_notesCrear un albarán
PUT/v1/delivery_notes/{delivery_note}Actualizar un albarán
GET/v1/delivery_notes/{delivery_note}Obtener un albarán
GET/v1/delivery_notesListar todos los albaranes
POST/v1/seriesCrea una serie
GET/v1/seriesListar todas las series
GET/v1/series/statsObtener estadísticas de series
POST/v1/webhook_endpointsCrea un webhook endpoint
PUT/v1/webhook_endpoints/{webhook_endpoint}Actualizar un webhook endpoint
GET/v1/eventsListar todos los eventos
POST/v1/account/api-keysCrear una API key

En esta página

¿Te echamos una mano?Contactar con soporte