API v1 RESTful
- 1 Visión general
- 2 Cómo usar la API v1
- 2.1 Uso rápido
- 3 Acceda a Athento Explorer
- 4 Especificaciones generales
- 5 Documento — Document Entity
- 6 Comentario — Comment Entity
- 7 Usuarios — User Entity
- 7.1 Crear un usuario
- 8 Grupos — Group Entity
- 8.1 Crear un grupo
- 9 Búsqueda de documentos — Query & ResultSet Entities
- 9.1 ResultSet
- 9.2 Query
- 9.3 ATQL
- 9.3.1 Sintaxis
- 9.3.2 Campos fijos de consulta vs metadatos
- 9.3.3 Búsqueda por metadatos
- 9.3.4 Ordenación
- 9.3.5 Join
- 9.3.6 Funciones
- 9.3.7 Datos resumidos y funciones de agregación
Visión general
La API v1 RESTful es la vía de comunicación de Athento para conectar con toda la funcionalidad del sistema. Provee un modelo unificado de llamadas para cualquier tipo de operación sobre el modelo documental ofreciendo flexibilidad y seguridad.
Cómo usar la API v1
La API v1 de Athento es una RESTful Web API que permite acceder a todas las funcionalidades del modelo documental de Athento.
Uso rápido
A continuación se listan los endpoints
actuales de la API v1.
Modo | Endpoint | Descripción |
---|---|---|
Documento | ||
POST |
| Crea un nuevo documento. |
GET |
| Obtiene un documento en formato JSON indicando su |
PUT |
| Modifica un documento indicando su |
DELETE |
| Elimina un documento indicando su |
GET |
| Descarga el contenido de un documento. |
POST |
| Descarga el contenido de un listado de documentos. |
POST |
| Ejecuta una transición sobre el ciclo de vida de un documento. |
Comentario | ||
GET |
| Obtiene los comentarios de un documento indicando el |
POST |
| Crea un nuevo comentario sobre un documento. |
GET |
| Obtiene un comentario de un documento indicando el uuid de ambos. |
PUT |
| Modifica un comentario indicando su |
DELETE |
| Borra un comentario indicando su |
Búsqueda | ||
POST |
| Busca documentos ejecutando una query ATQL y obteniendo los documentos como entidad. |
POST |
| Busca documentos ejecutando una query ATQL y obteniendo las columnas incluidas en la cláusula |
Usuario | ||
POST |
| Crea un nuevo usuario. |
GET |
| Obtiene un usuario en formato JSON indicando su |
PUT |
| Modifica un usuario existente. |
POST |
| Activa un usuario. |
POST |
| Desactiva un usuario. |
Grupo | ||
POST |
| Crea un nuevo grupo. |
GET |
| Obtiene un grupo en formato JSON indicando su |
Acceda a Athento Explorer
Use Athento Explorer para poder gestionar las llamadas a los endpoints de la API v1 en la ruta /api/v1/explorer
de su instancia. Por ejemplo en https://demo.athento.com/api/v1/explorer.
Para usar Athento Explorer debe iniciar sesión.
Especificaciones generales
Formatos
Cabeceras
Nombre | Valores | Opcional |
---|---|---|
Content-Type |
| False |
Fetch-Mode |
| True |
Descripción
Content-Type
: es el tipo de contenido que se usará en las llamadas a la API v1.Fetch-Mode
: es el tipo modo de obtención de la entidad que se pretende consultar donde:default
: es la obtención por defecto, con la información mínima suficiente.extended
: obtención extendida de la entidad y sus relaciones, donde se informa de atributos más destacados de la misma.Incluye las entidades de los documentos relacionados al propio documento.
full
: obtención completa de la entidad y sus relaciones.
Petición
{
"<KEY>": "<VALUE>",
"<OBJECT>": {
"<KEY>": "<VALUE>", ...
}
}
Respuesta
El formato de respuesta de la API v1 tendrá siempre un formato estándar representado con tipo de contenido JSON y con la siguiente estructura:
{
"request-id": "<UUID>",
"response": {
"message": "<EXECUTION MESSAGE>",
"code": <EXECUTION CODE>
},
"result": {
"entity": "<ENTITY>",
<REST OF JSON RESPONSE>
}
}
Documento — Document Entity
El documento es la pieza fundamental de almacenamiento en Athento. La API v1 ofrece la posibilidad de operar con ellos para crear, modificar, eliminar y consultarlos.
A continuación se muestra la representación de un documento por defecto.
{
"entity": "Document",
"uuid": "a8b16f41-65a0-481c-bb1a-e094011fee14",
"filename": "PDF-Athento.pdf",
"creation_date": "2022-12-07T16:45:03.302424+01:00",
"modified_date": "2022-12-07T16:45:06.048175+01:00",
"state": "pending",
"version": "0.0",
"author": "benchmark",
"serie": "my_space",
"doctype": "my_form",
"container": false,
"file": {
"url": "uploads/.../2d/9c/2d9c09cdb21fd0a56eefd627240d554f.pdf",
"extension": ".pdf",
"hash": "2d9c09cdb21fd0a56eefd627240d554f",
"size": 34073,
"content_type": "application/pdf"
},
"life_cycle_state": "started"
}
Cuando un documento tiene contenido binario, el atributo file
aparece en la representación de la entidad. Otros elementos como el life_cycle_state
, etc. se comportan del mismo modo.
Crear un documento
Llamada genérica de creación:
Crear documento
Un documento en Athento es una entidad de un cierto tipo documental, o también llamado formulario, que se aloja en un Espacio —también llamado Serie documental— concreto. Dicho documento, puede tener o no un contenido principal —archivo binario— asociado. En este caso, comenzamos con la creación de un documento de Athento, donde no se especifica un binario asociado.
Content-Type: application/json
Petición:
Respuesta:
Metadatos
El documento se puede componer con un conjunto de metadatos —o campos— de diferentes tipos. Dichos metadatos serán definidos por el formulario —o tipo documental— que describe al documento, aunque podrán añadirse otros que estén fuera de dicho formulario documental de manera que puedan quedar permanentes y trazados si el propio documento cambia de tipo.
A continuación se enumeran los diferentes tipos de metadatos que pueden ser incluidos en el documento.
Tipo | Descripción | Ejemplos |
---|---|---|
Text | Cadena de texto |
|
Number | Número (Moneda, Porcentaje, …) |
|
Boolean | Booleano |
|
Date | Fecha |
|
Datetime | Fecha y hora |
|
Table of items | Lista de items |
|
Document | Referencia a documento (UUID) |
|
Document list | Referencias a documento (Lista de UUIDs) |
|
Choice | Valor seleccionable |
|
Multichoice | Valores seleccionables múltiples |
|
Los tipos de metadatos que puedan definirse en tiempo de configuración podrán ser añadidos como tipo texto, es decir, con un valor reflejado como cadena de caracteres. Por ejemplo, si tenemos un campo de tipo Choice, el valor incluido podrá ser incluido como texto.
Crear documento con contenido
A continuación el servicio de creación de nuevo documento con un binario asociado.
Content-Type: multipart/form-data
Petición:
Respuesta:
Crear documento a partir de plantilla
Creación de un documento a partir de una plantilla. En primer (por defecto) o segundo plano.
Content-Type: multipart/form-data
Nombre | Valores | Opcional |
---|---|---|
template | Nombre o UUID de la plantilla | True |
background | Realizar la generación del binario en segundo plano |