Esta receta envía un recordatorio antes de una cita y maneja la respuesta cuando alguien necesita cambiarla. Es un buen primer flujo de trabajo porque ejercita contactos, envíos, idempotencia y webhooks en un solo flujo pequeño.
Requisitos previos
- Una cuenta activa con un servicio de mensajería.
- Un cliente de API con acceso de lectura y escritura.
- Una forma de recibir webhooks: un endpoint HTTPS público que tú controles.
- Registros de citas que incluyan un número de teléfono y un identificador estable.
- Crea o actualiza el contacto de la persona que tiene la cita.
- Envía el recordatorio, usando el id de la cita como clave.
- Suscríbete a los eventos de entrega y de mensajes entrantes para saber qué pasó.
- Cuando la persona responda, lee el mensaje y actúa en consecuencia.
Los contactos se identifican por número de teléfono. Si ya tienes el contacto, una sincronización combina los campos que envías y deja el resto intacto.
{
"phone": "+15555550100",
"firstName": "Alex",
"lastName": "Morgan",
"language": "en",
"note": "Appointment 4821"
}Envía el recordatorio al contacto. Usa una clave de idempotencia derivada de la cita para que un reintento, tuyo o de la red, no produzca un segundo recordatorio.
{
"recipients": ["+15555550100"],
"body": "Hi Alex, this is a reminder of your appointment tomorrow at 10:00. Reply C to confirm or R to reschedule.",
"type": "sms"
}Idempotency-Key: appt-4821-reminder-24hUn envío exitoso significa que Furcata aceptó el mensaje. No significa que el mensaje haya llegado. Suscríbete a los eventos de entrega, fallo y mensajes entrantes, y toma esos eventos como tu fuente de verdad.
{
"target_url": "https://example.com/hooks/furcata",
"event": "message.delivered"
}Cuando se dispare el evento de mensaje entrante, lee el cuerpo y enrútalo. Una palabra clave corta es más fácil de procesar que texto libre, así que dile a la persona qué responder en el propio recordatorio.
- Una confirmación no requiere más acciones: marca la cita como confirmada.
- Una solicitud de reprogramación debe llegar a una persona o disparar tu propio flujo de reprogramación.
- Todo lo que no reconozcas igual debe guardarse; alguien va a querer leerlo.
Para un segundo recordatorio, usa una clave distinta; por ejemplo, el mismo id de cita con un sufijo de ventana diferente. Dos recordatorios deben ser dos envíos lógicos.
Si manejas varios servicios, mantén el recordatorio en el número que la persona ya asocia contigo, para que el mensaje sea reconocible.
Para citas en las que no obtener respuesta sería costoso, un mensaje de voz es un empujón más fuerte que un texto. La voz se configura en la aplicación, no a través de la API REST.
Siguiente receta
Las actualizaciones de pedidos y entregas usan los mismos bloques de construcción y agregan una fuente de eventos desde tu tienda.
Actualizaciones de pedidos y entregas