Cómo organizar el componente precompilado de citas

El componente precompilado para programar citas permite que los clientes nuevos y existentes reserven citas. Este componente usa una versión personalizada del componente precompilado Date of birth collection para recopilar fechas de citas y los componentes precompilados Telephone number collection y Zip code collection para recopilar información sobre el usuario y la ubicación de la cita.

Motivos y tipos de citas

Este componente admite varias categorías de motivos de cita y ofrece diferentes tipos de citas según el motivo que seleccione el usuario.

Motivo de la cita Tipos de citas disponibles
Préstamos Presencial, virtual, teléfono
Hipotecas Presencial, virtual, teléfono
Administración de patrimonio Presencial, virtual, teléfono
Tarjetas de crédito Virtual, teléfono
Otro Teléfono

Para personalizar las categorías de citas, modifica la entidad personalizada prebuilt_components_arrange_appt_reason. Para configurar los tipos de citas disponibles para cada categoría, modifica los parámetros de entrada de cada tipo de cita.

Limitaciones

Además de las limitaciones comunes de los componentes precompilados, este componente precompilado tiene las siguientes limitaciones:

  • Este componente no encripta ningún dato.

Diálogos de muestra

En los siguientes diálogos de muestra, se muestran situaciones comunes que controla este componente precompilado. Los diálogos de muestra demuestran el comportamiento cuando se llama al componente por teléfono, lo que activa el intent de bienvenida predeterminado y la primera respuesta del agente al comienzo de la conversación.

El usuario existente reserva una cita en persona

El agente identifica que el usuario se autenticó anteriormente como un usuario existente. El usuario indica el motivo de la cita y selecciona reservar una cita presencial. El agente confirma que el usuario quiere ir a la sucursal más cercana a su dirección registrada y que la fecha y la hora preferidas del usuario están disponibles. El agente confirma la hora y el lugar, y programa correctamente la cita.

Entrada del usuario Respuesta del agente
Antes de programar una cita, te haremos algunas preguntas. ¿Puedes decirnos el motivo de tu cita?
Quiero hablar con alguien sobre la administración de patrimonio
¿Quieres programar una cita telefónica, por videollamada o presencial en una de nuestras sucursales?
Me gustaría ir en persona
Muy bien. ¿Quieres programar una cita en la sucursal ubicada en 1600 Amphitheatre Pkwy, Mountain View, CA 94043?
Proporciona la fecha de cita que prefieras. Di el mes que prefieras, seguido del día y, luego, del año. Recuerda que nuestras sucursales están abiertas de lunes a viernes de 9 a.m. a 5 p.m. y los sábados de 9 a.m. a 1 p.m.
El agente recopila la fecha de cita preferida del usuario con el componente precompilado de Recopilación de fecha de nacimiento.
Genial. Ya tenemos la fecha que prefieres.

Proporciona la franja horaria que prefieras.
10 a.m.
Seleccionaste las 10:00 a.m. Para continuar con el horario de la cita seleccionado, di que sí.
Programaremos una cita en la dirección del banco, 1600 Amphitheatre Pkwy, Mountain View, CA 94043, el 23/09/2023 a las 10:00 a.m. ¿Es correcto?
Muy bien, programamos la cita. Tu número de confirmación es 818452. ¿Quieres reservar otra cita?
No, eso es todo
Gracias por comunicarte con nosotros. Que tengas un buen día.

Un cliente nuevo reserva varias citas

El agente identifica que el usuario no se autenticó anteriormente y recopila su número de teléfono. El usuario solicita una cita virtual para hablar sobre préstamos. La primera preferencia del usuario para la fecha y la hora no está disponible, por lo que el agente le ofrece los horarios disponibles. El usuario selecciona un horario disponible y la cita se programa correctamente. El usuario confirma que le gustaría reservar una segunda cita, y el agente programa una con éxito.

Entrada del usuario Respuesta del agente
El agente recopila el número de teléfono del usuario con el componente precompilado de Recopilación de números de teléfono
Genial, ya tenemos el número de teléfono.

