Incorpore a busca com IA do LiKE em seus aplicativos, site ou sistemas internos. Três métodos de integração: API REST, widget JS, iframe.
#API REST
Disponibilidade por plano. A API pública e o widget público funcionam apenas nos planos que os incluem (veja Planos e faturação). Nos demais planos não é possível criar uma chave nem um widget público, e os já emitidos deixam de responder: a solicitação com a chave recebe
403, e o botão do widget não aparece no site. O widget corporativo não depende desse recurso.
#Etapa 1 — Criar uma chave de API
- Integrações → API pública → "Criar chave"
- Insira um nome (por exemplo, "Aplicativo móvel")
- Copie a chave — ela é exibida apenas uma vez
#Etapa 2 — Usar a API
Todas as solicitações são autorizadas via o cabeçalho:
X-API-Key: your-key#Endpoints principais
| Endpoint | Método | Descrição |
|---|---|---|
/api/public/search |
POST | Busca com IA em toda a base de conhecimento |
/api/public/toc |
GET | Índice dos artigos públicos |
/api/public/articles |
GET | Lista de artigos públicos |
/api/public/articles/{id} |
GET | Conteúdo do artigo |
#Exemplo: busca com 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": "Как оформить отпуск?"}'Resposta:
{
"answer": "Для оформления отпуска...",
"sources": [
{"title": "Политика отпусков", "url": "..."}
]
}#Limites de taxa
As solicitações à API são limitadas por chave; quando excedido o limite, é retornado HTTP 429 com um cabeçalho Retry-After.
#Segurança
- Armazene as chaves em variáveis de ambiente, não no código
- Crie uma chave separada para cada aplicativo
- Exclua as chaves não utilizadas
- Restrinja os domínios nas configurações da chave
#Widget JS
Um botão flutuante de busca com IA para incorporar em qualquer site.
#Etapa 1 — Obter o código
- Integrações → Canais → cartão "JS Widget" → "Gerenciar widgets" → "Criar widget". Informe o "Endereço do site onde o widget vai ficar"
- Configure os parâmetros (veja a tabela abaixo)
- Copie o código
#Etapa 2 — Adicioná-lo ao seu site
Insira o <script> copiado antes da tag de fechamento </body>:
#Onde colar o código nos construtores de sites
O código é o mesmo para qualquer site — não é preciso alterá-lo: o widget encontra o seu lugar na página sozinho, onde quer que o construtor coloque a linha. A única diferença é onde colá-lo.
Qualquer site (HTML). Cole o código antes da tag de fechamento </body> em cada página onde a pesquisa for necessária — ou no modelo comum do site.
WordPress. Instale o plugin WPCode (Insert Headers and Footers) → Code Snippets → Header & Footer → cole o código no campo Footer → Save Changes. No WordPress.com, os plugins não estão disponíveis em todos os planos.
Tilda. Para o site inteiro: Site Settings → More → HTML code for the HEAD section → cole o código → Save → publique novamente todas as páginas. Para uma única página: adicione o bloco Other → T123 (HTML code) e cole o código nele.
Wix. No painel do site, abra Settings → Custom Code (conforme a versão da interface — na secção "Advanced" ou "Development & integrations") → Add Custom Code → cole o código → All pages → Body — end → Apply. Não use o elemento "Embed HTML" numa página: ele abre num frame noutro endereço, e o widget não funcionará aí. O código personalizado no Wix está disponível num plano premium com domínio conectado.
Webflow. Site settings → Custom code → Footer code → cole o código → Save → publique o site. O código personalizado para todo o site está disponível nos planos pagos do site.
Squarespace. Abra Code Injection (nas configurações do site; conforme a versão da interface — em Developer tools ou Website Tools) → cole o código no campo Footer → Save. A injeção de código não está disponível em todos os planos.
Shopify. Online Store → Themes → … → Edit code → o arquivo layout/theme.liquid → cole o código antes de </body> → Save.
Framer. Site Settings → General → Custom Code → cole o código em End of tag → publique o site.
Google Tag Manager. Tags → New → Custom HTML → cole o código → acionador All Pages → Save → publique o contêiner com Publish.
Docusaurus. O código é indicado em docusaurus.config.js, com a mesma chave:
scripts: [
{
src: 'https://your-account.lynkora.pro/api/public/widget.js',
'data-key': 'wk_live_YOUR_KEY',
async: true,
},
],Endereços do site. O widget funciona apenas nos endereços indicados em Domínios permitidos, e o endereço é comparado com exatidão: example.com e www.example.com são dois endereços diferentes — adicione ambos. Se testar o site no endereço de pré-visualização do construtor (por exemplo *.tilda.ws, *.wixsite.com, *.webflow.io, *.myshopify.com), adicione-o também.
O botão não apareceu? Verifique três coisas: o widget está ativado; o endereço da página está em Domínios permitidos — exatamente, com ou sem www; o código está nas configurações do site ou no modelo, e não num elemento que o construtor abre num frame.
#Parâmetros do widget
| Parâmetro | Valor | Descrição |
|---|---|---|
data-key |
wk_live_... |
Obrigatório. A chave do widget (criada em Integrações → Canais → JS Widget). Sem ela, o widget não iniciará |
data-position |
bottom-right / bottom-left / none |
Posição do botão flutuante (padrão bottom-right) |
data-theme |
light / dark / auto |
Tema visual (padrão light; auto acompanha o tema do seu site) |
data-lang |
ru / en / de / es / fr / it / pt / ko / sr / sr-Cyrl / zh / ar |
Idioma padrão. Aplica-se apenas quando o idioma do visitante é desconhecido: a escolha do visitante e os idiomas do navegador dele têm prioridade. Se nenhum servir — inglês |
data-hotkey |
k |
Tecla de abertura combinada com Cmd/Ctrl (padrão k → Cmd/Ctrl + K) |
data-session-token |
JWT | Opcional. Token de sessão para o modo de identidade por usuário (veja "Comparação dos modos de autenticação" abaixo) |
#Resultado
Um botão aparece no canto do seu site (a cor vem das configurações do widget). Clique → uma janela de chat com o campo de pergunta → uma resposta da IA a partir da sua base de conhecimento.
#Idioma
O visitante troca o idioma com o botão de globo no cabeçalho da janela; a escolha fica guardada no navegador dele para este widget. Sem escolha, o widget usa o primeiro idioma adequado entre os idiomas do navegador, depois o idioma das configurações do widget (data-lang), depois o inglês. O idioma da página do seu site não é considerado. Em árabe, a janela abre da direita para a esquerda.
#Vinculação ao site
O widget funciona apenas nos endereços informados na criação ("Endereço do site onde o widget vai ficar"); solicitações de outros sites são rejeitadas. Vários endereços — separados por vírgulas. Sem endereço não é possível ativar o widget, e o asterisco "qualquer site" não é aceito. O endereço é comparado exatamente: example.com e www.example.com são endereços diferentes; informe os dois se o site abrir por ambos. Para testes locais, informe o endereço com a porta, por exemplo http://127.0.0.1:8899.
#O que o visitante vê
- O texto da resposta não tem marcas de fonte do tipo
[2.3]; títulos e links são formatados. - Abaixo da resposta — o bloco "Fontes": o link leva à página de origem e, se ela não existir, ao artigo.
- O link "Abrir a busca completa" existe apenas no widget corporativo.
#Se o limite de respostas de IA estiver esgotado
O widget público fica totalmente oculto no site até o limite voltar. O widget corporativo permanece no lugar, mas não aceita perguntas e mostra quando a busca voltará a estar disponível.
#iframe
Uma interface de busca completa incorporada na sua página:
#Código de incorporação
/embed é o único endereço do portal que pode ser aberto dentro de um frame em um site de terceiros. A raiz do portal (https://your-account.lynkora.pro) não pode ser incorporada: o navegador vai recusar. O frame não precisa de chave: funciona de forma anônima e mostra exatamente o que um visitante anônimo do portal vê; o escopo vem das configurações do widget.
#Link direto
Se um iframe não lhe convém, forneça aos usuários um link direto: https://your-account.lynkora.pro
#Modo de demonstração
Para testar sem uma chave de API, está disponível um endpoint de demonstração com limitações:
| Parâmetro | Valor |
|---|---|
| Autorização | Não necessária |
| Limites | Aplica-se um limite de solicitações por endereço. Ao excedê-lo é devolvido HTTP 429 com o cabeçalho Retry-After |
| Uso | Conhecer a API. Para carga de produção, crie uma chave |
Endpoint: POST /api/public/demo/search
#Comparação dos modos de autenticação
O widget suporta dois modos de autenticação.
#Modo A — Confiar na zona da URL
Autenticação no lado do cliente: você é responsável por quem chega às páginas com o widget (VPN, SSO, rotas protegidas). A Lynkora não conhece a identidade do usuário — apenas o Origin/IP da solicitação. O widget é visível para todos que abrem uma página com o código de incorporação.
- Código de backend: 0 linhas
- Tempo de configuração: ~2 minutos
- Adequado para: intranet, portal interno
#Modo B — Token de sessão (JWT por usuário)
Seu backend emite um token de sessão de curta duração para cada usuário. A Lynkora conhece a identidade, mantém uma auditoria por usuário e suporta revogação e GDPR DSAR.
- Código de backend: ~10 linhas (via SDK)
- Tempo de configuração: 1–2 horas
- Adequado para: SaaS multi-tenant, setores regulamentados
| Modo A — Zona da URL | Modo B — Token de sessão | |
|---|---|---|
| Identidade do usuário | não (apenas Origin/IP) | sim (JWT por usuário) |
| Auditoria por usuário | não | sim |
| Revogação / GDPR DSAR | não | sim |
| Código de backend | 0 linhas | ~10 linhas (SDK) |
| Configuração | ~2 minutos | 1–2 horas |