Una situación muy frecuente es querer que tu chatbot funcione dentro de ciertos horarios o que la ayuda humana se active dentro de ciertos dias de la semana y horas muy específicos.

Para ello es que hemos preparado este artículo en donde aprenderás a hacer que tu bot pueda entregar ciertas respuestas basando en el día y hora.

Para este caso vamos a suponer que nuestro equipo humano solo atiende de Lunes a Viernes entre las 9:00 y las 19:00 hrs. por lo que configuraremos 3 bloques, uno para evaluar día y hora, otra para avisar que el equipo humano no atiende dentro del horario y otro para activar la ayuda humana.

Preparad@? ahí vamos

Crea un bloque para evaluar día y hora

Crea un bloque para evaluar el horario, puedes llamarle evalúa horario

Incluye plugin JSON

En este bloque deberás agregar un plugin JSON con un llamado a este script creado para la comunidad.

Deberás usar la opción GET e incluir la siguiente URL:
https://botifica.com/json/bt/time.php?timezone={{timezone}}

Si te fijas luego del signo ? viene un parámetro llamado timezone al cual deberás incluirle el atributo genérico {{timezone}}, tal como ves en la siguiente imagen:

Este llamado JSON va a crear una serie de nuevos atributos que quedarán grabados automáticamente en tu bot.

Algunos de estos atributos son:

  • dateFormatted
  • dayInt
  • dayShort
  • monthInt
  • time24h
  • entre muchos otros

Crea un Go to Block para evaluar día y hora

En el mismo bloque incluye plugin Go to Block (GTB), que estará encargado de evaluar según los atributos creados por el JSON que acabamos de llamar si estamos dentro de los días de la semana y horario adecuados.

Usa OR en vez de AND y crea varios filtros para cuando NO puedes atender:

Evalúa dias de la semana

Evalúa si {{dayshort}} es Sat (por si es sábado) y {{dayshort}} es Sun (por si es domingo)

Evalúa horarios

Incluye en el mismo GTB filtro evaluando si {{time24h}} > 19 (por si es pasado las 19 hrs.) y ademas si {{time24h}} <09 (por si es antes de las 09 hrs.)gtb-filtro-horario-dia-semana

Este será el caso en que NO puedes atender y el chatbot debe redireccionar a un bloque explicando que la ayuda solo esta disponible de lunes a Viernes entre las 9:00 y las 19:00. En este caso hemos llamado a éste bloque hablar con humano no puede.

Crea otro GTB default

Si ninguna de las condiciones definidas en el GTB anterior se cumplen, entonces usarás otro GTB de acción por defecto, en el cual vas a direccionar al bloque en donde el usuario puede comunicarse con un humano y comenzar la conversación.

Hablar con humano

¿Problemas con la zona horaria?

El atributo {{timezone}} en el JSON, es para que evalúe según zona horaria del usuario. Esto a veces puede tener diferencias de 1 hora, si tienes este problema lo solucionas creando un nuevo atributo {{hora actual}} con set up user attribute y le sumas 1 al time24h: {{time24h}}+1

Como corregir desfase zona horaria

Ojo, este plugin de atributo deberás dejarlo justo antes del plugin Go To Block que evalúa día y hora.

¿Prefieres verlo todo en video?

cristian

Author cristian

More posts by cristian