¿Cómo usar Solicitudes Externas?
En el constructor de flujo, agrega Acciones > Solicitud de API Externa.
¿Cómo guardar datos en un campo personalizado?
Puedes usar la asignación de respuestas (Response Mapping) para guardar los datos de una API en un campo personalizado si la API devuelve datos en formato JSON. Muchas veces puedes querer obtener datos de una API y mostrárselos al usuario.
Por ejemplo, usaremos una API de cambio de divisas para mostrar cómo podrías guardar los datos devueltos por una API en un campo personalizado. A continuación, se muestra la respuesta de la API.
Si queremos mostrar el valor en USD, necesitarás usar rates.USD. Te recomendamos probar tu solicitud, copiar la respuesta y usar este servicio para obtener la ruta JSON (JSONPath) correcta. También puedes usar este servicio para verificar si tu JSONPath es correcto. No es necesario comenzar tu JSONPath con 'x'.
Hay dos maneras de mostrar los datos devueltos por una API al usuario dentro de tu bot. Puedes guardar los datos en un campo personalizado usando la asignación de respuestas (Response Mapping) y usar el campo personalizado en tu flujo para mostrar los datos al usuario. También, tu API podría devolver mensajes listos para ser mostrados al usuario final dentro de tu bot (Contenidos Dinámicos). Los contenidos dinámicos se explican a continuación en este artículo.
¿Cómo obtener el código de estado HTTP o el cuerpo completo de la respuesta?
En la asignación de respuestas, usa http_status_code
para obtener el código de respuesta y usa http_response_body
para obtener el cuerpo completo de la respuesta. Una vez que guardes el código de estado HTTP en un campo personalizado, puedes usar condiciones para realizar cualquier lógica que desees. Para descargar un archivo, usa http_download_EXTENSION
. Por ejemplo, para descargar audio, podrías usar http_download_mp3
."
Contenido Dinámico
El contenido dinámico te permite generar contenido desde tu servidor y mostrarlo al usuario dentro de tu Chatbot. El contenido dinámico es compatible con todos los canales. Utilizas un formato único que funciona en todos los canales. Nuestra plataforma convierte automáticamente tu mensaje en tiempo real y lo entrega al usuario.
No puedes usar la función de Contenido Dinámico si no eres el propietario de la API de la que estás obteniendo los datos. En este caso, puedes guardar los datos de la API en un campo personalizado usando la asignación de respuestas (Response Mapping) y mostrar los datos utilizando el campo personalizado en el constructor de flujo.
El formato de la respuesta se muestra a continuación.
Mensajes: contiene los mensajes que se envían a los contactos. Puedes enviar cualquier mensaje compatible con los Bots de Messenger. Este artículo muestra algunos ejemplos de formato, pero puedes consultar la documentación de Facebook si necesitas más capacidades.
Lucid Bot envía un encabezado ‘X-USER-ID‘ en cada solicitud.
quick_replies
siempre es opcional.
Enviar un mensaje de texto.
Enviar más de un solo mensaje
Enviar un mensaje de texto con botones.
El mensaje de texto puede contener hasta 3 botones. El título de cada botón puede tener hasta 20 caracteres. Para enviar un flujo cuando un usuario hace clic en un botón, usa un ID de flujo como el valor de carga útil del botón
Payload: puedes usar cualquier de flujo/paso como valor de carga útil. Por ejemplo, si deseas redirigir a un flujo una vez que el usuario haga clic en el botón, puedes usar el ID de flujo como valor de carga útil. En este artículo, también mostramos cómo usar acciones como valores de carga útil.
Enviar un mensaje con respuestas rápidas
Las respuestas rápidas se pueden agregar a cualquier tipo de mensaje (texto, archivo, galería, archivo, …). Facebook permite adjuntar un máximo de 11 respuestas rápidas a un mensaje. El valor de carga útil para las respuestas rápidas es el mismo que el de los botones.
Los valores de carga útil en respuestas rápidas y botones tienen la misma estructura.
Enviar una imagen, video, audio, archivo.
Puedes usar la misma estructura a continuación para enviar una imagen, video, audio o archivo. Simplemente cambia media_type
a video, audio o archivo. ‘URL’ será el enlace a tu imagen, audio, video o archivo.
Enviar una sola Tarjeta
El título y el subtítulo de la tarjeta pueden tener hasta 80 caracteres.
Enviar una sola Tarjeta con botones
Una tarjeta puede contener hasta 3 botones.
Enviar una Galería
Básicamente, una galería es un conjunto de tarjetas. Una galería puede contener hasta 10 tarjetas. El código a continuación muestra una galería con 2 tarjetas. También puedes agregar un botón a cada tarjeta.
Enviar mensajes compatibles solo con WhatsApp
WhatsApp admite muchos tipos de mensajes que no son compatibles con los bots de Messenger, como Listas, Contactos, Ubicaciones o Mensajes de Catálogo. Lucid Bot te permite enviar cualquier mensaje compatible con WhatsApp. Solo necesitas proporcionar la misma estructura de mensaje descrita en la documentación de WhatsApp. Lucid Bot configurará automáticamente el parámetro 'To'.
Acciones: es opcional incluir este campo. Puedes usar acciones para agregar/eliminar etiquetas, establecer/quitar campos personalizados y enviar un flujo...
Agregar Etiqueta
Quitar etiqueta.
Establecer Campo Personalizado
Además de aceptar cualquier nombre de campo personalizado, esta acción también te permite cambiar campos del sistema como teléfono, correo electrónico, nombre completo, primer nombre, apellido.
Eliminar campo personalizado.
Enviar Flujo
Para obtener el ID del flujo, necesitas ir a la lista de flujos, hacer clic en los 3 puntos y seleccionar 'Obtener enlace'. El ID del flujo es el número incluido en tu enlace. El ID del flujo siempre es numérico. Puedes combinar un número ilimitado de acciones
Transferir conversación a humano/bot
Combina múltiples acciones
Puedes combinar múltiples acciones en una sola solicitud para ejecutar varias simultáneamente. Por ejemplo, podrías querer establecer un campo personalizado y enviar un flujo en una sola solicitud.
Usa acciones como carga útil de botones y respuestas rápidas
A continuación se muestra el formato para usar una acción como carga útil en los botones. Pero dado que una carga útil es una cadena, necesitas convertir tu objeto de acciones a una cadena JSON. Si estás usando PHP, usa json_encode
para obtener una representación en cadena de tu objeto.
A continuación, la acción anterior se utiliza como carga útil del botón.