Saltar al contenido

Documentación técnica

Cómo funciona Threada, qué requiere y cómo integrarlo.

Resumen de arquitectura

  • Crawl — Obtiene páginas de tu dominio siguiendo sitemap y enlaces internos
  • Render — Renderiza páginas con mucho JavaScript antes de extraer
  • Extract — Extrae contenido incluyendo datos estructurados
  • Chunk — Divide el contenido en fragmentos semánticos
  • Embed — Convierte fragmentos en embeddings vectoriales
  • Index — Almacena embeddings para recuperación
  • Retrieve — Recupera fragmentos relevantes por similitud semántica
  • Generate — Sintetiza una respuesta con el contenido recuperado
  • Cite — Enlaza la página fuente cuando hay contenido relevante

Rastreo

Qué rastreamos

  • Páginas HTML desde sitemap o enlaces internos
  • Datos estructurados (JSON-LD, schema.org)
  • Documentos cargados manualmente (PDF, HTML, DOCX)

Comportamiento de rastreo

  • Respeta robots.txt
  • User-Agent identificado
  • Rate-limited para evitar carga del servidor
  • Reduce velocidad ante 429 o 5xx

Renderizado JavaScript — Páginas renderizadas con un navegador headless antes de extraer para SPAs y contenido dinámico.

Reindexación

  • Monitoreo de sitemap activa reindexación automática
  • Reindexación manual disponible en cualquier momento
  • Reindexación programada configurable por plan

Recuperación

Búsqueda semántica Las consultas se convierten en embeddings y se comparan por similitud semántica, no por palabras clave.

Umbrales de relevancia Configurables. Umbrales altos = menos respuestas pero más seguras. Umbrales bajos = mayor cobertura con más aclaraciones.

Generación de respuestas

El contenido recuperado se usa como contexto. Las respuestas se sintetizan solo con el contexto proporcionado.

Citas de fuente — Cuando hay contenido relevante, las respuestas incluyen un enlace a la página fuente. Al reconocer incertidumbre, puede no haber cita.

Comportamiento de límites

  • Reconoce lo que no sabe
  • Hace preguntas de aclaración
  • Sugiere temas relacionados

Integración del embed

Instalación Un solo snippet. Carga de forma asíncrona.

Compatibilidad

  • WordPress
  • Webflow
  • Shopify
  • Squarespace
  • Sitios a medida
  • SPAs (React, Vue, Angular)

Configuración desde el panel

  • Colores, logo, ubicación
  • Mensaje de bienvenida, tono
  • Idioma
  • Umbrales de relevancia

API pública

Acceso seguro y con alcance por tenant a la API para tickets y acciones en todos los canales.

Autenticación y acceso

  • Envía la clave de API en el encabezado `X-Api-Key`.
  • Crea y revoca claves en Admin → API keys; usa una clave por integración.
  • Las claves están acotadas al tenant y usan mínimos privilegios mediante scopes.

Scopes

  • `support.read` — lista y recupera tickets, mensajes y acciones.
  • `support.write` — crea/actualiza tickets y añade mensajes.
  • `support.actions` — ejecuta acciones y consulta su estado.

Endpoints principales

  • `/api/v1/public/tickets` — lista o crea tickets.
  • `/api/v1/public/tickets/{ticket_id}` — obtiene o actualiza detalles del ticket.
  • `/api/v1/public/tickets/{ticket_id}/messages` — lista o añade mensajes.
  • `/api/v1/public/tickets/{ticket_id}/actions` — ejecuta una acción para un ticket.
  • `/api/v1/public/actions` — lista o consulta el estado de acciones.

Formato de respuesta

  • Respuestas JSON; las marcas de tiempo son RFC 3339.
  • Los errores devuelven `{ error: { type, message, code } }`.
  • Los endpoints de lista aceptan `limit` y `page_token`.

Valores de canal

  • `web`, `email`, `sms`, `whatsapp`, `social`, `voice`, `custom`.
  • Usa `channel_id` y `channel_thread_id` para mapear conversaciones externas.
  • Usa `external_message_id` para desduplicar escrituras de mensajes.

Configuración de Zapier

Conecta Threada a Zapier para automatización sin código con una superficie controlada.

Automatización saliente (Threada → Zapier)

  • Crea un Zap con el disparador “Catch Hook” de Webhooks by Zapier y copia la URL del hook.
  • En Admin → Support → Integrations, añade una integración de Zapier con la URL del webhook y un encabezado secreto opcional.
  • Usa una acción de HTTP personalizado para enviar cargas; si no se selecciona una integración de HTTP personalizado, Zapier se usa por defecto.

Automatización entrante (Zapier → Threada)

  • Crea una clave de API con scopes para Zapier (mínimos privilegios).
  • Usa Webhooks by Zapier para llamar a los endpoints de la API pública de tickets y acciones.
  • Guarda la clave de forma segura en Zapier y rota según un calendario.

Higiene empresarial

  • Separa claves por entorno (producción vs. sandbox).
  • Revoca claves cuando un Zap se deshabilita o cambia la titularidad.
  • Prefiere scopes de solo lectura salvo que una automatización deba escribir.

Seguridad

Hosting: GCP, US-Central1 por defecto. Cifrado: TLS 1.2+ en tránsito, AES-256 en reposo. Autenticación: SSO via OIDC/SAML (Enterprise). Cumplimiento: GDPR, retención configurable, auditoría. Modelo de amenazas documentado para prompt injection, XSS, SSRF, exfiltración.

Manejo de datos

Se almacena

  • Contenido indexado
  • Embeddings
  • Registros de chat
  • Analítica
  • Configuración

No se almacena

  • Información de pago (gestionada por el procesador)
  • Credenciales en texto plano

Retención Configurable por tenant. Eliminación disponible a solicitud.

Entrenamiento Tu contenido no se usa para entrenar modelos de IA.

FAQ

¿Páginas con contraseña?
Por ahora no. Sube documentos para contenido privado.
¿Excluir páginas?
Sí. Vía robots.txt o configuración en el panel.
¿Qué tan rápido se actualiza?
La reindexación automática suele ocurrir en 24 horas. La reindexación manual es inmediata.
¿Sitio caído durante el rastreo?
El crawler reduce la frecuencia y reintenta. El contenido anterior permanece disponible.
¿Ver contenido indexado?
Sí. El panel muestra páginas indexadas y su estado.
¿Varios idiomas?
Sí. Detección automática o idioma por defecto por embed.
¿Por qué a veces no hay cita?
Las citas enlazan a fuentes. Cuando se reconoce incertidumbre, no hay fuente que citar.