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.