Importa contenido de fuentes externas a la Base de Conocimiento. Estos endpoints procesan el contenido de forma asíncrona.
Importa contenido de fuentes externas a la Base de Conocimiento. Estos endpoints procesan el contenido de forma asíncrona.
Todos los endpoints de importación procesan el contenido de forma asíncrona. Después de enviar una petición de importación, el contenido se extrae y se añade a la Base de Conocimiento en segundo plano. Cada artículo importado se procesa después automáticamente y entra en vigor por su cuenta: no hay ningún reentrenamiento que disparar.
Para monitorizar el progreso:
- Usa List Articles para verificar que los artículos importados aparecen
- Espera a que
pending_embed_countllegue a0en Get Knowledge Base Settings, o comprueba elembed_statede cada artículo hasta que indique"embedded"
Las importaciones grandes entran en vigor de forma gradual, artículo por artículo, en lugar de todas a la vez.
Scrape Website
Sección titulada «Scrape Website»Extrae una sola página web o un sitio web completo e importa el contenido.
Ámbito: write_allPOST https://app.quickchat.ai/v1/api/knowledge_base/import_external/website
Request Body
| Parameter | Description |
|---|---|
url string, required | URL a extraer |
mode string | "individual" (por defecto), "site_wide" o "individual_with_summary" |
phrases array of strings | Frases clave a extraer |
html_selector string | Selector CSS para apuntar a contenido específico |
curl -X POST https://app.quickchat.ai/v1/api/knowledge_base/import_external/website \ -H 'Authorization: Bearer <API_TOKEN>' \ -H 'Content-Type: application/json' \ -d '{ "url": "https://example.com/docs", "mode": "individual"}'import requests
response = requests.post( url="https://app.quickchat.ai/v1/api/knowledge_base/import_external/website", headers={"Authorization": "Bearer <API_TOKEN>"}, json={"url": "https://example.com/docs", "mode": "individual"},)data = response.json()Response 202 Accepted
{ "status": "success", "url": "https://example.com/docs", "article": {}}Import YouTube Transcript
Sección titulada «Import YouTube Transcript»Importa la transcripción de un vídeo de YouTube.
Ámbito: write_allPOST https://app.quickchat.ai/v1/api/knowledge_base/import_external/youtube
Request Body
| Parameter | Description |
|---|---|
url string, required | URL del vídeo de YouTube |
toast_process_uuid string, required | UUID v4 para rastrear el proceso de importación |
curl -X POST https://app.quickchat.ai/v1/api/knowledge_base/import_external/youtube \ -H 'Authorization: Bearer <API_TOKEN>' \ -H 'Content-Type: application/json' \ -d '{ "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ", "toast_process_uuid": "550e8400-e29b-41d4-a716-446655440000"}'import uuidimport requests
response = requests.post( url="https://app.quickchat.ai/v1/api/knowledge_base/import_external/youtube", headers={"Authorization": "Bearer <API_TOKEN>"}, json={ "url": "https://www.youtube.com/watch?v=dQw4w9WgXcQ", "toast_process_uuid": str(uuid.uuid4()), },)Response 202 Accepted — La transcripción se procesa de forma asíncrona.
Import Sitemap
Sección titulada «Import Sitemap»Importa contenido de todos los enlaces de un sitemap XML.
Ámbito: write_allPOST https://app.quickchat.ai/v1/api/knowledge_base/import_external/site-map
Request Body
| Parameter | Description |
|---|---|
site_map string, required | URL de un sitemap XML |
link_filter_regex string | Expresión regular para filtrar qué enlaces importar (por defecto: ".*") |
html_selector string | Selector CSS para apuntar a contenido específico |
summarize boolean | Si se debe resumir el contenido importado (por defecto: false) |
curl -X POST https://app.quickchat.ai/v1/api/knowledge_base/import_external/site-map \ -H 'Authorization: Bearer <API_TOKEN>' \ -H 'Content-Type: application/json' \ -d '{ "site_map": "https://example.com/sitemap.xml"}'import requests
response = requests.post( url="https://app.quickchat.ai/v1/api/knowledge_base/import_external/site-map", headers={"Authorization": "Bearer <API_TOKEN>"}, json={"site_map": "https://example.com/sitemap.xml"},)data = response.json()Response 202 Accepted
{ "status": "success", "links": ["https://example.com/page1", "https://example.com/page2"]}Scrape List of Links
Sección titulada «Scrape List of Links»Importa contenido de una lista concreta de URLs.
Ámbito: write_allPOST https://app.quickchat.ai/v1/api/knowledge_base/import_external/scrape-list
Request Body
| Parameter | Description |
|---|---|
links array of strings, required | Lista de URLs a extraer (no vacía) |
tags array of strings | Tags a aplicar a los artículos importados |
html_selector string | Selector CSS para apuntar a contenido específico |
summarize boolean | Si se debe resumir el contenido importado (por defecto: false) |
curl -X POST https://app.quickchat.ai/v1/api/knowledge_base/import_external/scrape-list \ -H 'Authorization: Bearer <API_TOKEN>' \ -H 'Content-Type: application/json' \ -d '{ "links": ["https://example.com/page1", "https://example.com/page2"], "tags": ["imported"]}'import requests
response = requests.post( url="https://app.quickchat.ai/v1/api/knowledge_base/import_external/scrape-list", headers={"Authorization": "Bearer <API_TOKEN>"}, json={ "links": ["https://example.com/page1", "https://example.com/page2"], "tags": ["imported"], },)data = response.json()Response 202 Accepted
{ "status": "success", "links": ["https://example.com/page1", "https://example.com/page2"]}Delete Links
Sección titulada «Delete Links»Elimina de la Base de Conocimiento artículos de tipo URL importados previamente.
Ámbito: write_allDELETE https://app.quickchat.ai/v1/api/knowledge_base/import_external
Request Body
| Parameter | Description |
|---|---|
links array of strings, required | Lista de URLs a eliminar (mín. 1) |
Todas las URLs proporcionadas deben existir en la Base de Conocimiento como artículos de tipo URL. Si alguna URL no coincide con un artículo existente, la petición devuelve 404.
curl -X DELETE https://app.quickchat.ai/v1/api/knowledge_base/import_external \ -H 'Authorization: Bearer <API_TOKEN>' \ -H 'Content-Type: application/json' \ -d '{ "links": ["https://example.com/page1"]}'import requests
response = requests.delete( url="https://app.quickchat.ai/v1/api/knowledge_base/import_external", headers={"Authorization": "Bearer <API_TOKEN>"}, json={ "links": ["https://example.com/page1"], },)Response 200 OK