API documentation

v1.0

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

NombreTipoDescripción
nameCadena / ObligatorioNombre del archivo
uuidIdentificador único / ObligatorioClave `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.