No atendemos emergencias vitales: llama al 112.

+34 611 673 280

DesarrolladoresAPI v1

Referencia

Ejemplos de código

Ejemplos listos para copiar en curl, JavaScript/TypeScript, Python, PHP, Java y C# para crear, consultar y cancelar avisos y para verificar los webhooks.

Última revisión: 1 de octubre de 2026

Todos los ejemplos leen la URL base y la clave de dos variables de entorno, para que el mismo código sirva en pruebas y en producción:

Shell
export SERAD_API_URL="https://sandbox-api.saludenruta.es/api/integrations/v1"   # en producción: https://api.saludenruta.es/api/integrations/v1
export SERAD_API_KEY="srd_test_…"

Elige tu lenguaje en cualquier bloque: la elección se recuerda en todos los ejemplos de la documentación.

Crear un aviso

Con Idempotency-Key para poder reintentar sin duplicar (idempotencia). Todos los campos, en avisos.

curl -X POST "$SERAD_API_URL/visits" \
  -H "X-Api-Key: $SERAD_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: crm-exp-2026-004512-1" \
  -d '{
    "patient": { "firstName": "María", "lastName": "García López", "documentType": "DNI",
                 "documentNumber": "12345678Z", "birthDate": "1948-05-17", "phone": "+34600111222" },
    "address": { "line1": "Calle de Alcalá 120", "line2": "3º B", "postalCode": "28009", "city": "Madrid" },
    "serviceTypeCode": "GENERAL_CONSULTATION",
    "priority": "URGENT",
    "reason": "Fiebre alta desde ayer, 39 ºC",
    "externalRef": "EXP-2026-004512"
  }'

Consultar un aviso

curl "$SERAD_API_URL/visits/$VISIT_ID" \
  -H "X-Api-Key: $SERAD_API_KEY"

Cancelar un aviso

Solo mientras esté PENDING o ASSIGNED; si no, 409 y hay que llamar a la centralita (cancelar).

curl -X POST "$SERAD_API_URL/visits/$VISIT_ID/cancel" \
  -H "X-Api-Key: $SERAD_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "reason": "El paciente ya no necesita la visita" }'

Verificar un webhook

La función de verificación, en cada lenguaje. La explicación completa (y cómo integrarla en Express, Flask, Spring o ASP.NET Core) está en webhooks.

# Calcula la firma esperada de un cuerpo guardado en body.json, para comparar a mano.
TIMESTAMP=1790847600
printf '%s.%s' "$TIMESTAMP" "$(cat body.json)" \
  | openssl dgst -sha256 -hmac "$SERAD_WEBHOOK_SECRET" -hex \
  | sed 's/^.* /sha256=/'

¿Falta algo o algo no cuadra con lo que ves? Escribe al equipo técnico: info@saludenruta.es.