Antes de programar una cita, te haremos algunas preguntas. ¿Puedes decirnos el motivo de tu cita?
Quiero obtener un préstamo
¿Quieres programar una cita telefónica, por videollamada o presencial en una de nuestras sucursales?
No hay problema con la cita virtual
Proporciona la fecha de cita que prefieras. Di el mes que prefieras, seguido del día y, luego, del año. Recuerda que nuestras sucursales están abiertas de lunes a viernes de 9 a.m. a 5 p.m. y los sábados de 9 a.m. a 1 p.m.
El agente recopila la fecha de cita preferida del usuario con el componente precompilado de Recopilación de fecha de nacimiento
Genial. Ya tenemos la fecha que prefieres.

Proporciona la franja horaria que prefieras.
3:00 me parece bien
Seleccionaste las 3:00 p.m. Para continuar con el horario de cita seleccionado, di que sí.
Programaremos una cita con nuestro asesor el 03/10/2023 a las 3:00 p.m. ¿Verdad?
Muy bien, programamos la cita. Tu número de confirmación es 754731.

¿Quieres reservar otra cita?
Antes de programar una cita, te haremos algunas preguntas. ¿Puedes decirnos el motivo de tu cita?
Necesito una cita para mi tarjeta de crédito
¿Quieres programar una cita por teléfono o videollamada con uno de nuestros representantes de la sucursal?
Teléfono
Proporciona la fecha de cita que prefieras. Di el mes que prefieras, seguido del día y, luego, del año. Recuerda que nuestras sucursales están abiertas de lunes a viernes de 9 a.m. a 5 p.m. y los sábados de 9 a.m. a 1 p.m.
El agente recopila la fecha de cita preferida del usuario con el componente precompilado de Recopilación de fecha de nacimiento.
Genial. Ya tenemos la fecha que prefieres.

Proporciona la franja horaria que prefieras.
¿Te parece bien a las 8 a.m.?
Seleccionaste las 8:00 a.m. Para continuar con el horario de la cita seleccionado, di que sí.
Lo sentimos, el horario seleccionado no está disponible. Tenemos disponibilidad para las 11:30 a.m., 12:30 p.m., 1:30 p.m. y 3:00 p.m. el 06/10/2023. ¿Quieres cambiar el horario o programar una cita en otra fecha?
De acuerdo, hagámoslo a la 1:30
Seleccionaste 1:30 p.m. Para continuar con el horario de cita seleccionado, di que sí.
Programaremos una cita con nuestro asesor el 06/10/2023 a las 1:30 p.m. ¿Verdad?
Muy bien, programamos la cita. Tu número de confirmación es 714637.

¿Quieres reservar otra cita?
No, eso es todo
Gracias por comunicarte con nosotros. Que tengas un buen día.

Convenciones de nombres

Este componente precompilado usa las siguientes convenciones de nombres:

Atributo Formato Ejemplo
Flujo [Nombre del componente] Organizar cita
Intent específico del componente prebuilt_components_[component_name]_[intent_name] prebuilt_components_arrange_appt_change_date_slot
Tipo de entidad prebuilt_components_[component_name]_[entity_type] prebuilt_components_arrange_appt_reason
Webhook prebuilt_components_[component_name]:[webhook_action] prebuilt_components_arrange_appointment:submit_appointment

Parámetros de entrada

Los parámetros de entrada son parámetros que se usan para configurar ciertos comportamientos del componente. Una o más condiciones dentro del flujo usarán los parámetros para determinar cómo debe comportarse el componente. Los parámetros centrados en el flujo se deben configurar en la página de inicio del componente, como se describe a continuación. Los parámetros centrados en la sesión se pueden establecer mediante un flujo de llamadas o en la página de inicio de este componente.

Este componente precompilado acepta los siguientes parámetros de entrada:

Nombre del parámetro Descripción Formato de entrada
$session.params.phone_number (Opcional) Es el número de teléfono registrado del cliente que se usa para la autenticación. string
$session.params.auth_level (Opcional) Indica el nivel de autenticación del emisor. integer
$flow.all_appointment_type Especifica la lista de motivos de cita para los que están disponibles todos los tipos de citas. El valor predeterminado es ["loans", "wealth"]. Lista (cadena)
$flow.video_phone_appointment_type Especifica la lista de motivos de cita para los que están disponibles todos los tipos de citas. El valor predeterminado es ["cards"]. Lista (cadena)
$flow.appointment_services Especifica la lista de tipos de citas para los que no se requiere la ubicación de la sucursal y no se recopilará del usuario. El valor predeterminado es ["video", "phone"]. Lista (cadena)
$flow.working_hours Especifica el horario de atención de la sucursal, por ejemplo, "Monday to Friday: 9 AM to 5 PM, Saturday: 9 AM to 1 PM". string
$session.params.arrange_appointment_max_days Especifica la cantidad máxima de días después de la fecha actual que se permite para reservar una cita. De forma predeterminada, este valor es 90, lo que indica que las citas se pueden reservar hasta 90 días después de la fecha actual. Este parámetro se establece en la ruta true de la página principal. integer
flow.max_retry_count Especifica la cantidad de reintentos permitidos cuando se recopila información del usuario. El valor predeterminado es 3. integer

