Visión general de la API REST

La API de timum permite a los desarrolladores integrar de forma totalmente programática la reserva de citas en su plataforma como solución de marca blanca.

Base URL

Todas las solicitudes de la API se envían a la siguiente URL base:

API Base URL
https://www.timum.de

HTTPS obligatorio:

Las solicitudes HTTP se redirigen automáticamente a HTTPS. Utilice siempre HTTPS. Además, asegúrese de utilizar www. en la URL: las solicitudes sin www. pueden provocar problemas de redirección.

Autenticación

Todas las solicitudes de la API deben autenticarse con su clave de API. La clave se transmite en el encabezado HTTP X-TIMUM-CLIENT-ID:

Autenticación mediante encabezado
curl -X GET "https://www.timum.de/crms/{crmId}/resources" \
  -H "X-TIMUM-CLIENT-ID: your-api-key" \
  -H "Content-Type: application/json"

Obtención de la clave de API

Recibirá su clave de API (también llamada "directUseSecret") de timum al configurar su integración. La clave está vinculada a su ID de CRM y permite el acceso a todos los recursos dentro de su contexto de CRM.

ID de CRM:

El crmId es su identificador único como partner de timum. Se asigna una única vez durante la integración y permanece constante. Todas las rutas de la API contienen este ID como parámetro de ruta.

Formato de referencia

timum utiliza un formato de referencia unificado para identificar entidades de forma inequívoca. Las referencias constan de dos partes separadas por @:

Formato de referencia
{uniqueId}@{platformName}

Beispiele:
- 12345@yourCrmUser          (User-Referenz)
- abc-def-123@yourCrmAccount (Account-Referenz)
- property-42@yourCrmResource (Ressourcen-Referenz)

Componentes

ParteDescripción
uniqueIdEl ID con el que gestiona esta entidad en su sistema
platformNameSu sufijo de plataforma, acordado durante la integración (p. ej., "yourCrm", "is24")

Almacenamiento de referencias:

Utilice ID que ya tenga o que pueda generar. De lo contrario, guarde las referencias que utilice al crear entidades. Las necesitará para todas las operaciones posteriores sobre estas entidades.

Áreas de la API

La API está estructurada por casos de uso:

1. Configuración inicial – Initial Setup

Users, Accounts, Providers, Staff - crear la estructura básica

2. Configuración – Configure Offerings

Resources, Products, Contact Profiles - definir la oferta

3. Planificación de citas – Scheduling

Timeslots, Appointments, Participations, Customers

4. Reserva – Booking Flow

Endpoints orientados al consumidor para la reserva de citas

Formato de respuesta

Todas las respuestas de la API están en formato JSON. Cada respuesta incluye un objeto api-info con información de versión:

Respuesta correcta (ejemplo: User creado)
{
  "api-info": {
    "version": "1"
  },
  "user": {
    "reference": "12345@yourCrm",
    "email": "max@example.com",
    "username": "maxmustermann",
    "firstName": "Max",
    "lastName": "Mustermann",
    "phone": null,
    "mobile": null
  }
}

Respuesta de error

En caso de errores, la respuesta contiene un array errors con códigos de error y mensajes:

Respuesta de error
{
  "api-info": {
    "version": "1"
  },
  "errors": [
    {
      "errorCode": "201",
      "message": "Das überlappt mit einem anderen Termin."
    }
  ]
}

HTTP Status Codes

CódigoSignificadoSituación típica
200OKSolicitud correcta, entidad existente devuelta
201CreatedNueva entidad creada correctamente
202AcceptedActualización aceptada correctamente
204No ContentCorrecto, pero sin datos que devolver (p. ej., cliente no encontrado)
400Bad RequestFalta un campo obligatorio, formato no válido, referencia incorrecta
404Not FoundLa entidad referenciada no existe
409ConflictDuplicado detectado (p. ej., correo electrónico o nombre de usuario ya en uso)
412Precondition FailedCita ya reservada, capacidad agotada

Códigos de error comunes

errorCodeSignificado
201Solapamiento temporal con una cita existente

CORS

La API admite Cross-Origin Resource Sharing (CORS) para integraciones basadas en navegador. Las solicitudes preflight se responden automáticamente.

Encabezados CORS
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: POST, GET, OPTIONS, PUT, DELETE
Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept, Authorization, X-Auth-Token

Próximos pasos

Para usuarios finales