En caso de haber especificado el parámetro "webhook", Wannabot procesará el flujo de la conversación e irá enviando las interacciones a esa URL de callback a través de un método POST. En el body se incluirán los siguientes parámetros:
{// Id de la conversación"session_id" : "2c1cc196f6ef3d594343711d",// Si es TRUE, indica que es un mensaje de typing, y el parámetro data estará vacío"typing": false,"bot": {// Id del bot publicado,"id":"1afc95aa3fc15b000118d69c",// Tipo de bot publicado (web)"type":"web",// Si el Bot publicado se encuentra activo"active":true },// TRUE si el mensaje es del bot y FALSE si es del usuario"is_bot": true,// TRUE si el mensaje es del usuario y a FALSE si es del bot"is_user": false,"data": {// En caso de "is_user: true", indica la URL de la imagen enviada por el usuario"image":"URL...",// En caso de "is_user: true", indica el texto del mensaje enviado por el usuario"text":"Mensaje del usuario al Bot",// En caso de "is_bot: true", Indica el tipo de la interaccion de Wannabot// Posibles: TEXT, IMAGE, HTML, CARDS, LIST, LOCATION, STRIPE_CHECKOUT, PUSH_PERMISSION"type":"TEXT", // En caso de "is_bot: true", TRUE si la respuesta que llega es un error definido en el flujo de la conversación, debido a que no se cumple ninguna conexión entre interacciones
"is_error":false,// En caso de "is_bot: true", contiene los datos de la estructura de la interacción// El detalle los indicaremos en bloques de código aparte."interaction_data": {...} }}
INTERACTION DATA
Como se indica en el bloque de código anterior, Wannabot enviará los datos de las interacciones en función de su tipo. Aquí indicamos la estructura que llegará en función de cada tipo:
TEXT / HTML / STRIPE_CHECKOUT / PUSH_PERMITS:
{// Mensaje indicado en Wannabot para esta interacción"text": "Hola usuario",// Listado de Botones para esta interacción"buttons": [{// Indica el texto para este botón"title":"Texto del bóton",// Tipo de botón. Posibles: postback, web_url, phone_number"type":"postback",// Indica el payload, en caso de ser un botón de tipo POSTBACK, para este botón"payload":"Texto del payload", // Muestra el texto indicado en este campo. Puede utilizarse para implementar funcionalidades personalizadas en otras integraciones
"onclick":"....",// Indica la URL, en caso de ser un botón de tipo WEB_URL"url":"http://...." }],// Texto de ayuda para mostrar al usuario en esta interacción"placeholder": "Escribe aquí"}
IMAGE:
{// Indica la URL de la imagen cargada en Wannabot para esta interacción"image": "http://...."}
LOCATION:
{"location": {"title":"Oficina de Wannabot","subtitle":"En Madrid","latitude":40.4371367,"longitude":-3.6896114,"image":"https://maps.googleapis.com/maps/api/staticmap?...","url":"https://www.google.com/maps/search/...","embed":"https://www.google.com/maps/embed/v1/place?..." }}
CARDS:
{"template_type": "generic",// Indica si las imágenes de las CARDS tienen un formato "paisaje" o "cuadrado""image_aspect_ratio": "horizontal",// Listado de CARDS"elements": [{"title":"Título de esta Card","subtitle":"Subtítulo de esta Card","image_url":"http://....","default_action": {// Tipo de botón. Posibles: web_url"type":"web_url","url":"http://..." },// Listado de Botones para esta CARD"buttons": [{// Indica el texto para este botón"title":"Texto del bóton",// Tipo de botón. Posibles: postback, web_url, phone_number"type":"postback",// Indica el payload, en caso de ser un botón de tipo POSTBACK, para este botón"payload":"Texto del payload", // Muestra el texto indicado en este campo. Puede utilizarse para implementar funcionalidades personalizadas en otras integraciones
"onclick":"....",// Indica la URL, en caso de ser un botón de tipo WEB_URL"url":"http://...." }] }]}
Éste endpoint se utiliza para continuar una conversación con un usuario desde uno de tus bots, fuera del flujo de conversación normal que has definido.
Esto es particularmente útil cuando desea continuar un flujo de conversación basado en un evento interno que ha tenido lugar... Por ejemplo, realizar una encuesta a los clientes 3 días después de que alguien utilice su servicio.
Token de autenticación (API KEY). Debe especificarse como: bearer API_KEY
image_base_64
string
Imagen que se utilizará como respuesta por parte del usuario. Si se específica este campo, NO se tendrá en cuenta el campo "text".
payload
string
En caso de que se envíe el campo "text", se puede especificar este campo "payload", y se utilizará de la siguiente forma: "text" es lo que se le mostrará al usuario, pero el "payload" es lo que se utilizará para ser procesado por el Flujo de la conversación.
text
string
Texto del mensaje que se envía por parte del usuario, para ser procesado por el Bot en el Flujo de la conversación.
webhook
string
URL de Callback donde se enviarán las interacciones, tanto como esta misma del usuario, como las de respuestas del Bot. Si no se indica, igualmente el Flujo de la conversación seguirá para esa conversación.
session_id
string
ID de la conversación que se obtiene al crearla.
Authorization
string
Token de autenticación (API KEY). Debe especificarse como: bearer API_KEY