Este caso de uso describe un ejemplo de implementación del Método SDK 'Action Rule Matched'.

El ejemplo presenta un botón en el sitio web que, si se pulsa, comprueba si alguna ActionRule ha coincidido. En caso afirmativo, se muestra una insignia.

1. Implementar el método SDK en su sitio web

Primero necesitamos implementar el método API 'Has Action Rule Matched' en el sitio web. Encontrará la documentación correspondiente en aquí.

HTML

Aquí creamos la insignia, que se mostrará en el sitio si alguna ActionRule coincide con

<span style="background-color:#93beff; display:none"id="actionRuleMatched">ActionRule Matched!</span>

También necesitamos el botón, que llamará a un método js de comprobación de ActionRules coincidentes.

    <button onclick="checkActionRulesMatched()">Check ActionRules matched</button>

JavaScript

Aquí es donde implementamos el método SDK.

Dado que devuelve un array, sabemos que al menos una regla ha coincidido si el tamaño del resultado es mayor que 1. En ese caso, la insignia se establece como visible.

/** 
* perform check for matched ActionRules, show badge if any have matched, hide if none
*/
function checkActionRulesMatched() {
    // Action Rule Listeners
    CV.api.hasActionRuleMatched(function (result) {
        var notificationElement = document.getElementById("actionRuleMatched");
        if (result.length > 0) {
            notificationElement.style.display = "inline";
        } else {
            notificationElement.style.display = "none";
        }
    });
}

El resultado devuelto es una matriz de cadenas, por lo que también podría comprobar una cadena específica. De esta forma puede haber múltiples ActionRules, cada una de las cuales puede hacer que ocurra algo diferente aquí.

Si la comprobación de ActionRules coincidentes también debe realizarse automáticamente una vez que la página y Chatvisor se han cargado, podemos añadir un Event Listener para ejecutar el método una vez que estas condiciones han sido alcanzado.

/** 
* perform check for matched ActionRules once page and CV loaded
*/
window.addEventListener('load', function () {
    if (!window.CVLoaded) {
        window.CVLoaded = checkActionRulesMatched;
    } else {
        checkActionRulesMatched();
    }
})

Ten en cuenta que, como esta comprobación se realiza justo después de la carga, algunas ActionRules que sólo coincidan más tarde no se mostrarán. Por ejemplo, una ActionRule con la condición 'Usuario en la página durante X segundos' sólo coincide después de que hayan pasado X segundos, momento en el que este listener ya habrá ejecutado el método.

2. Configurar una ActionRule

Ahora necesitamos configurar una regla para utilizar la api. Puede encontrar información sobre cómo configurar ActionRules aquí.

Condición

En este ejemplo, la regla incluye la condición "Dentro del horario de apertura", que se aplica si la hora actual está dentro del horario de apertura seleccionado. Encontrará información sobre esta función aquí.

Por supuesto, puede seleccionar cualquier combinación de condiciones que se ajuste a sus necesidades.

Acción

Para que esta ActionRule se añada a la matriz de reglas coincidentes, se requiere la Acción 'Evento Javascript'.

Así es como está configurada la regla para este ejemplo. Si la hora actual está dentro del horario de apertura, la regla se marca como 'coincidente' y a partir de ahora estará en la matriz de resultados cuando se ejecute el método SDK.

3. Comprobar resultado

La insignia de ejemplo, que originalmente tenía el estilo 'display: none', es ahora visible cuando se visita durante el horario de apertura.

Otros casos posibles

El caso de uso descrito aquí es, por supuesto, muy mínimo, pero dado que las condiciones y acciones de ActionRule pueden combinarse de muchas maneras, el SDK de Javascript también podría utilizarse, por ejemplo, para:

Mostrar una insignia si los agentes están en línea pero ocupados.

Activar otra función en su código javascript si el cliente visita un subdominio específico y envía un mensaje a través del Chatvisor LiveChat.

Redirigir a los visitantes automáticamente si visitan fuera de su horario de apertura.