Campañas
Las utilizamos para poder enviar un mensaje a todas las sesiones de un chat, lo podemos hacer de dos maneras: Enviar ahora o programando la fecha deseada.
Requisitos previos
Para poder consumir los endpoints de Conversaciones, es necesario contar con una API KEY. Las API Keys las puedes generar desde tu cuenta de Wannabot, en el apartado de "Perfil > API Keys"

Enviar una campaña
POST
https://api.wannabot.io/v1/conversation/broadcast/send
Este endpoint nos permite enviar una campaña
Headers
Authorization
string
Token de autenticación (API KEY). Debe especificarse como: bearer API_KEY
Request Body
filters
object
Si se especifica este campo no se debe especificar el de session_ids
interactions_to_send
array
Array de interacciones a mandar al usuario, se mandaran en el orden que estén en el array.
session_ids
array
Sesiones a las que se enviará el array de interacciones.
Si se especifica este campo no se debe especificar el de filters
Ejemplo filters
Posibles valores de comparison en las condiciones:
WHATEVER | EQUALS | LESS_THAN | GREATER_THAN | CONTAINS | DONT_CONTAINS | BEGINS_WITH | ENDS_WITH | DONT_BEGINS_WITH | DONT_ENDS_WITH
Posibles valores de logical_operator en las condiciones:
&& o ||
Posibles valores de source en las condiciones:
global-vars | session-var
Si source es global-vars en source_aux debe ir la ID de la variable global a comparar.
Si source es session-var en source_aux pueden ir uno de los siguiente valores de la sesión a comparar.
name | surnames | full_name | facebookSenderId | phone | address | image | email
Ejemplo de código con condiciones anidadas:
{
"interactions_to_send": [
{
"type": "Image",
"image": "https://www.feelcats.com/blog/wp-content/uploads/2019/03/gatitos-cuidados.jpg"
}
],
"filters": {
"version": '5ce2623d19e91600bb0b1e15',
"tags": ['5ce2623459rrt600bb0b1e15', '5ce262219rrt600bb0b1e15'],
"agents": ['5ce2623d19rrt600bb0b1e15', '5ce2623d195191600bb0b1e15'],
"channels": ['slack', 'line', 'telegram'],
"conditions": {
"conditions": [
{
"conditions": null,
"source": "global-var",
"source_aux": "2595f550-9eea-11e7-b637-599b5f6aaec9",
"comparison": "EQUALS",
"targets": [
"pepe"
]
},
{
"conditions": {
"conditions": [
{
"source": "global-var",
"source_aux": "f5cf5850-a468-11e7-bdda-d761f1d978b3",
"comparison": "LESS_THAN",
"targets": [
"18"
]
},
{
"source": "global-var",
"source_aux": "f5cf5850-a468-11e7-bdda-d761f1d978b3",
"comparison": "GREATER_THAN",
"targets": [
"80"
]
}
],
"logical_operator": "&&"
}
}
],
"logical_operator": "||"
}
};
}
Ejemplo sessions_ids
{
"interactions_to_send": [
{
"type": "Image",
"image": "https://www.feelcats.com/blog/wp-content/uploads/2019/03/gatitos-cuidados.jpg"
}
],
"session_ids": ['5ce103d19rrt600bb0b1e15', '5ce2623d19r56200bb0b1e15']
}
Filters
filters: {
// Id de la versión
version: string,
// Array de ids de los tags
tags?: Array<string>,
// Array de ids de los agentes
agents?: Array<string>,
// Array de los canales por los que deseamos enviar los mensajes,
// Posibles: telegram | messenger | slack | web | line
channels?: Array<string>
};
Interaction to send
Dentro de interaction_to_send
podemos meter las siguientes interacciones a mandar al usuario:
"interactions_to_send": [{...}]
Permisos push
Nos permite pedir permiso al usuario para enviarle notificaciones.
{
"type": "SendPushPermission",
// Indica el texto para este botón
"special_button_text": "Si acepto",
// Texto del mensaje, se pueden especificar varios textos, si hay mas de 1 se mostrara uno aleatorio.
"initial_responses": ["¿Aceptas los permisos push?"]
},

Localización
Enviar una localización al usuario
{
"type": "Location",
// Listado de datos de la Localización
"location": {
// Titulo
"title": "Puerta del sol",
// Sub titulo
"subtitle": "Madrid",
// Latitud
"latitude": 40.4165000,
// Longitud
"longitude": -3.7025600
// La imagen sale por estas dos últimas.
}

Imagen
Enviar una imagen al usuario.
{
"type": "Image",
// Indica la URL de la imagen cargada en Wannabot para esta interacción
"image": "https://www.feelcats.com/blog/wp-content/uploads/2019/03/gatitos-cuidados.jpg"
},

Texto
Enviar un texto con botones.
{
"type": "ButtonResponse",
// Texto del mensaje, se pueden especificar varios textos, si hay mas de 1 se mostrara uno aleatorio.
"initial_responses": ["Que tal"],
// Listado de Botones para esta interacción
"buttons_responses": [{
// Tipo de botón. Posibles: postback, web_url, phone_number
"type": "postback",
// Indica el texto para este botón
"title": "Bien",
// Indica el payload, en caso de ser un botón de tipo POSTBACK, para este botón
"payload": "continuar"
}]
},

Tarjetas
Enviar una tarjeta al usuario con imagen, titulo, descripción, url y botones.
{
"type": "GeneralResponse",
"general_response": {
"template_type": "generic",
// Formas de mostrar la imagen. Posibles: horizontal" o "vertical"
"image_aspect_ratio": "horizontal",
// Listado de CARDS
"elements": [{
// Titulo
"title": "Nueva Zelanda",
// Subtiutlo
"subtitle": "Cueva de la catredal",
// Url de la imagen
"image_url": "https://fotografias-viajestic.atresmedia.com/clipping/cmsimages02/2017/07/07/40BA821D-58FB-47ED-BB29-247C8EDBB9F2//58.jpg",
// Botón Que solo puede ser de tipo url.
"default_action": {
"type": "web_url",
"url": "https://masinfo.com"
},
// Listado de Botones para esta interacción
"buttons": [{
// Tipo de botón. Posibles: postback, web_url, phone_number
"type": "postback",
// Indica el texto para este botón
"title": "Quiero ir",
// Indica el payload, en caso de ser un botón de tipo POSTBACK, para este botón
"payload": "continuar"
}]
}]
}
},

Listado
Parecido a las tarjetas pero en horizontal.
{
"type": "ListResponse",
"list_response": {
"template_type": "list",
// Listado de LIST
"elements": [{
// Titulo
"title": "Nueva Zelanda",
// Subtitulo
"subtitle": "Cueva de la catredal",
// Url de la imagen
"image_url": "https://fotografias-viajestic.atresmedia.com/clipping/cmsimages02/2017/07/07/40BA821D-58FB-47ED-BB29-247C8EDBB9F2//58.jpg",
// Botón Que solo puede ser de tipo url.
"default_action": {
"type": "web_url",
"url": "https://masinfo.com"
},
// Listado de Botones para esta interacción
"buttons": [{
// Tipo de botón. Posibles: postback, web_url, phone_number
"type": "postback",
// Indica el texto para este botón
"title": "Continuar",
// Indica el payload, en caso de ser un botón de tipo POSTBACK, para este botón
"payload": "continuar"
}]
}]
}
}

Last updated
Was this helpful?