A continuación se describen operaciones básicas mediante la API del gestor documental que pueden ser útiles para realizar integraciones con el mismo:
Consultar los tipos documentales disponibles en el sistema
Tipos documentales disponibles
http://localhost/nuxeo/api/v1/config/types
El servicio nos devolverá una respuesta como la que sigue:
Tipos documentales disponibles
{ "doctypes" : { "PaymentOrder" : { "parent" : "File", "facets" : [ "Downloadable", "Commentable", "Versionable", "Publishable", "HasRelatedText" ], "schemas" : [ "administrative", "userFile", "projectFile", "common", "dublincore", "file", "uid", "files", "relatedtext" }, }, }
Obtener el tipo documental de un documento
Tipo documental de un documento
http://localhost/nuxeo/restAPI/default/{docId}/export?format=XML
El servicio nos dará una respuesta como la que sigue:
Tipo documental de un documento
<document repository="default" id="d6d2a055-6f42-4e6f-ba32-79ab0e24ae86"> <system> <type>Workspace</type> <path>AcePros/workspaces/Sample</path> <lifecycle-state>project</lifecycle-state> <lifecycle-policy>default</lifecycle-policy> <facet>SuperSpace</facet> <facet>DocumentsSizeStatistics</facet> <facet>Folderish</facet> <facet>DocumentsCountStatistics</facet> <access-control> <acl name="inherited"> <entry principal="tenant-AcePros_tenantAdministrators" permission="Everything" grant="true"/> <entry principal="tenant-AcePros_tenantMembers" permission="Read" grant="true"/> <entry principal="Everyone" permission="Everything" grant="false"/> </acl> </access-control> </system>...
Dentro de las etiquetas <type></type>
se encuentra el tipo documental del documento consultado.
Obtener los metadatos para un tipo documental concreto
Metadatos de un tipo documental
http://localhost/nuxeo/api/v1/config/types/{docType}
El servicio nos devolverá una respuesta como la que sigue:
Metadatos de un tipo documental
{ "parent" : "File", "facets" : [ "Downloadable", "Commentable", "Versionable", "Publishable", "HasRelatedText" ], "schemas" : [ { "name" : "administrative", "@prefix" : "administrative", "fields" : { "signDate" : "date", "concept" : "string", "companyNumber" : "string", "destinationAccount" : "string", "travelPurpose" : "string", "transferRequestDate" : "date", "company" : "string", "sourceAccount" : "string", "paymentOrderDate" : "date", "travelStartDate" : "date", "transferDoneDate" : "date", "travelRequestDate" : "date", "number" : "string", "travelEndDate" : "date", "category" : "string", "location" : "string", "travelName" : "string", "expenseDate" : "date", "amount" : "string" } },...
Los metadatos pueden hacer parte de diferentes esquemas (schemas), por ejemplo, en el código anterior, pueden verse los metadatos del tipo "PaymentOrder" dentr del esquema "fields".