Vue d'ensemble de l'API REST

L'API timum permet aux développeurs d'intégrer entièrement la prise de rendez-vous par programmation dans votre plateforme, sous forme de solution en marque blanche.

Base URL

Toutes les requêtes API sont envoyées à l'URL de base suivante :

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

HTTPS requis :

Les requêtes HTTP sont automatiquement redirigées vers HTTPS. Utilisez toujours HTTPS. Assurez-vous également d'utiliser www. dans l'URL - les requêtes sans www. peuvent entraîner des problèmes de redirection.

Authentification

Toutes les requêtes API doivent être authentifiées avec votre clé API. La clé est transmise dans l'en-tête HTTP X-TIMUM-CLIENT-ID :

Authentification via l'en-tête
curl -X GET "https://www.timum.de/crms/{crmId}/resources" \
  -H "X-TIMUM-CLIENT-ID: your-api-key" \
  -H "Content-Type: application/json"

Obtenir une clé API

Vous recevrez votre clé API (également appelée "directUseSecret") de la part de timum lors de la mise en place de votre intégration. La clé est liée à votre ID CRM et permet d'accéder à toutes les ressources de votre contexte CRM.

ID CRM :

Le crmId est votre identifiant unique en tant que partenaire timum. Il est attribué une seule fois lors de l'intégration et reste constant. Tous les chemins d'API contiennent cet ID en tant que paramètre de chemin.

Format de référence

timum utilise un format de référence unifié pour identifier les entités de manière unique. Les références se composent de deux parties, séparées par @ :

Format de référence
{uniqueId}@{platformName}

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

Composants

PartieDescription
uniqueIdL'ID sous lequel vous gérez cette entité dans votre système
platformNameVotre suffixe de plateforme, convenu lors de l'intégration (par ex. "yourCrm", "is24")

Enregistrement des références :

Utilisez des ID que vous possédez déjà ou que vous pouvez générer. Sinon, enregistrez les références que vous utilisez lors de la création des entités. Vous en aurez besoin pour toutes les opérations ultérieures sur ces entités.

Domaines de l'API

L'API est structurée par cas d'usage :

1. Configuration initiale – Initial Setup

Users, Accounts, Providers, Staff - mettre en place la structure de base

2. Configuration – Configure Offerings

Resources, Products, Contact Profiles - définir l'offre

3. Planification des rendez-vous – Scheduling

Timeslots, Appointments, Participations, Customers

4. Réservation – Booking Flow

Endpoints orientés consommateur pour la réservation de rendez-vous

Format de réponse

Toutes les réponses de l'API sont au format JSON. Chaque réponse contient un objet api-info avec des informations de version :

Réponse réussie (exemple : User créé)
{
  "api-info": {
    "version": "1"
  },
  "user": {
    "reference": "12345@yourCrm",
    "email": "max@example.com",
    "username": "maxmustermann",
    "firstName": "Max",
    "lastName": "Mustermann",
    "phone": null,
    "mobile": null
  }
}

Réponse d'erreur

En cas d'erreur, la réponse contient un tableau errors avec les codes d'erreur et les messages :

Réponse d'erreur
{
  "api-info": {
    "version": "1"
  },
  "errors": [
    {
      "errorCode": "201",
      "message": "Das überlappt mit einem anderen Termin."
    }
  ]
}

HTTP Status Codes

CodeSignificationSituation typique
200OKRequête réussie, entité existante renvoyée
201CreatedNouvelle entité créée avec succès
202AcceptedMise à jour acceptée avec succès
204No ContentRéussi, mais aucune donnée à renvoyer (par ex. client introuvable)
400Bad RequestChamp obligatoire manquant, format invalide, référence incorrecte
404Not FoundL'entité référencée n'existe pas
409ConflictDoublon détecté (par ex. e-mail ou nom d'utilisateur déjà utilisé)
412Precondition FailedRendez-vous déjà réservé, capacité épuisée

Codes d'erreur courants

errorCodeSignification
201Chevauchement temporel avec un rendez-vous existant

CORS

L'API prend en charge le Cross-Origin Resource Sharing (CORS) pour les intégrations basées sur navigateur. Les requêtes preflight reçoivent une réponse automatique.

En-têtes 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

Prochaines étapes

Pour les utilisateurs finaux