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

NameTypeDescription

Authorization

string

Token de autenticación (API KEY). Debe especificarse como: bearer API_KEY

Request Body

NameTypeDescription

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