Chat financiero con IA embebible. RAG sobre documentos CMF.
Configura el widget y haz clic en la burbuja para probarlo. La UI se renderiza completa; enviar mensajes requiere un backend activo.
El widget aparece en la esquina inferior. Cambia las opciones y haz clic en "Aplicar".
Busca en Hechos Esenciales, FECU, Memorias y Analisis. Citas con pagina exacta.
FondosChile: function calling sobre API de fondos mutuos y de inversion.
Dark/light + color de acento personalizable para matching visual con tu app.
Respuestas token-a-token en tiempo real. Markdown renderizado.
Aislamiento por tenant via JWT. Rate limiting por usuario.
Thumbs up/down en cada respuesta. Analytics de satisfaccion.
<script src="https://chat-api.mychat.cl/widget/mychat-widget.js"></script>
// Obtener token via tu backend (token-exchange)
const token = await exchangeToken(parentJWT);
MyChatWidget.init({
apiUrl: 'https://chat-api.mychat.cl',
token: token,
tenant: 'alertacmf', // o 'fondoschile'
theme: 'dark', // 'dark' | 'light'
accentColor: '#4f46e5', // Color hex de tu marca
position: 'bottom-right', // 'bottom-right' | 'bottom-left'
});
// Tu backend llama a mychat-api para intercambiar el JWT de tu app
const response = await fetch('https://chat-api.mychat.cl/api/auth/token-exchange', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
token: parentAppJWT, // JWT firmado con tu JWT_SECRET
tenant: 'alertacmf'
})
});
const { token } = await response.json();
// Retorna `token` al frontend para inicializar el widget
// Cuando el usuario navega a otra pagina en tu SPA:
MyChatWidget.updateContext({
pageType: 'fund_detail',
fundId: 123,
fundName: 'Fondo Alpha',
});
MyChatWidget.destroy();
| Opcion | Tipo | Requerido | Default | Descripcion |
|---|---|---|---|---|
apiUrl | string | Si | — | URL base de mychat-api |
token | string | Si | — | JWT obtenido via token-exchange |
tenant | string | Si | — | 'alertacmf' o 'fondoschile' |
theme | string | No | 'dark' | 'dark' o 'light' |
accentColor | string | No | '#4f46e5' | Color hex para branding |
position | string | No | 'bottom-right' | 'bottom-right' o 'bottom-left' |
pageContext | object | No | — | Contexto de pagina (FondosChile) |
| Endpoint | Limite | Key |
|---|---|---|
| Token exchange | 10/min | IP |
| Chat messages | 60/min | user:tenant |
| Otros endpoints | 120/min | user:tenant |
Headers: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset