1. Embed Basico (qualquer site)
Cole este snippet antes do </body> do seu site. O widget aparece como um balao no canto inferior direito.
<script> window.ChatWidgetConfig = { apiUrl: "http://72.60.151.187:8011", position: "bottom-right", primaryColor: "#e74c3c", title: "Assistente Zangari", welcomeMessage: "Ola! Como posso ajudar?", defaultContext: "zangari_website" // contexto publico }; </script> <script src="http://72.60.151.187:8011/widget.js"></script>
2. Com Autenticacao (area logada)
Para usuarios autenticados via BDforAll, passe o token JWT. O widget acessa contextos restritos do condominio do usuario.
<script> window.ChatWidgetConfig = { apiUrl: "http://72.60.151.187:8011", authToken: token_do_usuario, // JWT do BDforAll defaultContext: "cond_0391", // contexto do condominio title: "Assistente do Condominio", primaryColor: "#2563eb", }; </script> <script src="http://72.60.151.187:8011/widget.js"></script>
3. API REST Direta
Use a API REST do RAG-Z diretamente para integrar com backends, n8n, apps mobile, etc.
| Endpoint | Metodo | Auth | Descricao |
|---|---|---|---|
/health | GET | Publico | Status do servico |
/api/query | POST | Publico | Consulta RAG (pergunta + contexto) |
/api/query/hierarchical | POST | Publico | Consulta com hierarquia legal |
/api/contexts | GET | Publico | Lista todos os contextos |
/api/contexts | POST | API Key | Criar contexto |
/api/contexts/{name} | DELETE | API Key | Deletar contexto |
/api/index | POST | API Key | Upload + indexacao de documentos |
/api/contexts/{name}/export | GET | API Key | Exportar contexto (JSON) |
/api/contexts/{name}/import | POST | API Key | Importar contexto (JSON) |
4. Exemplos de Uso
Consulta simples:
curl -X POST http://72.60.151.187:8002/api/query \
-H "Content-Type: application/json" \
-d '{
"question": "Qual o horario da piscina?",
"context": "cond_0391"
}'
Indexar documento (requer API Key):
curl -X POST http://72.60.151.187:8002/api/index \ -H "X-API-Key: SUA_API_KEY" \ -F "files=@regulamento.pdf" \ -F "context=cond_0391"
Consulta via JavaScript (frontend):
const resp = await fetch("http://72.60.151.187:8002/api/query", { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ question: "Qual o valor do condominio?", context: "cond_0391", llm_provider: "openai" }) }); const data = await resp.json(); console.log(data.answer);
5. Widget API (Console do Navegador)
ChatWidget.open(); // Abrir chat ChatWidget.close(); // Fechar chat ChatWidget.sendMessage("Ola!"); // Enviar mensagem ChatWidget.clearSession(); // Limpar historico