Permitir Geolocalización en conversación contra agente

En esta sección configuraremos el hook para permitir que la ubicación sea enviada como texto dentro de la conversación y evitar que se envíe el mensaje de fallback.

Dentro del estudio, crearemos un hook con la opción Before Incoming, lo cual programado, el agente recibira las coordenadas como texto dentro la conversación. Pero si el sitio llegase a refrescarse debido a un cambio de estado, y el agente ingrese nuevamente a la conversación, le figurará el card de Google Maps sin repertirse el mensaje de texto enviado por el bot.

Crear hook con el nombre ignoreLocation:

if (event?.state?.conversation?.last_ticket && event.type == 'location') {
    event.type = 'text'
    if (event.payload?.latitude && event.payload?.longitude) {
      event.payload.text = `https://www.google.com/maps?q=${event.payload?.latitude},${event.payload?.longitude}`
    } else {
      event.payload.text = event.preview
    }
  } else {
    return
  }

En caso de que no exista, crear la variable con scope conversation llamada "last_ticket" y darle valor luego de que se cree el ticket (en todos los workflows que se encarguen de crear tickets).

Ejemplo de dar valor a la variable last_ticket:

conversation.last_ticket = workflow?.response_ct?.ticketId ?? ''

¿Por qué damos valor a esta variable? Si no configuramos esta variable y dentro del hook, no preparamos el condicional, en los mensajes contra el bot, devolverá sólo la ubicación como cadena de texto en lugar del card de Google Maps.

Last updated