Para cargar los archivos hay que seguir la siguiente estructura
[desarrollo|AMBIENTE]/archivos/adjuntos/[1-1|RUT EMPRESA]/En donde se debe tener la precaución con el ambiente y el RUT EMPRESA de quien está cargando
Esta URL se utiliza para poder cargar un archivo al repositorio de Febos. Para obtener esta URL se debe realizar una llamada GET al servicio de la API:
{API_URL}/herramientas/archivos <- Link a la documentaciónCon los parámetros:
febos-io/chile/`[desarrollo|AMBIENTE]`/archivos/adjuntos/`[1-1|RUT EMPRESA]`/{unique-id}.{extencion}
Nota: archivos cargados no tienen que tener espacios en el nombre y ruta a cargar.
Nota: Los archivos cargados en una misma ruta son sobreescritos.
{
"url": "https://febos-io.s3.amazonaws.com/c.....txt?X-Amz-Security-Token=IQo...6nss...&X-Amz-Signature=206 df...abfc",
"duracion": 248,
"hora": "2029-04-20 14:54:13.572",
"codigo": 10,
"seguimientoId": "cf0828a4-1..1b6b25a385",
"mensaje": "Acción realizada satisfactoriamente"
}
La URL obtenida en la sección anterior es una URL especial, ya que tiene un tiempo de validez, una firma asociada a la solicitud y encriptación de la autorización para cargar el archivo:
Nota: Si la URL es modificada o no cumple con su estructura, la llamada PUT para cargar el archivo será rechazada
Con la URL obtenida se ocupan los datos contenidos en ella como parámetros de la
llamada y se hace el PUT del documento en la ruta indicada.
Nota: el método de subida del archivo depende de la aplicación o herramienta desde la cual se consuma la API REST
PORTAL="portal.febos.cl" #Dominio WEB desde donde estamos emulando la llamada
AMBIENTE="pruebas" #Ambiente en el cual se esta operando
EMPRESA="1-1" #Aqui va el RUT de la empresa que esta consuiento la API
TOKEN="AQUI_VA_TU_TOKEN" #Token de autorizacion para obtener acceso a las APIs de FEBOS
FILE=$1 #Este ejemplo recibe la ruta del archivo por parametro
FILE="${FILE// /_}"
f="$(basename -- $FILE)" # Obtenemos el nombre del archivo
RUTA_SUBIR="febos-io/chile/$AMBIENTE/archivos/adjuntos/$EMPRESA/test-$f"
url_pre_firmada=$(curl "https://api.febos.cl/$AMBIENTE/herramientas/archivos?dominioPortal=$PORTAL&key=$RUTA_SUBIR&tipo=upload" \
-H "empresa: $EMPRESA" \
-H "token: $TOKEN" \
--compressed | jq -r '.url')
echo "SUBIR $url_pre_firmada"
curl "$url_pre_firmada" \
-X 'PUT' \
-d "=@\"$1\"" \
--compressed
## El parametro -d "=@\"$1\"" adjunta el archivo como content byte a la llamada
echo "CARGADO en el KEY: $RUTA_SUBIR"
Nota: Esta llamada no tiene un cuerpo de respuesta, solo el código HTTP de si es correcto o no
Nota: El key cargado en el proceso de carga es la ruta final que se utilizara en las otras APIs para poder adjuntar el archivo a un documento