Integre la búsqueda con IA de LiKE en sus aplicaciones, sitio web o sistemas internos. Tres métodos de integración: REST API, widget JS, iframe.
#REST API
Disponibilidad según el plan. La API pública y el widget público solo funcionan en los planes que los incluyen (véase Planes y facturación). En los demás planes no se puede crear una clave ni un widget público, y los ya emitidos dejan de responder: una solicitud con la clave recibe
403y el botón del widget no aparece en el sitio. El widget corporativo no depende de este indicador.
#Paso 1 — Crear una clave de API
- Integraciones → Public API → «Crear clave»
- Introduzca un nombre (por ejemplo, «Aplicación móvil»)
- Copie la clave — se muestra solo una vez
#Paso 2 — Usar la API
Todas las solicitudes se autorizan mediante el encabezado:
X-API-Key: your-key#Endpoints principales
| Endpoint | Método | Descripción |
|---|---|---|
/api/public/search |
POST | Búsqueda con IA en la base de conocimientos |
/api/public/toc |
GET | Índice de los artículos públicos |
/api/public/articles |
GET | Lista de artículos públicos |
/api/public/articles/{id} |
GET | Contenido del artículo |
#Ejemplo: búsqueda con IA
curl -X POST https://your-account.lynkora.pro/api/public/search \
-H "X-API-Key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{"q": "Как оформить отпуск?"}'Respuesta:
{
"answer": "Для оформления отпуска...",
"sources": [
{"title": "Политика отпусков", "url": "..."}
]
}#Límites de frecuencia
Las solicitudes de API se limitan por clave; cuando se supera el límite, se devuelve HTTP 429 con un encabezado Retry-After.
#Seguridad
- Almacene las claves en variables de entorno, no en el código
- Cree una clave independiente para cada aplicación
- Elimine las claves no utilizadas
- Restrinja los dominios en la configuración de la clave
#Widget JS
Un botón flotante de búsqueda con IA para integrar en cualquier sitio web.
#Paso 1 — Obtener el código
- Integraciones → Canales → tarjeta «JS Widget» → «Gestionar widgets» → «Crear widget». Indique la «Dirección del sitio donde estará el widget»
- Configure los parámetros (véase la tabla más abajo)
- Copie el código
#Paso 2 — Añadirlo a su sitio
Inserte el <script> copiado antes de la etiqueta de cierre </body>:
#Dónde pegar el código en los creadores de sitios web
El código es el mismo para todos los sitios y no hace falta cambiarlo: el widget se localiza solo en la página, dondequiera que el creador coloque la línea. La única diferencia es dónde pegarlo.
Cualquier sitio (HTML). Pegue el código antes de la etiqueta de cierre </body> en cada página que necesite la búsqueda, o en la plantilla común del sitio.
WordPress. Instale el plugin WPCode (Insert Headers and Footers) → Code Snippets → Header & Footer → pegue el código en Footer → Save Changes. En WordPress.com, los plugins no están disponibles en todos los planes.
Tilda. Para todo el sitio: Site Settings → More → HTML code for the HEAD section → pegue el código → Save → vuelva a publicar todas las páginas. Para una sola página: añada el bloque Other → T123 (HTML code) y pegue el código en él.
Wix. En el panel de control del sitio, abra Settings → Custom Code (según la versión de la interfaz, en «Advanced» o «Development & integrations») → Add Custom Code → pegue el código → All pages → Body — end → Apply. No use el elemento «Embed HTML» en una página: se abre en un marco con otra dirección y el widget no funcionará allí. El código personalizado en Wix está disponible en un plan premium con un dominio conectado.
Webflow. Site settings → Custom code → Footer code → pegue el código → Save → publique el sitio. El código personalizado para todo el sitio está disponible en los planes de sitio de pago.
Squarespace. Abra Code Injection (en la configuración del sitio; según la versión de la interfaz, en Developer tools o Website Tools) → pegue el código en Footer → Save. La inyección de código no está disponible en todos los planes.
Shopify. Online Store → Themes → … → Edit code → el archivo layout/theme.liquid → pegue el código antes de </body> → Save.
Framer. Site Settings → General → Custom Code → pegue el código en End of tag → publique el sitio.
Google Tag Manager. Tags → New → Custom HTML → pegue el código → activador All Pages → Save → publique el contenedor con Publish.
Docusaurus. El código va en docusaurus.config.js, con la misma clave:
scripts: [
{
src: 'https://your-account.lynkora.pro/api/public/widget.js',
'data-key': 'wk_live_YOUR_KEY',
async: true,
},
],Direcciones del sitio. El widget solo funciona en las direcciones de Dominios permitidos, y la dirección se compara de forma exacta: example.com y www.example.com son dos direcciones distintas; añada ambas. Si prueba el sitio en la dirección de vista previa del creador (por ejemplo, *.tilda.ws, *.wixsite.com, *.webflow.io, *.myshopify.com), añádala también.
¿No apareció el botón? Compruebe tres cosas: el widget está activado; la dirección de la página figura en Dominios permitidos, exactamente, con o sin www; el código está en la configuración o en la plantilla del sitio, no en un elemento que el creador abre en un marco.
#Parámetros del widget
| Parámetro | Valor | Descripción |
|---|---|---|
data-key |
wk_live_... |
Obligatorio. La clave del widget (creada en Integraciones → Canales → JS Widget). Sin ella, el widget no se iniciará |
data-position |
bottom-right / bottom-left / none |
Posición del botón flotante (por defecto bottom-right) |
data-theme |
light / dark / auto |
Tema visual (por defecto light; auto sigue el tema de su sitio web) |
data-lang |
ru / en / de / es / fr / it / pt / ko / sr / sr-Cyrl / zh / ar |
Idioma por defecto. Se aplica solo cuando el idioma del visitante es desconocido: la elección del visitante y los idiomas de su navegador tienen prioridad. Si no encaja ninguno, inglés |
data-hotkey |
k |
Tecla de apertura combinada con Cmd/Ctrl (por defecto k → Cmd/Ctrl + K) |
data-session-token |
JWT | Opcional. Token de sesión para el modo de identidad por usuario (véase «Comparación de modos de autenticación» más abajo) |
#Resultado
Aparece un botón en la esquina de su sitio (el color se toma de la configuración del widget). Haga clic → una ventana de chat con el campo de pregunta → una respuesta de IA de su base de conocimientos.
#Idioma
El visitante cambia el idioma con el botón del globo en la cabecera de la ventana; la elección se recuerda en su navegador para este widget. Sin elección, el widget toma el primer idioma adecuado de los del navegador, después el idioma de la configuración del widget (data-lang) y después el inglés. No se tiene en cuenta el idioma de la página de su sitio. En árabe la ventana se abre de derecha a izquierda.
#Vinculación al sitio
El widget solo funciona en las direcciones indicadas al crearlo («Dirección del sitio donde estará el widget»); las solicitudes desde otros sitios se rechazan. Varias direcciones, separadas por comas. Sin dirección no se puede activar el widget, y no se acepta el asterisco «cualquier sitio». La dirección se compara de forma exacta: example.com y www.example.com son direcciones distintas; indique ambas si el sitio se abre con las dos. Para una prueba local, indique la dirección con el puerto, por ejemplo http://127.0.0.1:8899.
#Qué ve el visitante
- En el texto de la respuesta no hay marcas de fuente del tipo
[2.3]; los encabezados y los enlaces tienen formato. - Bajo la respuesta hay un bloque «Fuentes»: el enlace lleva a la página de origen y, si no la hay, al artículo.
- El enlace «Abrir búsqueda completa» solo está en el widget corporativo.
#Si se agota el límite de respuestas de IA
El widget público se oculta por completo en el sitio hasta que vuelve el límite. El widget corporativo permanece en su sitio, pero no acepta preguntas y muestra cuándo volverá a estar disponible la búsqueda.
#iframe
Una interfaz de búsqueda con todas las funciones integrada en su página:
#Código de integración
/embed es la única dirección del portal que puede abrirse dentro de un marco en un sitio ajeno. La raíz del portal (https://your-account.lynkora.pro) no se puede incrustar: el navegador lo rechazará. El marco no necesita clave: funciona de forma anónima y muestra exactamente lo que ve un visitante anónimo del portal; su alcance procede de la configuración del widget.
#Enlace directo
Si un iframe no le conviene, ofrezca a los usuarios un enlace directo: https://your-account.lynkora.pro
#Modo de demostración
Para probar sin una clave de API, hay disponible un endpoint de demostración con limitaciones:
| Parámetro | Valor |
|---|---|
| Autorización | No requerida |
| Límites | Se aplica un límite de solicitudes por dirección. Al superarlo se devuelve HTTP 429 con la cabecera Retry-After |
| Uso | Conocer la API. Para carga de producción, cree una clave |
Endpoint: POST /api/public/demo/search
#Comparación de modos de autenticación
El widget admite dos modos de autenticación.
#Modo A — Confiar en la zona de URL
Autenticación del lado del cliente: usted es responsable de quién llega a las páginas con el widget (VPN, SSO, rutas protegidas). Lynkora no conoce la identidad del usuario — solo el Origin/IP de la solicitud. El widget es visible para todos los que abran una página con el código de integración.
- Código de backend: 0 líneas
- Tiempo de puesta en marcha: ~2 minutos
- Adecuado para: intranet, portal interno
#Modo B — Token de sesión (JWT por usuario)
Su backend emite un token de sesión de corta duración para cada usuario. Lynkora conoce la identidad, mantiene una auditoría por usuario y admite la revocación y el DSAR del RGPD.
- Código de backend: ~10 líneas (mediante SDK)
- Tiempo de puesta en marcha: 1–2 horas
- Adecuado para: SaaS multiinquilino, sectores regulados
| Modo A — Zona de URL | Modo B — Token de sesión | |
|---|---|---|
| Identidad del usuario | no (solo Origin/IP) | sí (JWT por usuario) |
| Auditoría por usuario | no | sí |
| Revocación / DSAR del RGPD | no | sí |
| Código de backend | 0 líneas | ~10 líneas (SDK) |
| Puesta en marcha | ~2 minutos | 1–2 horas |