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

 

http://localhost/nuxeo/api/v1/config/types

 

El servicio nos devolverá una respuesta como la que sigue:

 

{
  "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

 

http://localhost/nuxeo/restAPI/default/{docId}/export?format=XML

 

El servicio nos dará una respuesta como la que sigue:

 

<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

 

http://localhost/nuxeo/api/v1/config/types/{docType}

El servicio nos devolverá una respuesta como la que sigue:

{
  "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".