A continuación se describen operaciones básicas mediante la API del gestor documental que pueden ser útiles para realizar integraciones con el mismo:
Info | ||
---|---|---|
| ||
$ATHENTO_HOST es el valor del dominio donde se encuentra desplegada la instancia de Athento ECM. |
Autenticación y cabeceras
Para autenticar los servicios descritos a continuación es necesario establecer el usuario y contraseña que serán incluidas mediante BasicAuthentication en las cabeceras de la petición.
Ejemplo en el cliente POSTMAN para Chrome:
Además, para poder realizar correctamente todas las peticiones a servicios, es necesario introducir la siguiente cabecera:
Content-Type: application/json+nxrequest
Ejemplo en el cliente POSTMAN para Chrome:
Ejemplo de petición autenticada con la cabecera:
Consultar los tipos documentales disponibles en el sistema
...
Code Block | ||
---|---|---|
| ||
http://localhost$ATHENTO_HOST/nuxeo/api/v1/config/types |
...
Obtener el tipo documental de un documento
Este servicio nos devuelve toda la información de estructura con contenido de un documento existente en el sistema dado su identificador.
Code Block | ||
---|---|---|
| ||
http://localhost$ATHENTO_HOST/nuxeo/restAPI/default/{docId}/export?format=XML |
...
Obtener los metadatos para un tipo documental concreto
Este servicio nos devuelve la estructura de metadatos y facetas de un tipo documental concreto.
Code Block | ||
---|---|---|
| ||
http://localhost$ATHENTO_HOST/nuxeo/api/v1/config/types/{docType} |
...
Code Block | ||
---|---|---|
| ||
http://localhost$ATHENTO_HOST/nuxeo/api/v1/id/{docId} |
B) Por su path
Code Block | ||
---|---|---|
| ||
http://localhost$ATHENTO_HOST/nuxeo/api/v1/idpath/{docPath} |
Info | ||
---|---|---|
| ||
Debes utilizar el path a partir de /default/ |
Obtener el preview de un documento
...
Code Block | ||
---|---|---|
| ||
http://localhost$ATHENTO_HOST/nuxeo/restAPI/preview/default/{docId}/files:files-0-file/ |
...
Code Block | ||
---|---|---|
| ||
http://localhost$ATHENTO_HOST/nuxeo/restAPI/default/{docId}/deleteDocument |
...
Code Block | ||
---|---|---|
| ||
http://localhost$ATHENTO_HOST/nuxeo/restAPI/default/{parentDocId}/createDocument?docType={docType}&dublincore:title={title} |
...
Code Block | ||
---|---|---|
| ||
PUT /nuxeo/site/api/v1/id/{docId} { "entity-type": "document", "repository": "default", "uid": "37b1502b-26ff-430f-9f20-4bd0d803191e", "properties": { "dc:title": "The new title", "dc:description": "Document updated via REST API" "common:icon": "/icons/file.gif", "common:icon-expanded": null, "common:size": null } } |
Hacer consultas
Code Block | ||
---|---|---|
| ||
http://$ATHENTO_HOST/nuxeo/api/v1/query/?query={queryNXQL} |
A continuación un ejemplo:
Code Block | ||
---|---|---|
| ||
http://$ATHENTO_HOST/nuxeo/api/v1/query/?query=SELECT * FROM Document WHERE dc:title='ATHENTO' |
Con el cliente como POSTMAN, una llamada como la anterior nos daría una respuesta similar a la quue sigue:
Code Block | ||
---|---|---|
| ||
{ "entity-type": "documents", "isPaginable": true, "resultsCount": 2, "pageSize": 0, "maxPageSize": 0, "currentPageSize": 2, "currentPageIndex": 0, "numberOfPages": 1, "isPreviousPageAvailable": false, "isNextPageAvailable": false, "isLastPageAvailable": false, "isSortable": true, "hasError": false, "errorMessage": null, "totalSize": 2, "pageIndex": 0, "pageCount": 1, "entries": [ { "entity-type": "document", "repository": "default", "uid": "9fb66cdb-2e17-4b1a-bc07-6fa04235047d", "path": "/Athento/workspaces/Administración/8. Documentación Yerbabu/MARCA/ATHENTO", "type": "Folder", "state": "project", "parentRef": "c141f110-32da-452c-96c3-aae8aeb9a7f7", "versionLabel": "", "isCheckedOut": true, "title": "ATHENTO", "lastModified": "2015-09-16T15:52:42.86Z", "facets": [ "DocumentsSizeStatistics", "Folderish", "DocumentsCountStatistics" ], "changeToken": "1442418762861", "contextParameters": { "documentURL": "/nuxeo/nxdoc/default/9fb66cdb-2e17-4b1a-bc07-6fa04235047d/view_documents" } }, { "entity-type": "document", "repository": "default", "uid": "92379199-befe-4430-a7ba-401282656987", "path": "/InvoiceDemo/workspaces/PROYECTOS/ATHENTO/ATHENTO", "type": "Workspace", "state": "project", "parentRef": "0f6c49df-186d-4ae3-8486-3a72da40dd44", "versionLabel": "", "isCheckedOut": true, "title": "ATHENTO", "lastModified": "2016-03-02T15:42:25.75Z", "facets": [ "SuperSpace", "DocumentsSizeStatistics", "Folderish", "DocumentsCountStatistics" ], "changeToken": "1456933345758", "contextParameters": { "documentURL": "/nuxeo/nxdoc/default/92379199-befe-4430-a7ba-401282656987/view_documents" } } ] } |
Vemos que el sistema ha encontrado dos documentos cuyo título es "ATHENTO" y nos ha devuelto sus propiedades.
Más Operaciones
Tip | ||
---|---|---|
| ||
Para mayor información, te recomendamos descargar el manual de la API de Athento, disponible desde: |