Repositorio de documentos
Arai-Documentos como almacén de Documentos Digitales
Resumen
En esta sección se demuestra como utilizar Arai-Documentos como almacén de documentos digitales. Como ya se menciono previamente los requisitos obligatorios son necesarios para poder utilizar Araí-Documentos como almacén de documentos digitales.
Se mostrara como se invoca al servicio de creación de documentos (POST) donde se subirá el documento y se obtendrá un identificador para luego poder consultar el mismo.
Para almacenar archivos binarios, que no requieren ser firmados digitalmente, se debe utilizar la API de Archivos Binarios.
Requisitos
-
Araí-Usuarios: debe enviarse el usuario que sube el Documento
-
Repositorio de Documentos: un servicio para almacenamiento de objetos digitales (archivos y documentos)
-
Configuraciones dentro de Arai-Documentos de credenciales requeridas para Arai-Usuarios y Repositorio de Documentos
-
Conocer los Tipos de Documentos disponibles
-
Metadatos requeridos
Implementación

Basicamente Araí-Documentos provee un endopoint POST /backend/documentos sobre el cual se ejecuta la acción un Post para enviar un documento. En esto punto Araí-Documentos realiza algunas validaciones sobre el contendido del documento y sobre los metadatos enviados.
POST /backend/documentos
REQUEST
Campos obligatorios (Body Json)
| Nombre | Tipo | Descripcion |
|---|---|---|
| tipo | string | Debe validar contra el listado de tipos de documentos posible |
| Archivo | string | Contiene datos del documento en si. Contenido en base 64 y solo soporta PDF |
| Origen | string | Es el usuario que genera el documento, el campo id_usuario_sso debe matchear con el identificador en el Sistema de Usuarios (Arai-Usuarios). cuenta_usuario aun no tiene uso |
{
"tipo": "string",
"titulo": "string",
"descripcion": "string",
"archivo":
{
"contenido_base64": "string",
"md5": "string"
},
"origen":
{
"id_usuario_sso": "string",
"id_instalacion": "string",
"cuenta_usuario": "string"
},
"referencia_interna": {},
"identificador": {},
"atributos": {},
"forzar_autorizacion":"bool",
}
Detalle sobre campos y usos:
| Nombre | Tipo | Descripcion |
|---|---|---|
| tipo | string | obligatorio Indica el tipo funcional del documento que se esta enviando: Por ejemplo "ACTA" |
| titulo | string | Nombre o titulo del documento que se esta creando |
| descripcion | string | Descripción adicional del documento que se esta creando |
| archivo | json | obligatorio objeto json que contiene un string del documento en base 64 y el md5 del mismo |
| origen | json | obligatorio Corresponde al usuario de creacionismos, el dato mas importante corresponde al id_usuario_sso |
| referencia_interna | json | Este campo se utiliza para almacenar en formato json, los datos que requiera la aplicación que genera el documento |
| identificador | json | Corresponde a un identificador del documento. Por ejemplo tipo, numero y año |
| Atributos | json | Atributos adicionales del documento |
| forzar_autorizacion | bool | Permite dar de alta un documento en estado autorizado, sin la necesidad de pasar por un proceso de autorizacion, por defecto en false. |
RESPONSE
En caso de que todo este correcto, Arai-Documentos devolvera una respuesta HTTP y con un json similar al siguiente:
{
"uri": "string",
"uid_documento": "string"
}
| Nombre | Tipo | Descripcion |
|---|---|---|
| uri | string | El link devuelto en este campo puede ser inmediatamente consultado por la aplicación para ver los metadatos almacenados del documento |
| uid_documento | string | Es el identificado del documento mediante el cual se consultará y descargara el documento mediante otros requests a la API de documentos. |
Ademas se proveen otros servicios para consultar y descargar el documento
GET /backend/documentos/{uid_documento}
REQUEST
Campos obligatorios (URL Param)
| Nombre | Tipo | Descripcion |
|---|---|---|
| uid_documento | string | Identificador del documento en Araí-Documentos |
Se consulta con el identificador del documento generado al momento de crear el documento.
RESPONSE
{
"uid_documento": "string",
"tipo_documento": "string",
"titulo": "string",
"descripcion": "string",
"referencia_interna": {},
"autorizado": false,
"origen":
{
"id_usuario_sso": "string",
"id_instalacion": "string",
"cuenta_usuario": "string"
},
}
Los datos de respuesta hacen referencia a los mismos datos con los cuales se creo el documento. El campo autorizado, corresponde al estado de autorización del documento y se utilizara mas adelante.
GET /backend/documentos/{uid_documento}/archivo
Devuelve el binario del documento correspondiente al identificador enviado
Campos obligatorios (URL Param)
| Nombre | Tipo | Descripcion |
|---|---|---|
| uid_documento | string | Identificador del documento en Araí-Documentos |
Se consulta con el identificador del documento generado al momento de crear el documento.