Create File
Mediante este endpoint es posible almacenar un archivo en un servicio provisto por una compañía. Seleccionar un archivo en el campo file y rellenar los campos obligatorios indicados en el body de este endpoint.
Endpoint
Headers
Key | Value | Description |
---|---|---|
Content-Type | application/json | |
Authorization | Bearer {{access_token}} | access_token obtained in Atenea |
Url
Method: POST
URL: https://api.trust.lat/chronos/v1/file_registers/
caution
Recuerda que para utilizar este endpoint es necesario un access token obtenido en el servicio Atenea
Body
Nota: Este endpoint se utiliza mediante un form-data
Field | Type Data | Value | Description |
---|---|---|---|
file | File | text.txt | Archivo que se desea subir al servicio. |
company_id | Text | 1 | Identificador de la compañía que desea utilizar el servicio. |
tags | Text | {"foo":"bar"} | Etiqueta con la que se puede localizar el archivo. |
service_name | Text | default_name | Nombre del servicio asociado a la compañía a través del que se desea almacenar el archivo. |
folder | Text | prototype | Carpeta contenedora del archivo. Opcional |
Code Examples
- Curl
- JavaScript
- Python
curl --location --request POST 'https://api.trust.lat/chronos/v1/file_registers/' \
--header 'Authorization: Bearer `{{access_token}}`' \
--form 'file=@"test/ciervo.jpg"' \
--form 'company_id="1"' \
--form 'service_name="default_name"'
import requests
url = "https://api.trust.lat/chronos/v1/file_registers/"
payload={'company_id': '1',
'service_name': 'default_name'}
files=[
('file',('ciervo.jpg',open('test/ciervo.jpg','rb'),'image/jpeg'))
]
headers = {
'Authorization': 'Bearer `{{access_token}}`'
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
var axios = require('axios');
var FormData = require('form-data');
var fs = require('fs');
var data = new FormData();
data.append('file', fs.createReadStream('test/ciervo.jpg'));
data.append('company_id', '1');
data.append('service_name', 'test_service');
var config = {
method: 'post',
url: 'https://api.trust.lat/chronos/v1/file_registers/',
headers: {
'Authorization': 'Bearer `{{access_token}}`',
...data.getHeaders()
},
data : data
};
axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});
Responses
HTTP Code: 201 Created
{
"code": 201,
"resource": "File",
"data": {
"uuid": "94d2e912-326f-46c8-9ee9-93f2c8bd2ddd",
"name": "ciervo.jpg",
"size": "206.2080078125 KB",
"created_at": "2021-09-24T21:13:33.109Z",
"tags": {},
"path": "ciervo.jpg"
},
"message": "Created"
}
HTTP Code: 404 Not Found (Missing Service Config)
{
"code": 404,
"resource": "Service Config",
"message": "Not found"
}
HTTP Code: 404 Not Found (Missing File to Upload)
{
"code": 404,
"resource": "File to upload",
"message": "Not found"
}
HTTP Code: 422 Unprocessable Entity
{
"code": 422,
"resource": "File Register",
"message": "Fail",
"errors": "Tags must be formatted as a Map<String:String> and contain at least one new key/value"
}