Panoramica dell'API REST

L'API di timum consente agli sviluppatori di integrare in modo completamente programmatico la prenotazione di appuntamenti nella propria piattaforma come soluzione white-label.

Base URL

Tutte le richieste API vengono inviate al seguente URL di base:

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

HTTPS obbligatorio:

Le richieste HTTP vengono reindirizzate automaticamente a HTTPS. Utilizzi sempre HTTPS. Inoltre, si assicuri di utilizzare www. nell'URL: le richieste senza www. possono causare problemi di reindirizzamento.

Autenticazione

Tutte le richieste API devono essere autenticate con la Sua chiave API. La chiave viene trasmessa nell'intestazione HTTP X-TIMUM-CLIENT-ID:

Autenticazione tramite intestazione
curl -X GET "https://www.timum.de/crms/{crmId}/resources" \
  -H "X-TIMUM-CLIENT-ID: your-api-key" \
  -H "Content-Type: application/json"

Ottenere la chiave API

Riceverà la Sua chiave API (chiamata anche "directUseSecret") da timum al momento della configurazione della Sua integrazione. La chiave è associata al Suo ID CRM e consente l'accesso a tutte le risorse all'interno del Suo contesto CRM.

ID CRM:

Il crmId è il Suo identificativo univoco come partner timum. Viene assegnato una sola volta durante l'integrazione e rimane costante. Tutti i percorsi API contengono questo ID come parametro di percorso.

Formato di riferimento

timum utilizza un formato di riferimento unificato per identificare in modo univoco le entità. I riferimenti sono composti da due parti, separate da @:

Formato di riferimento
{uniqueId}@{platformName}

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

Componenti

ParteDescrizione
uniqueIdL'ID con cui Lei gestisce questa entità nel Suo sistema
platformNameIl Suo suffisso di piattaforma, concordato durante l'integrazione (ad es. "yourCrm", "is24")

Memorizzazione dei riferimenti:

Utilizzi ID che già possiede o che può generare. In caso contrario, memorizzi i riferimenti che utilizza durante la creazione delle entità. Ne avrà bisogno per tutte le operazioni successive su queste entità.

Aree dell'API

L'API è strutturata in base ai casi d'uso:

1. Configurazione iniziale – Initial Setup

Users, Accounts, Providers, Staff - creare la struttura di base

2. Configurazione – Configure Offerings

Resources, Products, Contact Profiles - definire l'offerta

3. Pianificazione degli appuntamenti – Scheduling

Timeslots, Appointments, Participations, Customers

4. Prenotazione – Booking Flow

Endpoint rivolti al consumatore per la prenotazione degli appuntamenti

Formato di risposta

Tutte le risposte API sono in formato JSON. Ogni risposta include un oggetto api-info con le informazioni sulla versione:

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

Risposta di errore

In caso di errori, la risposta contiene un array errors con codici di errore e messaggi:

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

HTTP Status Codes

CodiceSignificatoSituazione tipica
200OKRichiesta riuscita, entità esistente restituita
201CreatedNuova entità creata con successo
202AcceptedAggiornamento accettato con successo
204No ContentRiuscito, ma nessun dato da restituire (ad es. cliente non trovato)
400Bad RequestCampo obbligatorio mancante, formato non valido, riferimento errato
404Not FoundL'entità referenziata non esiste
409ConflictDuplicato rilevato (ad es. email o nome utente già in uso)
412Precondition FailedAppuntamento già prenotato, capacità esaurita

Codici di errore comuni

errorCodeSignificato
201Sovrapposizione temporale con un appuntamento esistente

CORS

L'API supporta il Cross-Origin Resource Sharing (CORS) per le integrazioni basate su browser. Le richieste preflight ricevono una risposta automatica.

Intestazioni 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

Prossimi passi

Per gli utenti finali