Si bien es sencillo encaminar a un cliente para ser atendido por un humano, la experiencia del usuario puede verse muy comprometida si no hay nadie disponible en la herramienta (como en Blip Desk, por ejemplo), ya que el bot deja de responder y todos los mensajes son dirigidas para el ser humano.
Pensando en ello, es de suma importancia analizar si hay alguien disponible en la herramienta de atención, antes de enviar cualquier usuario. Para verificarlo en Builder, sigue los siguientes pasos:
- Crea un bloque con el nombre Validación de Asistentes. Este bloque debe estar antes del bloque de Atención Humana.
- En el bloque creado en el paso 1, agrega una acción de entrada del tipo Solicitud HTTP, siguiendo los datos a continuación:
Nota: Use la URL con la identificación del contrato para consumir los puntos finales informados a continuación, su rendimiento y operación pueden verse afectados si no tiene la identificación del contrato, por lo que es esencial usar la URL con la identificación del contrato para usar las solicitudes http.
Método de Solicitud: POST
URL: https://{{contractid}}.http.msging.net/commands
Encabezados:
- Content-Type: application/json
- Authorization: Key API-KEY-BOT
Body:
{
"id": "{{random.guid}}",
"to": "postmaster@desk.msging.net",
"method": "get",
"uri": "/attendants"
}
- Variable de estado de respuesta: status
- Variable del cuerpo de respuesta: result
Observación: Si no sabes dónde encontrar la API-KEY de tu bot, consulta este artículo: Cómo encontrar la API-KEY de un bot en Blip.
- Agrega una acción de entrada más (después de la acción de solicitud HTTP creada en el paso 2) de tipo Script JS, con el siguiente script:
Variable de entrada para la función: result
Código fuente:
// Receive the variables as parameters
function run(result) {
result = JSON.parse(result);
let hasAttendant = false;
if(result.resource && result.resource.total >= 1){
hasAttendant = result.resource.items.some(function(attendant){
return attendant.status === 'Online';
});
}
return hasAttendant;
}
Variable para el valor de retorno: hasAttendant
Al final del paso 3, las acciones en el bloque "Validación de asistentes" deben verse como la imagen siguiente:
- Define dos condiciones de salida en el bloque creado en el paso 1. Una de las condiciones (hasAttendant = true) se ejecutará si hay al menos 1 asistente disponible y la otra condición (hasAttendant = false) se ejecutará si no hay ningún asistente disponible.
Agrega el bloque Atención Humana únicamente en la condición de salida que representa la disponibilidad de los asistentes.