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

Obtener un documento

Existen dos mecanismos básicos:

 

A) Por su Id

http://localhost/nuxeo/api/v1/id/{docId}

 

B) Por su path

http://localhost/nuxeo/api/v1/id/{docPath}

Obtener el preview de un documento

 

http://localhost/nuxeo/restAPI/preview/default/{docId}/files:files-0-file/

 

Eliminar un documento

 

http://localhost/nuxeo/restAPI/default/{docId}/deleteDocument

 

Crear un documento

El siguiente servicio web crea un nuevo documento con su título.

http://localhost/nuxeo/restAPI/default/{parentDocId}/createDocument?docType={docType}&dublincore:title={title}

Tras

<document>
	<repository>default<repository/>
	<docRef>4457807c-8d15-4c76-44af-e5676e444ce5ed<docRef>
	<docTitle>Test</docTitle>
	<docPath>/default-domain/Userworkspaces/user1/Test</docPath>
</document>