Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
Manual de uso RapidPro
Introducción a RapidPro 4
Descripción de secciones 4
Mensajes - tablero de mensajes enviados y recibidos 4
Contactos - contactos y grupos 5
Flujos de mensajes 5
Campañas 5
Detonadores o Triggers - activación de flujos 6
Planeación de proyectos: flujos y campañas 6
Flujos 6
Creación de flujos 6
Nuevo flujo 6
II. Nombrar tu flujo 7
III. Triggers o Detonadores 7
IV. Create Message (Crear un Mensaje) 8
V. Wait for Response 8
VI. Escribir un mensaje para cada respuesta 11
Correr el simulador 12
Edición de detalles del flujo 13
Editar algún componente del flujo 13
Editar nombre y triggers del flujo 13
Guardar un flujo 14
Problemas comunes: 14
Qué hacer si los cambios no se guardan 14
Enviar 15
Canales de envío 15
Creación de Campañas 15
Crear Campaña 15
Uso Avanzado: 16
Tipos de Mensajes y Respuestas 16
Texto 17
Lista de números 18
Fechas 19
Contactos y Grupos 20
Creación y actualización de contactos 20
Grupos 20
Acciones y reglas 21
Acciones Comunes 23
¿Cómo guardar la respuesta de un usuario? - Update the contact 23
Agregar y quitar contactos de un grupo - Add/remove contact to/from group 25
Mandar un correo - Send an email 25
Empezar/detonar otro flujo - Start another flow 26
Reglas comunes 27
Partir/dividir el flujo por grupo - Split by group membership 27
Partir/dividir el flujo por respuesta dentro del flujo - Split by flow field 27
Partir/dividir el flujo por variable de contacto - Split by contact field: 27
Partir/dividir el flujo por una función/expresión - Split by expression 28
Descarga de información 28
Descarga de flujos Descarga de mensajes Descarga de contactos Uso de la API 28
Webhooks: llamadas a servidores externos 28
¿Para qué sirven los webhooks? 28
Webhook de fecha 28
Webhook geográfico - Nombre de estado 31
Términos Básicos 32
Flujo 32
Acción 34
Regla 34
Grupo 34
Contacto 34
Campaña 34
Detonador/Trigger 34
Webhook 34
Introducción a RapidPro
RapidPro es una plataforma inteligente y de código abierto que permite generar conversaciones automatizadas rápidamente. Los mensajes pueden ser de una o dos vías y se programan a través de una interfase sencilla. Se pueden enviar a través de SMS, Facebook, Telegram y/o Twitter en horarios programados. También es posible enviar a toda una base de datos de contactos o a grupos segmentados.
RapidPro no sólo permite la programación y envío de mensajes sino facilita el manejo de contactos, que se pueden agregar directamente o a través de preguntas y respuestas en el flujo de mensajes. También permite la gestión de campañas con varios mensajes y el análisis de datos.
Documentación oficial:
https://rapidpro.github.io/rapidpro/about/
https://community.rapidpro.io/
http://docs.rapidpro.io/
Video de Introducción
https://www.youtube.com/watch?v=dmXn24veoTA&t=0s&index=3&list=PLJeRyBQ6ehwmF8p25hjZrkM7uRYONPO2I
Manual para desarrollar proyectos con RapidPro (encuestas/intervenciones):
https://docs.google.com/document/d/1qH8kJa85VtPpaYXoxJ680AbqLnjx6jk81QSLzcQcrPs/edit?usp=sharing
Descripción de secciones A entrar a la plataforma, RapidPro despliega un menú con las siguientes secciones: Mensajes, Contactos, Flujos, Campañas y Detonadores (Triggers). A continuación se incluye una breve descripción de cada una de éstas.
Mensajes - tablero de mensajes enviados y recibidos En la sección de mensajes se puede observar cuáles mensajes se han enviado y cuales recibido. Es un espacio para monitoreo y supervisión.
Contactos - contactos y grupos Son los receptores de los mensajes. Pueden ser importados directamente en un .xls (ver sección Contactos y Grupos) o creados a través de interacciones directas. Es decir, una persona puede inscribirse para recibir mensajes a través de un vínculo en internet. A partir de eso, se cuenta con una dirección del contacto, en la cual se envían los mensajes. Se puede ir llenando una base de datos del contacto a través de una interacción directa (preguntas y respuestas) con RapidPro. Cada campo en la base de datos se le llama “atributo”. Estos pueden ser utilizados después para enviar mensajes segmentados a la población interesada.
Flujos de mensajes Los flujos son la programación de varios mensajes de acuerdo a una estructura lógica. Se programa un mensaje a enviar y las respuestas posibles que se pueden obtener de él. A partir de cada respuesta se desencadena un diferente mensaje. La plataforma de RapidPro permite hacer una representación visual y simple de las condiciones lógicas para que pueda haber interacción entre los usuarios. Existen flujos de una o dos vías y se eligen dependiendo de la finalidad que se tenga:
1. Una vía: son mensajes sencillos sin interacción del usuario (ver imagen 1). 2. Dos vías: permiten recibir retroalimentación de los usuarios, así como enviar
mensajes programados para distintos tipos de respuestas (ver imagen 2). Imagen 1 Imagen 2
Campañas Las campañas permiten programar varios flujos de mensajes relacionados en el tiempo (ejemplo: campaña de vacunación). Se planea qué mensaje se enviará, a quiénes dentro de la lista de contactos, y cuándo. Las campañas son la herramienta con más potencial en RapidPro ya que permiten tener una interacción constante con usuarios para un fin específico.
Detonadores o Triggers - activación de flujos Los triggers son palabras que, cuando son utilizadas por los receptores de los mensajes, detonan una respuesta. Se utilizan en inicio para que los receptores de los mensajes puedan darse de alta o baja a un programa utilizando cierta palabra clave. También se pueden utilizar para que el receptor tenga una forma de empezar una conversación en caso de emergencia.
Planeación de proyectos: flujos y campañas Antes de la programación de los flujos en RapidPro se recomienda planear el proyecto completo. Esto va desde los objetivos generales del programa hasta la redacción y corrección de los mensajes fuera de RapidPro. Los recursos sugeridos para la planeación del proyecto son:
● Machote para formato de mensajes ● Descripción metodología de Teoría del Cambio
Una vez que se planee el proyecto y se redacten y aprueben los mensajes, se puede comenzar con la programación de éstos.
Flujos (Flows)
Creación de flujos Los flujos son el corazón de RapidPro. Son la secuencia de mensajes programados y consideran distintas opciones de respuestas por parte de los usuarios. La red de
mensajes en respuesta a una comunicación conforma un flujo. Una campaña (que veremos en el futuro) se forma de varios flujos de mensajes.
A continuación se establecen los pasos a seguir para crear un flujo. Para información adicional, favor de ver el siguiente video:
https://www.youtube.com/watch?v=WcFhpSFhFug&t=26s&index=2&list=PLJeRyBQ6ehwmF8p25hjZrkM7uRYONPO2I
I. Nuevo flujo Elegir la opción de “Flow” en la parte superior derecha de la ventana. Posteriormente dar click en el botón “Create Flow”.
II. Nombrar tu flujo Al definir el nombre del flujo es importante:
1. Usar nombres que sean fáciles de identificar. Por ejemplo, si existen dos programas en una misma organización ayuda la utilización de un prefijo común entre flujos de cada programa.
2. Que exista una secuencia dentro de un mismo proyecto que facilite la programación de campañas. Por ejemplo, el uso de números secuenciales como p_semana_1_d1 y p_semana_2_d3, en donde “p_” hace referencia al programa, y “semana_” a la semana y “d” al día dentro de la semana en la que se enviará el mensaje.
III. Triggers o Detonadores Los activadores o “triggers” son palabras clave que disparan un flujo específico. Por ejemplo, si se elige la palabra HOLA como trigger del flujo P_Flujo_Alta, cuando el usuario envía un mensaje con la palabra HOLA, automáticamente se le enviará el flujo P_Flujo_Alta. No todos los mensajes comienzan con un trigger, la mayoría está programada para enviarse en alguna fecha específica. Se recomienda su uso para darse de alta y de baja de los programas, así como para otros mensajes fuera de las campañas (por ejemplo, mensajes de alerta o de cambio de datos personales). Además, se recomienda mantener una bitácora para catalogar información específica del proyecto, como todos los triggers. Si no hay ningún trigger o detonador para el flujo en cuestión, se puede dejar en blanco.
IV. Create Message (Crear un Mensaje) Una vez elegido el nombre del flujo y sus triggers (opcional), se elige la opción de “Create Message”.
Automáticamente surge la ventana de enviar un mensaje (Send Message). Ésta tiene una lista desplegable con distintas opciones para enviar mensajes al contacto, a un grupo o a un tercero, también para actualizar contactos, etc.
Usualmente los flujos comienzan el envío de un primer mensaje (“Send a response message”), pero también pueden comenzar con otra Acción o con una Regla. Veremos esto más adelante.
V. Wait for Response Al elegir la opción deseada en el paso IV, se escribe el mensaje y se da clic en “ok”. Inmediatamente aparece el mensaje en el tablero con un cuadro rojo abajo.
Para continuar es necesario arrastrar el cuadro rojo, lo cual desplegará de nuevo un menú de opciones.
En este caso, se muestra la ventana de respuesta o “Wait for Response”. Además de “Wait for response” hay una lista desplegable con “reglas” posibles. Estas reglas incluyen esperar una respuesta, correr otro flujo, o dividir el grupo de contactos. Repasaremos algunas de las opciones en la sección de Acciones y Reglas.
Para llenar la ventana “Wait for Response” nos interesan las siguientes secciones:
1. “Save result as” (opcional) - guardar la respuesta: Este será el nombre que aparecerá en el tablero para poder hacer referencia a la respuesta del flujo. Es importante tenerla sólo para usos avanzados. Se recomienda no cambiar el nombre a menos que sea útil, por ejemplo si preguntan el sexo de la persona y después quieren segmentar al grupo. Si se cambia el nombre recomendamos el uso de nombres cortos (de no más de dos palabras) y que NO se repitan dentro del flujo.
2. Elegir una condicional para categorizar la respuesta. Las opciones aparecen en una lista desplegable e incluyen opciones como “comienza con”, “tiene la frase”, etc. El condicional dependerá del tipo de respuesta, si es numérica, fecha, una palabra o frase específica o texto abierto.
*Algunas de las opciones de la lista requieren un paso más para identificar las respuestas. Veremos ejemplos en la sección VI. Tipos de Mensajes y Respuestas.
3. Dar un nombre a cada respuesta esperada. Esto se hace en “categorize as” (categorizar como). Los nombres servirán para categorizar las respuestas y enviar diferentes mensajes a cada una.
Es importante dejar la última fila vacía, esta arrojará la opción de “other”, por si el receptor envía una respuesta fuera del rango aceptado, es decir, que no está en las categorías elegidas.
4. Dar clic en OK.
Un ejemplo:
Si el mensaje dice “Marque 1 si es mujer, 2 si es hombre”, las respuestas se verían de la siguiente manera:
Y el flujo se vería así:
Nota como la opción de “Other” - creada automáticamente - incluye todas las respuestas que no son 1 o 2 y por ende le explica al usuario que cometió un error, le pide que responda con 1 o 2 y regresa a las opciones de respuesta.
VI. Escribir un mensaje para cada respuesta El siguiente paso es escribir un mensaje para cada una de las alternativas de respuesta que se dio en el paso anterior. Para ello, hay que sostener un click sobre el cubo rojo, y jalarlo hacia abajo. Una flecha aparecerá para indicar el lugar en el que quedará el nuevo mensaje. Esto es sólo para efectos internos de organizar el flujo. Lo más importante es llevar el siguiente mensaje a un lugar en el que no haya mensajes previos.
Al dejar ir del click se abrirá automáticamente una ventana de “Send Message” o enviar mensaje. Ahí podemos escribir el mensaje para esa respuesta. Hay que hacer lo mismo para el resto de las respuestas.
Hay ocasiones en las que todas las respuestas llevan al mismo mensaje de seguimiento, en este caso, habrá que escribir una respuesta y después jalar el cuadro rojo del resto para dirigirlo hacia el mensaje. El resultado se verá así:
Es importante llevar a la gente que no respondió algo fuera de las respuestas posibles “other” a un mensaje explicando las opciones de respuesta que tiene.
Un mensaje de respuesta también puede pedir algo más del usuario. En ese caso se vuelve a redactar una pregunta y se dan las opciones de respuesta. Los pasos son iguales del desde el punto IV al punto VI.
El flujo termina cuando no tenemos más preguntas y no damos opciones de respuesta al receptor.
Correr el simulador Una herramienta muy útil para confirmar si nuestro flujo está funcionando de la manera que planeamos es correr el flujo por el simulador que viene incluido en la página de flujos.
Es muy sencillo utilizar el simulador. Sólo hay que darle click y esperar a que surja el primer mensaje. Después hay que participar en las respuestas como si fuéramos un usuario. En caso de que el flujo tenga algún error, nos daremos cuenta en el simulador porque presenta todas las acciones que realiza RapidPro dentro de un flujo (incluyendo a las acciones que no verán los usuarios).
Edición de detalles del flujo A la hora de correr el simulador podremos ver fallas en nuestro flujo que podemos arreglar fácilmente. Hay distintos tipos de edición que podemos necesitar.
Editar algún componente del flujo Para editar algo del flujo sólo hay que dar doble click sobre los mensajes o respuestas y ajustar.
Editar nombre y triggers del flujo Para editar el nombre o algún trigger de un flujo entra a la sección de flows y elige el flujo que deseas editar. Da clic en el botón gris de la esquina superior derecha y elige Edit.
Ahí podrás cambiar el nombre y agregar/quitar/cambiar triggers (no se te olvide guardar tus cambios con “save changes”).
Los mensajes individuales pueden ser editados en cualquier momento entrando al flujo y editando directamente.
Guardar un flujo Los flujos se guardan automáticamente. Si queremos salir podemos dar click sobre el ícono del menú al que queramos.
Problemas comunes:
Qué hacer si los cambios no se guardan Los cambios a flujos de RapidPro se guardan de manera automática. Por lo general, si no se está guardando tu flujo, RapidPro te avisará con un mensaje.
Sin embargo, hay ocasiones en los que no se guardan cambios y RapidPro no te avisa. La razón más común que causa esto, es si el flujo está abierto en más de una ventana
o computadora al mismo tiempo. (Nota: si esto no resuelve el problema, se recomienda borrar el caché del navegador o usar una ventana en modo incognito en Google Chrome).
Enviar Cómo?
Canales de envío Entre los medios por los cuales los usuarios pueden recibir mensajes programados se encuentran: Facebook Messenger, Twitter, Telegram y RapidPro Surveyor Android app. Para más detalles revisar los siguientes manuales:
- Facebook: https://goo.gl/vfpnnF - Twitter: https://goo.gl/vkjpBx
Creación de Campañas Una campaña consiste en enviar un grupo de mensajes en horarios programados en un periodo temporal definido. Para la creación de campañas lo más importante es tomar en cuenta la estructura lógica de éstas. ¿Qué mensajes se enviarán, con qué intención y a quienes? Asimismo, la campaña deberá de prever los datos que se necesiten recopilar para futuros análisis y control de los mensajes. Por ejemplo, se puede preguntar la edad de los participantes y dividirlos en grupos para enviar mensajes relevantes a cada uno. Esto lo aprenderemos en la sección de uso avanzado.
I. Crear Campaña
II. xxssf III. safsefre
Cada campaña se programa para enviar mensajes a los contactos contenidos dentro de un grupo. A cada flujo que se quiere incluir dentro de una campaña, se le denomina evento (Ver Imagen 1). Para cada evento, se debe elegir el flujo que se quiere enviar1, una fecha clave2 (e.g. fecha de nacimiento), su momento de envío3 (e.g. 30 días después de fecha de nacimiento) y un horario4 (e.g. 8:00 am). Ejemplo de un evento: Iniciar flujo Info_bebe1 30 días2 después de fecha de nacimiento3 a las 8:004 am, ver imagen 2).
Imagen 1 Imagen 2
Las campañas son estructuras que permiten programar el envío de flujos de mensajes considerando una fecha clave. Para crear una campaña se debe:
1. Dar click en el botón de Crear campaña 2. Definir nombre de la campaña y especificar el grupo de contactos que serán
parte de la campaña
3. Crear eventos y definir para cada uno fecha y hora de envío. Ver explicación anterior. Es importante incluir en la planeación horas de envío uniformes. (9:00-11:00)
Uso Avanzado:
Tipos de Mensajes y Respuestas Nota: Antes de la redacción de flujos se recomienda ampliamente la preparación del proyecto. Ver la sección de Planeación de flujos y campañas y el manual para el desarrollo de proyectos (encuestas, intervenciones) para más información.
Al redactar un mensaje deberás considerar cuál es el tipo de respuesta buscas. Estos son los tipos de preguntas y respuestas que se utilizan con más frecuencia:
Texto Para preguntas sencillas con una o dos opciones de respuesta corta. Ejemplo: Para confirmar si te quieres inscribir responde Sí o No.
● Respuesta sugerida: Para asegurar que la plataforma acepte más formas de responder (i.e. sí, sip, sipi, ssii), en las opciones de respuesta se puede elegir la opción “starts with” y poner la primera letra de cada respuesta (para “SI”, escribir “s”).
Lista de números Para preguntas con muchas opciones, o cuando las respuestas tienen mucho texto, se recomienda usar una lista de números en donde cada número representa una respuesta. Ejemplo: ¿Cómo calificarías la atención recibida en el centro de salud? 1) excelente, 2) buena, 3) regular, 4) mala
Respuesta sugerida: Para que la plataforma acepte este resultado, se debe elegir la opción “has a number equal to”.
Se puede cambiar la categoría en “categorize as” al texto de cada opción deseada:
Fechas Cuando se pide como respuesta una fecha. Esta puede ser por razones estadísticas (fecha de nacimiento para calcular edad) o para programar campañas (por ejemplo, en el programa misalud materno-infantil, se pregunta la fecha estimada de parto para poder programar los mensajes que se envían por semana con respecto a ésta).
● Respuesta sugerida: Las respuestas de fechas se piden en formato DD.MM.AAAA (es importante especificarlo en el texto del mensaje), ya que es el formato que reconoce RapidPro (ver imagen).
NOTA: Por dificultades que se han presentado en la forma que los usuarios ingresan las fechas, se incorporó un Webhook para que se pueda ingresar la fecha en cualquier formato. Puedes agregar el Webhook a la opción “other” (para más detalles ve a la sección de Webhooks). usar la respuesta del flujo con @flow.[nombre elegido] (por ejemplo, en Update Contact).
Contactos y Grupos
Creación y actualización de contactos Hay distintos métodos para la inclusión y creación de grupos:
1. Por inclusión individual, en pestaña de Contactos al darle click al botón de Crear contacto.
2. Grupo automático al importar contactos con la interfaz o por vía del flujo, es decir, se agregan contactos al grupo cuando se recibe información clave solicitada. Los contactos que pasen por ese flujo, serán almacenados en el grupo elegido.
Grupos Permiten asociar campañas de envío de mensajes a contactos específicos. Cada flujo de mensajes puede incluir instrucciones de “agregar nuevo grupo” (Add to Groups) para agregar a los contactos según la respuesta que den a las preguntas del flujo (Ver imagen 1). Por ejemplo: aquellos usuarios que responden que SÍ saben su fecha de cita se les agrega al grupo CON FECHA; a los que no la saben se les agrega al grupo SIN FECHA. El grupo también se puede utilizar para almacenar contactos inactivos. Los contactos pueden estar en más de un grupo (Ver imagen 2). Además, se recomienda mantener una bitácora para catalogar información específica del proyecto, como los triggers y grupos.
Imagen 1:
Imagen 2:
Acciones y reglas Una vez que se domine la creación de un flujo básico de mensajes de RapidPro, el usuario puede comenzar a explorar otros usos más avanzados. Estos se dividen en dos menús separados: el de Acciones y el de Reglas.
Para cambiar entre el menú de Acciones y Reglas es necesario dar clic en la esquina superior derecha de la ventana de “Send Message”/“Wait for Response”.
Las Acciones (menú de SEND MESSAGE) representan cualquier acción que se toma a partir del flujo. Esto incluye mandar un mensaje, modificar un contacto, empezar otro flujo, enviar un correo electrónico, llamar a un servidor externo (Webhook), entre otras.
Las acciones se organizan en ActionSets - o grupos de acciones dentro de un flujo. Se debe tomar en cuenta que estas Acciones dentro de un ActionSet se ejecutan en orden de arriba a abajo.
Las Reglas (menú de WAIT FOR RESPONSE) no modifican el estado del flujo, si no que representan pruebas de lógica dentro de éste. Las Reglas se usan para “probar” el estado de un flujo, por ejemplo se puede probar la presencia de una palabra en una variable o respuesta, o si el contacto es parte de un grupo en particular.
Al igual que las Acciones, las Reglas también se organizan en RuleSets - grupos de reglas que se ejecutan de izquierda a derecha. Esto quiere decir que la primera regla que pasa la prueba, toma efecto y se ignora el resto.
UN EJEMPLO: En la siguiente imágen se puede ver que seguido la Acción de envío de mensaje “Marque 1 si es mujer, 2 si es hombre.”, encontramos un RuleSet con un grupo de condiciones que se esperan como respuesta del usuario (“wait for response”). Cada una de estas “reglas” se evalúan a la luz de la respuesta recibida.
Cuando el usuario responde a la pregunta RapidPro evalúa la respuesta enviada:
1. Primero, contra la primera regla que dice “si la respuesta es 1, la categoría es mujer”
2. Si la respuesta no es “1”, RapidPro sigue con la segunda regla que dice: “si la respuesta es 2, la categoría es hombre”
3. Si la respuesta tampoco es 2, entonces RapidPro sigue con la tercera regla que dice “si la respuesta no es ni 1 ni 2, envía el mensaje ‘¡No entendí! Por favor responde 1 si eres mujer y 2 si eres hombre’ y regresa al RuleSet anterior.
A continuación se hará una descripción de algunas Acciones y Reglas comúnmente utilizadas en RapidPro.
Acciones Comunes
¿Cómo guardar la respuesta de un usuario? - Update the contact Esta opción se utiliza para guardar variables o información del contacto. Por ejemplo: le pedimos al usuario que nos indique su edad. Cuando nos envía su edad, guardamos esa respuesta con el nombre: usuario_edad (Cambiar el nombre de la respuesta en Save result as. Ver imagen 1). Después de recibir la respuesta, se debe buscar la opción de “update contact” para guardar la variable en la base de datos final siguiendo 2 pasos:
a. Nombrar esta variable en el campo Save to field. Elegir un nombre claro y sencillo para la variable (ej: user_edad). Dar click a opción add new variable.
b. En el campo Value se debe guardar la variable usando un formato común: @flow.nombrederespuesta.category/text. En el ejemplo anterior se guardaría así: @flow.usuario_edad.text (Ver imagen 2)
c. Para saber si debo elegir la opción Category o Text debo observar qué tipo de respuesta se pidió. Si se pide nombre o edad, es decir respuesta en texto libre, se elegirá la opción TEXT. Si la respuesta es una categoría, (por ejemplo: si, no, mujer, hombre) entonces se elige Category.
d. Todas las variables guardadas en “update contact” se almacenan y posteriormente podrán descargarse en la base de datos.
Imagen 1:
Imagen 2:
El flujo anterior se vería así:
Agregar y quitar contactos de un grupo - Add/remove contact to/from group
Agregar - Add contact to a group:
Esta opción permite agregar a los usuarios a uno o más grupos en cualquier punto del flujo. Se puede elegir un grupo que ya existe o crear uno nuevo ahí mismo. Los grupos ya existentes aparecerán en un menú.
Quitar - Remove contact from a group:
Se permite que se eliminen contactos de uno o más grupos a partir de cierto punto. Es la acción contraria a add contact to a group. Esta opción puede servir, por ejemplo, para quitar aquellos usuarios que ya no quieren participar en el programa.
Mandar un correo - Send an email El flujo permite que en un punto determinado se envíe un correo a cualquier dirección electrónica. Se debe elegir una dirección de correo, un tema y escribir el mensaje. Cuando un usuario llegue a ese punto en el flujo, se enviará el mensaje automáticamente. Como se ve en la imagen, en el cuerpo del mensaje se pueden llamar a las variables que ya se han guardado. Para llamar variables de debes escribir siempre @contact y de inmediato se desplegará la lista de variables previamente guardadas. Utilizando el ejemplo anterior, para llamar a la variable y que aparezca en el texto del mensaje, se escribiría así: @contact.user_edad (Ver imagen 1). Esta forma de llamar variables se utiliza en cualquier ocasión en la que se quiera utilizar la información proporcionada. En el mensaje que le llega el usuario se leería así: “Muchas gracias Sandra, solo para confirmar tu edad es 26? (Ver imagen 2)
Imagen 1:
Imagen 2:
Empezar/detonar otro flujo - Start another flow Cuando se llega a cierto punto, el usuario termina el flujo y se re-dirige inmediatamente a los usuarios a un nuevo flujo. Se debe elegir un flujo previamente programado.
Reglas comunes
Partir/dividir el flujo por grupo - Split by group membership Divide el flujo según el grupo(s) al que pertenece el contacto. Al hacerlo se debe elegir el grupo o grupos que se quiere incluir en esta división.
Partir/dividir el flujo por respuesta dentro del flujo - Split by flow field
Partir/dividir el flujo por variable de contacto - Split by contact field: Esta opción permite hacer un “split”: dividir el flujo según variables que se hayan guardado anteriormente. Para hacer esto se usan las variables guardadas con Update Contact (que aparecen en @contact.[NombreVariable])
Por ejemplo: Split by phone number (Ver imagen). Estos splits te permiten mandar un mensaje diferente según las variables que se tengan de cada contacto.
Partir/dividir el flujo por una función/expresión - Split by expression Divide el mensaje inicial utilizando una función.
Nota: Para cambiar entre el menú de Acciones y Reglas es necesario dar clic en la esquina superior derecha de la ventana de “Send Message”/“Wait for Response” (ver detalles de uso de reglas en sección de acciones y reglas).
Descarga de información Se pueden descargar bases de datos con información de los contactos y de su interacción con la plataforma.
Descarga de flujos Descarga de mensajes Descarga de contactos Uso de la API
Webhooks: llamadas a servidores externos
¿Para qué sirven los webhooks? Un Webhook es un programa para obtener y publicar información entre una página web y una aplicación web. En RapidPro, los Webhooks, pueden ser utilizados para enviar, recibir y verificar información que proviene de una fuente externa.
Uno de sus usos es el procesamiento de respuestas de fecha o de información geográfica (nombres de estado o municipio, por ejemplo).
Es decir, cuando existen respuestas que los usuarios comúnmente dan en formatos distintos a los deseados, podemos utilizar Webhooks para armonizar las respuestas.
Webhook de fecha Cuando se requiere pedir una fecha como parte de un flujo, RapidPro utiliza el formato DD.MM.AAAA. Si la fecha se escribe de esta manera, se reconocerá como una fecha. Si no, no lo reconoce. Al utilizar un webhook, se logra traducir diferentes formas de escribir las fechas al formato de fecha normal.
Por ejemplo: si el usuario escribe una fecha así: 23 de marzo del 2018 o 23 marzo 2018, al pasar por el Webhook se reconocerá que es una fecha y se traducirá y almacenará como 23.03.2018 (formato aceptado por RapidPro).
Para programar esto en un flujo, se deben seguir los siguientes pasos:
1. Escribir un mensaje pidiendo una fecha en formato DD.MM.AAAA (ver pasos a detalle en la sección de mensajes con fechas)
2. En el recuadro de respuesta elegir la opción: has a date y elegir un nombre para guardar esta respuesta en Save result as (en la imagen se guarda como “fecha_rota”)
3. En el recuadro de respuesta se mostrarán 2 opciones: is a date y other
4. De la opción is a date, continuar el flujo de forma normal. De esta forma si el usuario escribe la fecha en formato DD.MM.AAAA, continuará el flujo sin necesidad de procesar su respuesta por el Webhook.
5. De la opción Other debe salir un cuadro con la opción make a call to an external server.
○ Elegir la opción GET ○ Pegar el link:
https://rapidpro.datos.gob.mx/date/[email protected]&variable=nombrederespuesta *
*Atención: es importante cambiar nombrederespuesta por el nombre con el que esté guardada su respuesta en el flujo. Utilizando el ejemplo anterior, en donde se guardó la respuesta como fecha_rota el link se escribiría así:
https://rapidpro.datos.gob.mx/date/[email protected]_rota.text&variable=fecha_rota
6. Para guardar variables que pasan por el Webhook: para utilizar las respuestas que pasan por el Webhook se usa @extra.nombrerespuesta (en vez de @flow.response). Por esto es necesario guardar la respuesta para ambas ramas del flujo: is a date y other + Webhook
○ En el ejemplo anterior guardaríamos la fecha_rota que sale de is a date en Update Contact Field, nombraríamos la variable como Fecha Rota y la guardaríamos como @flow.fecha_rota. Mientras que en la rama que sale del Webhook, en Update Contact Field, nombraríamos la variable como Fecha Rota (misma variable) y la guardaríamos como @extra.fecha_rota)
Webhook geográfico - Nombre de estado Este acepta nombres de estados con faltas de ortografía o abreviaturas y las normaliza (por ejemplo, si el usuario escribe “veacruz” el Webhook regresa “Veracruz”)
1. Pregunta el estado y agrega un “Wait for response” :
2. Si la respuesta es algo distinto a 0 (other) se agrega Webhook de estado eligiendo la opción de “Make a call to an external server”
○ Opción GET ○ URL:
https://rapidpro.datos.gob.mx/get_location/edo/[email protected]
■ NOTA: cambiar parte de @flow.respuestaentidad a la respuesta en dónde se dió el estado (en el ejemplo sería @flow.entidad)
3. Para guardar la clave INEGI del estado como variable se usa @extra.cve y para guardar el nombre se usa @extra.nombre
● NO se usa @flow.respuestaentidad, ya que esto dará la respuesta antes de ser procesada por el Webhook)
Términos Básicos
Flujo
Acción
Regla
Grupo
Contacto
Campaña
Detonador/Trigger
Webhook