Crear Archivo
Crear archivo
Crea un nuevo archivo y devuelve su identificador UUID.
Endpoint:
POST /archivos
Parámetros de Entrada:
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
titulo | String | No | Nombre del archivo (opcional) |
duracion | Object | No | Configuración de vigencia |
duracion.vigencia | Integer | No | Vigencia del archivo (en días) |
origen | Object | Sí | Información del usuario y sistema |
origen.id_usuario_sso | String | Sí | ID del usuario que crea el archivo |
origen.id_instalacion | String | Sí | ID de la instalación |
Ejemplo de Solicitud:
curl -X POST \
'$API_ARCHIVOS/v1/archivos' \
-H 'Authorization: Basic <base64-credentials>' \
-H 'Content-Type: application/json' \
-d '{
"titulo": "Mi Documento",
"duracion": {
"vigencia": 365
},
"origen": {
"id_usuario_sso": "admin",
"id_instalacion": "postman"
}
}'
Respuestas:
201 Creado - Éxito:
{
"identificador": "123e4567-e89b-12d3-a456-426614174000"
}
Ejemplos de errores
{
"error_code": "ar-XXX-XX",
"error_msg": "Mensaje"
}
Errores específicos:
| Código | Descripción |
|---|---|
ar-400-01 | Parámetro requerido faltante |
ar-400-02 | Parámetro inválido |
ar-400-11 | Validación de negocio fallida |
ar-400-12 | Estado incorrecto |
ar-400-13 | Archivo no finalizado |
ar-500-01 | Error interno de base de datos |
ar-500-02 | Error interno del sistema |
Cargar Binario
Permite cargar el contenido binario a un archivo previamente creado.
Endpoint:
PUT /archivos/{identificador}/binario
Parámetros de Entrada:
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
identificador | String | Sí | UUID del archivo (parámetro de ruta) |
| Binario | binario | Sí | Contenido binario del archivo (cuerpo) |
| Content-Type | string | Sí | Tipo MIME del archivo (cabecera) |
| Checksum-SHA384 | string | No | Hash SHA384 del archivo |
Ejemplo de Solicitud:
curl --location --request PUT \
'$API_ARCHIVOS/v1/archivos/{identificador}/binario' \
--header 'Content-Type: image/png' \
--header 'Authorization: Basic <base64-credentials>' \
--data-binary '@/ruta/al/archivo.png'
- Reemplaza
{identificador}por el UUID del archivo. - Cambia el valor de
Content-Typesegún el tipo MIME real del archivo (por ejemplo,application/pdf,image/png, etc). - Usa la ruta local real al archivo que deseas subir.
Respuesta exitosa (204 Sin contenido):
Sin contenido en el cuerpo de la respuesta.
Ejemplos de errores
{
"error_code": "ar-XXX-XX",
"error_msg": "Mensaje"
}
Errores específicos:
| Código | Descripción |
|---|---|
ar-400-02 | Parámetro inválido |
ar-400-10 | Identificador no válido |
ar-400-14 | Tipo de archivo no soportado |
ar-400-15 | Tamaño de archivo excedido |
ar-500-01 | Error interno de base de datos |
ar-500-02 | Error interno del sistema |
Finalizar Archivo
Finaliza la carga del archivo. Idempotente si ya está finalizado.
Endpoint:
PUT /archivos/{identificador}/finalizar
Parámetros de Entrada:
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
identificador | String | Sí | UUID del archivo (path parameter) |
Ejemplo de Solicitud:
curl -X PUT \
'$API_ARCHIVOS/v1/archivos/{identificador}/finalizar' \
-H 'Authorization: Basic <base64-credentials>'
Respuesta exitosa (200 Sin contenido):
Sin contenido en el cuerpo de la respuesta.
Ejemplos de errores
{
"error_code": "ar-XXX-XX",
"error_msg": "Mensaje"
}
Errores específicos:
| Código | Descripción |
|---|---|
ar-400-02 | Parámetro inválido |
ar-400-10 | Identificador no válido |
ar-400-13 | Validación de negocio fallida |
ar-500-01 | Error interno de base de datos |
ar-500-02 | Error interno del sistema |
