Desarrolladores
Una API de entrada. Un webhook de salida.
Yesly se sitúa entre tu sistema y tu cliente. Tú creas la cita; nosotros conseguimos la respuesta y te la devolvemos. Sin plantillas que aprobar, sin operadores que contratar, sin telefonía que operar.
- REST + JSON
- SDK en 5 lenguajes
- Webhooks firmados
- Sandbox con números de prueba
- Importación por CSV
Integración
Tres pasos. Dos son nuestros.
- 01
Crea la cita
Un POST con el cliente, la franja y, si quieres, metadatos propios como el número de pedido. Una a una según las programa tu sistema, o en bloque cada mañana.
POST /v1/appointments - 02
Nosotros recorremos los canales
Primero WhatsApp, SMS si no responde, una llamada si sigue sin responder. Plantillas, números y operadores son cosa nuestra. Tú no haces nada.
whatsapp → sms → voice - 03
Recibe la respuesta
Un webhook firmado con confirmada, cambiada o cancelada, el canal que la consiguió, la nueva franja si la hay y tus metadatos tal cual los enviaste.
appointment.confirmed
- Tiempo hasta la primera confirmación
- Minutos tras tu primer POST
- Integración típica
- Un desarrollador, de dos a cinco días
- Idempotencia
- Por external_id, reintentos seguros
- Reintentos de webhook
- Backoff exponencial durante 24 h
Escalado
El flujo completo, paso a paso.
Tu sistema
Nos envía la cita por API
Se envía el día antes de la cita
Responde → confirmada
SMS
Llega a cualquier móvil, sin datos
Responde → confirmada
Llamada de voz
Voz natural, solo si nada más funcionó
Respondió → confirmada
Sin respuesta · marcada para tu equipo
Confirmada
O cambiada, o cancelada. Webhook a tu sistema.
Integración
Una API y webhooks. En producción en días.
Creas la cita con una llamada. Recibes la respuesta con otra. Sin plantillas que aprobar ni operadores que contratar.
- REST con JSON y claves de API
- SDK para Node.js, Python, PHP, Java y .NET
- Webhooks firmados
- Entorno de pruebas
- Importación por CSV si aún no tienes API
curl -X POST https://api.yesly.io/v1/appointments \
-H "Authorization: Bearer ysk_live_…" \
-H "Content-Type: application/json" \
-d '{
"external_id": "ORD-48213",
"type": "delivery",
"customer": { "name": "Martha", "phone": "+34612345678" },
"slot": { "start": "2026-11-13T09:00:00+01:00", "end": "2026-11-13T11:00:00+01:00" },
"metadata": { "order_id": "PV-18342", "route_id": "BIO-07" }
}'{
"id": "evt_5Hq1Kd",
"type": "appointment.confirmed",
"data": {
"appointment": {
"external_id": "ORD-48213",
"status": "confirmed",
"answer": { "channel": "whatsapp", "at": "2026-11-12T10:04:12+01:00" },
"metadata": { "order_id": "PV-18342", "route_id": "BIO-07" }
}
}
}Confianza
Hablamos con tus clientes. Nos lo tomamos en serio.
Datos en la UE
Procesados y almacenados en centros de datos europeos.
RGPD, con contrato de encargo
Actuamos como encargado del tratamiento, con DPA para cada cliente.
Sobre AWS
Alta disponibilidad, copias automáticas, ISO 27001 y ENS.
Cifrado y webhooks firmados
TLS en todo, claves gestionadas y cada webhook firmado.
Nunca de noche
Nunca más de lo acordado. Tu cliente se da de baja con un mensaje.
Nada se pierde
Cada cita sin respuesta queda marcada para tu equipo.