Saltar al contenido principal

Carga un archivo

  • Recupera la URL de carga.
  • Carga el archivo utilizando la URL a través del método PUT.
  • Marca la carga del archivo como completada.

Para recuperar una URL de carga​

Esta API genera una URL prefirmada para cargas de archivos, permitiendo la carga directa de archivos en la ubicación especificada. Tenga en cuenta que la URL es sensible al tiempo y caducará después de 5 minutos.

Endpoint​

POST https://usapi.hottask.com/chat/User/GetPreUploadUrl

Encabezados de la solicitud​

La solicitud API debe incluir los siguientes encabezados:

Authorization: <Your-Secret-Key> - La clave secreta para autenticar la solicitud API.
Content-Type: application/json - El tipo de contenido del payload de la solicitud.

Cuerpo de la solicitud​

El cuerpo de la solicitud debe contener los siguientes parámetros:

{
// fileName(string, required): El nombre del archivo. EJ: companyinfo.txt
"fileName":"companyinfo.txt"
}

Ejemplos de solicitud​

JavaScript (API Fetch)​

const res = await fetch('https://usapi.hottask.com/chat/User/GetPreUploadUrl', {
method: 'POST',
headers: {
'Authorization': `<Your-Secret-Key>`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
fileName: '<Your filename>',
}),
});

const data = await res.json();
console.log(data);

Python (Librería Requests)​

import requests
import json

url = 'https://usapi.hottask.com/chat/User/GetPreUploadUrl'
headers = {
'Authorization': '<Your-Secret-Key>',
'Content-Type': 'application/json'
}
data = {
'fileName': '<Your filename>'
}

response = requests.post(url, headers=headers, data=json.dumps(data))
data = response.json()

print(data)

cURL​

curl https://usapi.hottask.com/chat/User/GetPreUploadUrl \
-H 'Content-Type: application/json' \
-H 'Authorization: <Your-Secret-Key>' \
-d '{"fileName": "tu nombre de archivo"}'

Solicitud HTTP​

POST /chat/User/GetPreUploadUrl HTTP/1.1
Host: usapi.hottask.com
Authorization: <Your-Secret-Key>
Content-Type: application/json

{
"fileName": "<Your filename>"
}

Respuesta​

La respuesta API será un objeto JSON con la siguiente estructura:

{
"Data": {
"FileStoreId":"34317",
"PreUploadUrl":"https://xxx.s3.us-west-1.amazonaws.com/xxx/3706/627855d5-ba01-4732-9dfd-b08a72744c77.txt?X-Amz-Expires=600\u0026X-Amz-Algorithm=AWS4-HMAC-SHA256\u0026X-Amz-Credential=AKIA5TS7CBKE4ZSW BI46%2F20250121%2Fus-west-1%2Fs3%2Faws4_request\u0026X-Amz-Date=20250121T030214Z\u0026X-Amz-SignedHeaders=host\u0026X-Amz-Signature=a237335d9b2e6fad1c648f753d393906647db5528eaaecf5e55dd114a22653db",
},
"Version": "1.0.0",
"Success": true,
"Code": 200,
"Message":""
}

Manejo de errores​

Si se trata de un error de red HTTP, es necesario comprobar el código de estado HTTP. Si se trata de una excepción comercial, es necesario examinar los campos Code y Message, que proporcionarán los detalles del error.

¡Eso es todo! Ahora deberías poder crear un chatbot utilizando la API de creación.

Marca la carga como exitosa​

Esta API permite al usuario marcar el archivo como cargado correctamente.

Endpoint​

POST https://usapi.hottask.com/chat/User/ReportUploadSuccess

Encabezados de la solicitud​

La solicitud API debe incluir los siguientes encabezados:

Authorization: <Your-Secret-Key> - La clave secreta para autenticar la solicitud API.
Content-Type: application/json - El tipo de contenido del payload de la solicitud.

Cuerpo de la solicitud​

El cuerpo de la solicitud debe contener los siguientes parámetros:

{
// fileStoreID(string, required): El ID del archivo.
"fileStoreID":"123"
}

Ejemplo de solicitud​

JavaScript (API Fetch)​

const res = await fetch('https://usapi.hottask.com/chat/User/ReportUploadSuccess', {
method: 'POST',
headers: {
'Authorization': `<Your-Secret-Key>`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
fileStoreID: '123'
}),
});

const data = await res.json();
console.log(data);

Python (Librería Requests)​

import requests
import json

url = 'https://usapi.hottask.com/chat/User/ReportUploadSuccess'
headers = {
'Authorization': '<Your-Secret-Key>',
'Content-Type': 'application/json'
}
data = {
'fileStoreID': '123'
}

response = requests.post(url, headers=headers, data=json.dumps(data))
data = response.json()

print(data)

cURL​

curl https://usapi.hottask.com/chat/User/ReportUploadSuccess \
-H 'Content-Type: application/json' \
-H 'Authorization: <Your-Secret-Key>' \
-d '{"fileStoreID": "123"}'

Solicitud HTTP​

POST /chat/User/ReportUploadSuccess HTTP/1.1
Host: usapi.hottask.com
Authorization: <Your-Secret-Key>
Content-Type: application/json

{
"fileStoreID": "123"
}

Respuesta​

La respuesta API será un objeto JSON con la siguiente estructura:

{
"Data": true,
"Version": "1.0.0",
"Success": true,
"Code": 200,
"Message":""
}

Si se trata de un error de red HTTP, es necesario comprobar el código de estado HTTP. Si se trata de una excepción comercial, es necesario examinar los campos Code y Message, que proporcionarán los detalles del error.

¡Eso es todo! Ahora deberías poder cargar un archivo utilizando estas dos APIs.