Para configurar los parámetros de entrada de este componente, expande la sección para obtener instrucciones.

  1. Abre la consola de Dialogflow CX.
  2. Elige tu proyecto de Google Cloud.
  3. Selecciona el agente.
  4. Selecciona la pestaña Build.
  5. Haz clic en el componente importado en la sección Flujos.
  6. Haz clic en la página principal en la sección Páginas.
  7. Haz clic en la ruta true en la página principal.
  8. En la ventana Ruta, edita los valores de Parámetros predefinidos según sea necesario.
  9. Haz clic en Guardar.

Los parámetros de resultado

Los parámetros de salida son parámetros de sesión que permanecerán activos después de salir del componente. Estos parámetros contienen información importante que recopila el componente. Este componente precompilado proporciona valores para los siguientes parámetros de salida:

Nombre del parámetro Descripción Formato de salida
phone_number Es el número de teléfono local del usuario, sin el código de país, que se usa para identificarlo. string
transfer_reason Este parámetro indica el motivo por el que se cerró el flujo, si no se realizó correctamente. El valor que se muestra es uno de los siguientes:

agent: El usuario final solicitó un agente humano en algún momento durante la conversación.

denial_of_information: El usuario final rechazó compartir la información que solicitó el componente.

max_no_input: La conversación alcanzó la cantidad máxima de reintentos para los eventos sin entrada. Consulta Eventos integrados sin entrada.

max_no_match: La conversación alcanzó la cantidad máxima de reintentos para los eventos de sin coincidencia. Consulta eventos integrados de sin coincidencia.

webhook_error: Se produjo un error de webhook. Consulta el evento integrado webhook.error.

webhook_not_found: No se pudo acceder a una URL de webhook. Consulta el evento integrado webhook.error.not-found.
string

Configuración básica

Para configurar este componente precompilado, sigue estos pasos:

  1. Importa el componente precompilado.
  2. Configura los webhooks flexibles proporcionados con la configuración que describe tus servicios externos. Consulta la configuración de webhooks a continuación.

Configuración del webhook

Para usar este componente, deberás configurar los webhooks flexibles incluidos para recuperar la información necesaria de tus servicios externos.

Obtener cuenta

El componente usa el hook de prebuilt_components_arrange_appointment:get_account para obtener los detalles de la cuenta de un número de teléfono proporcionado, si existe una cuenta registrada.

Parámetros de solicitud a la API

El componente proporciona los siguientes parámetros como entradas a la solicitud de la API.

Nombre del parámetro Descripción Formato de entrada
$session.params.phone_number Es el número de teléfono local del usuario, sin el código de país, que se usa para identificarlo. string

Parámetros de respuesta de la API

Los siguientes parámetros se extraen de la respuesta de la API para que los use el componente.

Nombre del parámetro Descripción Formato de salida
account_count Cantidad de cuentas asociadas con el número de teléfono registrado. integer
cards_count Cantidad de tarjetas asociadas con el número de teléfono registrado. integer
loans_count Cantidad de préstamos asociados con el número de teléfono registrado. integer
mortgage_count Cantidad de hipotecas asociadas con el número de teléfono registrado. integer
branch_code Es el código de sucursal asociado con el número de teléfono registrado, que se usa para identificar una ubicación de sucursal única. string

