Archivos de gastos
Almacena archivos de gasto en nuestro sistema y accede a ellos en cualquier momento.
El proceso de subir un archivo y asociarlo a un gasto require de 3 operaciones a realizar en orden: Crear una url firmada para subir un gasto, subir un archivo al sistema de almacenamiento y asociar un archivo a un gasto. Estas operaciones pueden estar limitadas a un tiempo definido.
Crear una url firmada para subir un gasto
Este endpoint permite la generación de una url temporal para subir un archivo.
Petición HTTP
GET/expenses/{id}/file/signed-url
201 Respuesta
{
"data": {
"uuid": "3a09d77a-f547-48a7-ab9c-16fd72fc8e90",
"signed_url": "https://bucket.orzame.com/orzame/t0/expenses/api/0_3a09d77a-f547-48a7-ab9c-16fd72fc8e90.tmp?x-amz-acl=private&X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=admin%2F20220829%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20220829T164623Z&X-Amz-SignedHeaders=host%3Bx-amz-acl&X-Amz-Expires=600&X-Amz-Signature=a7d8aaea8e6c8f04bddc58ea88c678cca1474c7ab78f9f388b48cc0182a79c1c",
"expires_in": 600
}
}
Subir un archivo al sistema de almacenamiento
A través de la url temporal (`signed_url´) conseguida en el endpoint anterior, puedes enviar tu archivo en la petición como `Binary File´. Una vez enviado debes asociar el gasto al archivo como se especifica el siguiente endpoint.
Petición HTTP
PUT{signed_url}
200 Respuesta
Respuesta sin cuerpo.
Asociar un archivo a un gasto
Una vez subido el archivo, este endpoint permite asociar el archivo al gasto.
Si se asocia un nuevo archivo a un gasto que ya tiene asociado uno, se eliminará el actual, los gastos solo pueden tener asociado un archivo.
Petición HTTP
POST/expenses/{id}/file
Parámetros
Nombre | Tipo | Descripción |
---|---|---|
name | Cadena / Obligatorio | Nombre del archivo |
uuid | Identificador único / Obligatorio | Clave `uuid´ de la respuesta de la url firmada |
204 Respuesta
Respuesta sin cuerpo.
Crear una url para acceder al archivo
Este endpoint permite crear una url temporal para descargar o acceder al archivo.
Petición HTTP
GET/expenses/{id}/file
201 Respuesta
{
"data": {
"url": "https://bucket.orzame.com/orzame/t0/expenses/api/0_3a09d77a-f547-48a7-ab9c-16fd72fc8e90_invoice.pdf?X-Amz-Content-Sha256=UNSIGNED-PAYLOAD&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=admin%2F20220829%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20220829T173740Z&X-Amz-SignedHeaders=host&X-Amz-Expires=600&X-Amz-Signature=77872cb27352655388dee11263586027db64087f6de2c13bfb585be0e4e9cf9d",
"expires_in": 600,
"name": "invoice.pdf",
"content_type": "application\/pdf"
}
}
Eliminar archivo de gasto
Este endpoint permite la eliminación de un archivo de gasto de tu aplicación.
Petición HTTP
DELETE/expenses/{id}/file
204 Respuesta
Respuesta sin cuerpo.