Funciones
La API de ExpertoBot proporciona varios comandos de función para controlar el widget de chat. Todos los comandos se ejecutan usando la sintaxis EBot('comando').
open
Abre el chat de ExpertoBot.
Uso:
EBot('open');
Descripción:
Este comando muestra el widget del chat en la pantalla. Si el chat ya está abierto, este comando no tiene ningún efecto.
Ejemplo:
// Abrir el chat desde un botón
setTimeout(function() {
EBot('open');
}, 5000); // 5 segundos
close
Cierra el chat de ExpertoBot.
Uso:
EBot('close');
Descripción:
Este comando oculta el widget del chat. Si el chat ya está cerrado, este comando no tiene ningún efecto.
Ejemplo:
// Cerrar el chat después de un tiempo
document.getElementById('help-button-close').addEventListener('click', function() {
EBot('close');
});
toggle
Alterna entre abrir y cerrar el chat.
Uso:
EBot('toggle');
Descripción:
Si el chat está cerrado, lo abre. Si está abierto, lo cierra. Este comando es útil para crear botones personalizados que controlen el widget.
Ejemplo:
// Botón que alterna el estado del chat
document.getElementById('toggle-chat').addEventListener('click', function() {
EBot('toggle');
});
Ejemplo con launcher personalizado:
// Ocultar launcher predeterminado y usar botón personalizado
EBot('config', {
launcher_hidden: true
});
document.querySelector('#customize-launcher').addEventListener('click', function() {
EBot('toggle');
});
isOpen
Verifica si el chat está abierto.
Uso:
const isOpen = EBot('isOpen');
Retorna:
boolean:truesi el chat está abierto,falsesi está cerrado.
Descripción:
Este comando permite verificar el estado actual del chat. Es útil para tomar decisiones condicionales en tu código.
Ejemplo:
EBot('onReady', function() {
const isOpen = EBot('isOpen');
console.log('Chat abierto:', isOpen);
if (isOpen) {
console.log('El chat está abierto');
} else {
console.log('El chat está cerrado');
}
});
Ejemplo con lógica condicional:
// Alternar solo si está cerrado
if (!EBot('isOpen')) {
EBot('open');
}
isReady
Verifica si el widget está completamente inicializado y listo para usar.
Uso:
const isReady = EBot('isReady');
Retorna:
boolean:truesi el widget está inicializado,falsesi aún no está listo.
Descripción:
Es recomendable verificar que el widget esté listo antes de llamar a otros comandos de la API. Esto es especialmente importante si tu código se ejecuta inmediatamente después de cargar la página.
Nota: Siempre verifica este estado antes de ejecutar funciones si el script puede cargarse después del contenido principal.
Ejemplo básico:
if (EBot('isReady')) {
EBot('open');
} else {
console.log('Widget aún está cargando...');
}
Alternativa recomendada: En lugar de verificar manualmente con isReady, considera usar EBot('onReady', callback) que ejecutará tu código automáticamente cuando el widget esté listo.
Ejemplo con patrón de verificación completo:
function openChatIfReady() {
if (EBot('isReady')) {
EBot('open');
return;
}
// Si no está listo, esperar a que esté listo (recomendado)
EBot('onReady', () => {
EBot('open');
});
}
openChatIfReady();