Request to Developer – Festiva! Automation
Project:
Complete automation of Festiva! (tourism discounts app in Argentina) using Make, Google Sheets, Mercado Pago, Cloudinary, and WhatsApp Business API.
General Objective
I want the customer journey to be 100% automated:
- The tourist fills out a form on the website.
- A payment link is generated in Mercado Pago and stored in a Google Sheet.
- When the payment is confirmed, the sheet is updated.
- If the payment is approved:
- A unique scannable QR is generated.
- That QR is inserted into an image template with Festiva! branding in Cloudinary.
- The QR URL is stored in the sheet.
- The client automatically receives a WhatsApp message with their QR.
- The service provider can scan the QR and validate online whether the pass is approved and valid.
- During the validity period of the pass, the client will receive 1 promotional WhatsApp message per day (image + text) defined in another sheet.
Scenario A – Payment Generation
- Capture data from the web form (name, phone, city, date, pass type, price).
- Create a unique
order_id. - Save a row in Google Sheets with
status = initiated. - Create a payment preference in Mercado Pago (
external_reference = order_id,notification_url = Webhook B). - Update the row with the payment link and
status = pending.
Scenario B – Payment Confirmation + QR
- Receive notification from Mercado Pago (Webhook B).
- Filter only events of type payment.
- Make a GET request to Mercado Pago with
data.idto retrieve details: status, external_reference, method, amount, date. - Find the corresponding row in Google Sheets using
external_reference. - Update the row with status (
approved, pending, rejected) and payment data. - Prevent duplicates with Data Store (if the same payment was already processed, don’t repeat).
- If approved:
- Generate a QR with
FESTIVA|order_id|voucher_type|start_date. - Upload it to Cloudinary and transform it into an image with the Festiva! template:
- Festiva logo.
- QR in the center (scannable).
- Violet/orange brand colors.
- Text with pass type and validity dates.
- Save the final URL in the sheet.
- Automatically send a WhatsApp message to the client with that image.
- Generate a QR with
Scenario C – QR Validation
- Each QR must contain a unique URL to the validator.
- The validator (another scenario in Make):
- Receives
order_idand token. - Checks Google Sheets.
- Returns a simple HTML page:
VALID: pass approved and valid (green screen with details).
EXPIRED: if the validity date has passed.
INVALID: if never approved or data does not match.
- Receives
- That response must open on any mobile phone when scanning the QR.
Scenario D – Daily WhatsApp Promotions
- Scheduler in Make: every day at 10:00 AM (Argentina).
- Search Google Sheets for all clients with an approved and valid pass.
- Calculate “stay day” = today – start_date.
- Look up in the
promociones_diariassheet the corresponding promo:- day, image_url (in Cloudinary), and text.
- Send a WhatsApp message with the image and text.
- Prevent duplicates: don’t send the same day twice to the same client.
- Only send if the client has
marketing_opt_in = true.
Deliverables
- Scenarios A, B, C, and D fully working in Make, using my accounts (Make, Mercado Pago, Cloudinary, WhatsApp API, Google).
- Organized Google Sheets:
festiva_ventas(sales, payments, QR).promociones_diarias(promo catalog with day, image, text).
- Real test of the entire flow:
Form → Payment → Sheet → QR → Validation → WhatsApp → Daily Promo. - Documentation:
- Screenshots of each module in Make.
- Demonstration video of the full flow.
- List with accesses and credentials under my control.
Conditions
- All accounts must be created with my data and under my control.
- The developer works as a guest/collaborator.
- The project is considered finished when:
- I can make a test payment and see the entire flow working.
- QR codes with branding are generated and sent via WhatsApp.
- Providers can validate QR and see valid/expired status.
- Daily WhatsApp promos are sent according to the sheet.
Pedido al programador – Automatización Festiva!
Proyecto:
Automatización completa de Festiva! (App de descuentos turísticos en Argentina) usando Make, Google Sheets, Mercado Pago, Cloudinary y WhatsApp Business API.
Objetivo General
Quiero que el recorrido del cliente sea 100% automático:
-
El turista completa un formulario en la web.
-
Se genera un link de pago en Mercado Pago y se guarda en una planilla de Google Sheets.
-
Cuando el pago se confirma, la planilla se actualiza.
-
Si el pago está aprobado:
-
Se genera un QR único y escaneable.
-
Ese QR se inserta dentro de una plantilla de imagen con el branding Festiva! en Cloudinary.
-
La URL del QR se guarda en la planilla.
-
El cliente recibe automáticamente un mensaje de WhatsApp con su QR.
-
-
El prestador de servicio puede escanear el QR y validar en línea si el pase está aprobado y vigente.
-
Además, durante la vigencia del pase, el cliente recibirá 1 mensaje promocional diario por WhatsApp (imagen + texto) definido en otra planilla.
Escenario A – Generación de pago
-
Capturar datos del formulario web (nombre, teléfono, ciudad, fecha, tipo de pase, precio).
-
Crear un order_id único.
-
Guardar fila en Google Sheets con estado =
initiated. -
Crear preferencia de pago en Mercado Pago (
external_reference = order_id,notification_url = Webhook B). -
Actualizar fila con link de pago y estado =
pending.
Escenario B – Confirmación de pago + QR
-
Recibir notificación de Mercado Pago (Webhook B).
-
Filtrar solo eventos de tipo
payment. -
Hacer GET a Mercado Pago con
data.idpara traer datos: status, external_reference, método, monto, fecha. -
Buscar fila correspondiente en Google Sheets usando
external_reference. -
Actualizar fila con estado (
approved,pending,rejected) y datos de pago. -
Evitar duplicados con Data store (si el mismo pago ya fue procesado, no repetir).
-
Si está aprobado:
-
Generar un QR con
FESTIVA|order_id|voucher_type|start_date. -
Subirlo a Cloudinary y transformarlo en una imagen con plantilla Festiva!:
-
Logo de Festiva.
-
QR al centro (escaneable).
-
Colores violeta/naranja.
-
Texto con tipo de pase y fechas de vigencia.
-
-
Guardar URL final en la planilla.
-
Enviar mensaje automático por WhatsApp al cliente con esa imagen.
-
Escenario C – Validación del QR
-
Cada QR debe contener una URL única al validador.
-
El validador (otro escenario en Make):
-
Recibe
order_idytoken. -
Consulta Google Sheets.
-
Devuelve una página HTML simple:
-
VÁLIDO: pase aprobado y vigente (pantalla verde con datos). -
VENCIDO: si ya pasó la fecha de vigencia. -
INVÁLIDO: si nunca fue aprobado o los datos no coinciden.
-
-
-
Esa respuesta debe abrirse en cualquier celular al escanear el QR.
Escenario D – Promos diarias en WhatsApp
-
Scheduler en Make: todos los días a las 10:00 AM (Argentina).
-
Buscar en Google Sheets a todos los clientes con pase aprobado y vigente.
-
Calcular “día de estadía” (
today - start_date). -
Buscar en hoja
promociones_diariasla promo correspondiente:day,image_url(en Cloudinary) ytexto.
-
Enviar mensaje por WhatsApp con la imagen y el texto.
-
Evitar duplicados: no enviar dos veces el mismo día al mismo cliente.
-
Solo enviar si el cliente tiene
marketing_opt_in = true.
Entregables
-
Escenarios A, B, C y D funcionando en Make, usando mis cuentas (Make, Mercado Pago, Cloudinary, WhatsApp API, Google).
-
Planillas de Google organizadas:
-
festiva_ventas(ventas, pagos, QR). -
promociones_diarias(catálogo de promociones con día, imagen y texto).
-
-
Prueba real de todo el flujo:
- Formulario → Pago → Planilla → QR → Validación → WhatsApp → Promo diaria.
-
Documentación:
-
Capturas de cada módulo en Make.
-
Video demostrativo del flujo completo.
-
Lista con accesos y credenciales bajo mi control.
-
Condiciones
-
Todas las cuentas deben crearse con mis datos y estar bajo mi control.
-
El programador trabaja como invitado/colaborador.
-
El trabajo se considera terminado cuando:
-
Puedo hacer un pago de prueba y ver todo el recorrido funcionando.
-
Se generan los QR con branding y se envían por WhatsApp.
-
Los prestadores pueden validar QR y ver estado vigente/vencido.
-
Se envían las promociones diarias en WhatsApp según planilla.
-