API abierta y servidor MCP.
Todo lo que hace la app del paciente también se puede hacer desde su propio software o desde un asistente de IA. Es una demostración con datos simulados, sin autenticación por ahora: ninguna clínica real es alcanzable y los datos se reinician.
URL base
https://adelantesalud.comTodas las respuestas son JSON; CORS abierto. Errores siempre 4xx con { error, message } y el mensaje en español: 400 entrada inválida, 404 id desconocido, 409 cambio ya no posible u oferta vencida.
Encabezado opcional x-adelante-actor: mobile-app | mcp; se guarda en la bitácora. Cualquier otro valor se registra como api.
REST · /api/v1
| Método | Ruta | Cuerpo / query | Devuelve |
|---|---|---|---|
| GET | /api/v1/sites | — | [{ id, name, municipality, queues: [{ id, name, isOpen }] }] |
| GET | /api/v1/queues/{queueId} | — | { siteName, queueName, nowServing[], nextUp[] } (solo turnos, sin nombres) |
| POST | /api/v1/queues/{queueId}/join | { fullName, phone, language?: "ES"|"EN" } | { visitId, ticket } |
| GET | /api/v1/queues/{queueId}/next-available | ?after=ISO (default: ahora) | { slotTime: ISO | null } |
| GET | /api/v1/visits/{visitId} | — | { id, state, ticket, queueName, siteName, lang, scheduledAt, travelMinutes, position, etaMinutes, offer } |
| POST | /api/v1/visits/{visitId}/en-route | — | { ok: true } |
| POST | /api/v1/visits/{visitId}/arrived | — | { ok: true } |
| POST | /api/v1/visits/{visitId}/cancel | — | { ok: true } |
| POST | /api/v1/offers/{offerId}/accept | — | { ok: true } |
| POST | /api/v1/offers/{offerId}/decline | — | { ok: true } |
Ejemplo: entrar a una fila y consultar el turno
curl -X POST https://adelantesalud.com/api/v1/queues/QUEUE_ID/join \
-H 'content-type: application/json' -H 'x-adelante-actor: mobile-app' \
-d '{"fullName":"Ana Pérez","phone":"787-555-1234"}'
# → { "visitId": "…", "ticket": "A-14" }curl https://adelantesalud.com/api/v1/visits/VISIT_ID
# → { "state": "WAITING", "ticket": "A-14", "position": 3, "etaMinutes": 25, … }MCP
Servidor MCP por Streamable HTTP, sin estado (no requiere sesión SSE). Las mismas operaciones que la API REST; el actor en la bitácora es mcp.
https://adelantesalud.com/api/mcpHerramientas
listar_clinicas
Lista las clínicas y sus filas.
estado_fila
Pizarra de una fila: atendiendo ahora y próximos (solo turnos).
estado_turno
Estado, posición y tiempo estimado de un turno.
unirse_a_fila
Entra a una fila con nombre y teléfono; devuelve el turno.
voy_en_camino
Avisa que el paciente va en camino.
llegue
Avisa que el paciente llegó.
cancelar_turno
Cancela un turno.
proximo_disponible
Próximo espacio libre de una fila.
aceptar_oferta
Acepta un espacio recuperado que se le ofreció al paciente.
Conectar un cliente
Claude Code
claude mcp add --transport http adelante https://adelantesalud.com/api/mcp
Claude Desktop (o cualquier cliente con config JSON)
{
"mcpServers": {
"adelante": { "type": "http", "url": "https://adelantesalud.com/api/mcp" }
}
}Otros clientes
Cualquier cliente MCP: transporte Streamable HTTP, sin estado, sin autenticación. Apunte a la URL de arriba.
¿Preguntas o necesita autenticación para un piloto real? Escríbanos. hola@adelantesalud.com