Para configurar el webhook Get account de este componente, expande la sección para obtener instrucciones.

  1. Abre la consola de Dialogflow CX.
  2. Elige tu proyecto de Google Cloud.
  3. Selecciona el agente.
  4. Selecciona la pestaña Administrar.
  5. Haz clic en Webhooks.
  6. Selecciona el webhook prebuilt_components_arrange_appointment:get_account.
  7. Reemplaza la URL del campo Webhook URL de los agentes de conversación (Dialogflow CX) por el extremo del servicio con el que deseas realizar la integración. Selecciona el Método adecuado en el menú desplegable.
  8. Revisa y actualiza el cuerpo de la solicitud para formar el formato de solicitud adecuado para tu webhook.
  9. Revisa y actualiza la configuración de la respuesta para extraer campos específicos de la respuesta de tu webhook. No modifiques los nombres de los parámetros, ya que el componente los requiere para acceder a los valores de los campos que se muestran.
  10. Revisa y actualiza la configuración de Authentication según sea necesario.
  11. Haz clic en Guardar.

Obtener rama

El componente usa el webhook prebuilt_components_arrange_appointment:get_branch para recuperar información sobre la ubicación de una sucursal, según un código de sucursal.

Parámetros de solicitud a la API

El componente proporciona los siguientes parámetros como entradas a la solicitud de la API.

Nombre del parámetro Descripción Formato de entrada
$flow.branch_code Código de sucursal que identifica una ubicación de sucursal única. string

Parámetros de respuesta de la API

Los siguientes parámetros se extraen de la respuesta de la API para que los use el componente.

Nombre del parámetro Descripción Formato de salida
branch_address Dirección de la sucursal. string

Para configurar el webhook Get branch de este componente, expande para obtener instrucciones.

  1. Abre la consola de Dialogflow CX.
  2. Elige tu proyecto de Google Cloud.
  3. Selecciona el agente.
  4. Selecciona la pestaña Administrar.
  5. Haz clic en Webhooks.
  6. Selecciona el webhook prebuilt_components_arrange_appointment:get_branch.
  7. Reemplaza la URL del campo Webhook URL de los agentes de conversación (Dialogflow CX) por el extremo del servicio con el que deseas realizar la integración. Selecciona el Método adecuado en el menú desplegable.
  8. Revisa y actualiza el cuerpo de la solicitud para formar el formato de solicitud adecuado para tu webhook.
  9. Revisa y actualiza la configuración de la respuesta para extraer campos específicos de la respuesta de tu webhook. No modifiques los nombres de los parámetros, ya que el componente los requiere para acceder a los valores de los campos que se muestran.
  10. Revisa y actualiza la configuración de Authentication según sea necesario.
  11. Haz clic en Guardar.

Sucursal disponible

El componente usa el webhook prebuilt_components_arrange_appointment:available_branch para obtener la ubicación de la sucursal más cercana según un código postal.

Parámetros de solicitud a la API

El componente proporciona los siguientes parámetros como entradas a la solicitud de la API.

Nombre del parámetro Descripción Formato de entrada
$flow.zip_code Es el código postal que proporcionó el usuario final. string

Parámetros de respuesta de la API

Los siguientes parámetros se extraen de la respuesta de la API para que los use el componente.

Nombre del parámetro Descripción Formato de salida
branch_address Dirección de la sucursal. string

Para configurar el webhook de la rama disponible para este componente, expande la sección para obtener instrucciones.

  1. Abre la consola de Dialogflow CX.
  2. Elige tu proyecto de Google Cloud.
  3. Selecciona el agente.
  4. Selecciona la pestaña Administrar.
  5. Haz clic en Webhooks.
  6. Selecciona el webhook prebuilt_components_arrange_appointment:available_branch.
  7. Reemplaza la URL del campo Webhook URL de los agentes de conversación (Dialogflow CX) por el extremo del servicio con el que deseas realizar la integración. Selecciona el Método adecuado en el menú desplegable.
  8. Revisa y actualiza el cuerpo de la solicitud para formar el formato de solicitud adecuado para tu webhook.
  9. Revisa y actualiza la configuración de la respuesta para extraer campos específicos de la respuesta de tu webhook. No modifiques los nombres de los parámetros, ya que el componente los requiere para acceder a los valores de los campos que se muestran.
  10. Revisa y actualiza la configuración de Authentication según sea necesario.
  11. Haz clic en Guardar.

Obtén los horarios disponibles

El componente usa el webhook prebuilt_components_arrange_appointment:get_available_slots para verificar los horarios disponibles para la fecha y el tipo de cita preferidos de un usuario.

Parámetros de solicitud a la API

El componente proporciona los siguientes parámetros como entradas a la solicitud de la API.

Nombre del parámetro Descripción Formato de entrada
$flow.preferred_date Es la fecha preferida para la cita que proporcionó el usuario final en formato "AAAA-MM-DD". string
$flow.appointment_type El tipo de cita. string
$flow.branch_code Es el código de sucursal que identifica la ubicación única de la sucursal que seleccionó el usuario final. string

Parámetros de respuesta de la API

Los siguientes parámetros se extraen de la respuesta de la API para que los use el componente.

Nombre del parámetro Descripción Formato de salida
available_slots Es la lista de horarios disponibles para la cita de la fecha especificada, en formato “HH:MM XM”, por ejemplo, ["09:00 AM", "2:30 PM"]. Si no hay ranuras disponibles, este parámetro es una lista vacía []. Lista (cadena)

Para configurar el webhook Get available slots de este componente, expande la sección para obtener instrucciones.

  1. Abre la consola de Dialogflow CX.
  2. Elige tu proyecto de Google Cloud.
  3. Selecciona el agente.
  4. Selecciona la pestaña Administrar.
  5. Haz clic en Webhooks.
  6. Selecciona el webhook prebuilt_components_arrange_appointment:get_available_slots.
  7. Reemplaza la URL del campo Webhook URL de los agentes de conversación (Dialogflow CX) por el extremo del servicio con el que deseas realizar la integración. Selecciona el Método adecuado en el menú desplegable.
  8. Revisa y actualiza el cuerpo de la solicitud para formar el formato de solicitud adecuado para tu webhook.
  9. Revisa y actualiza la configuración de la respuesta para extraer campos específicos de la respuesta de tu webhook. No modifiques los nombres de los parámetros, ya que el componente los requiere para acceder a los valores de los campos que se muestran.
  10. Revisa y actualiza la configuración de Authentication según sea necesario.
  11. Haz clic en Guardar.

Enviar cita

El componente usa el webhook prebuilt_components_arrange_appointment:submit_appointment para programar una cita para la fecha, la hora, la sucursal, el motivo y el tipo de cita que seleccionó el usuario.

Parámetros de solicitud a la API

El componente proporciona los siguientes parámetros como entradas a la solicitud de la API.

Nombre del parámetro Descripción Formato de entrada
$session.params.phone_number Es el número de teléfono local del usuario, sin el código de país, que se usa para identificarlo. string
$flow.preferred_date Es la fecha preferida para la cita que proporcionó el usuario final en formato "AAAA-MM-DD". string
$flow.preferred_slot Es la hora preferida para la cita que proporciona el usuario final en formato “HH:MM XM”. string
$flow.appointment_reason El motivo de la cita. string
$flow.appointment_type El tipo de cita. string
$flow.branch_code Es el código de sucursal que identifica la ubicación única de la sucursal que seleccionó el usuario final. string

Parámetros de respuesta de la API

Los siguientes parámetros se extraen de la respuesta de la API para que los use el componente.

Nombre del parámetro Descripción Formato de salida
request_number Es el número de solicitud de la cita programada. integer

Para configurar el hook de envío de citas de este componente, expande la sección para obtener instrucciones.

  1. Abre la consola de Dialogflow CX.
  2. Elige tu proyecto de Google Cloud.
  3. Selecciona el agente.
  4. Selecciona la pestaña Administrar.
  5. Haz clic en Webhooks.
  6. Selecciona el webhook prebuilt_components_arrange_appointment:submit_appointment.
  7. Reemplaza la URL del campo Webhook URL de los agentes de conversación (Dialogflow CX) por el extremo del servicio con el que deseas realizar la integración. Selecciona el Método adecuado en el menú desplegable.
  8. Revisa y actualiza el cuerpo de la solicitud para formar el formato de solicitud adecuado para tu webhook.
  9. Revisa y actualiza la configuración de la respuesta para extraer campos específicos de la respuesta de tu webhook. No modifiques los nombres de los parámetros, ya que el componente los requiere para acceder a los valores de los campos que se muestran.
  10. Revisa y actualiza la configuración de Authentication según sea necesario.
  11. Haz clic en Guardar.

Completado

Tu agente y sus webhooks ya deberían estar configurados y listos para probarse.