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:
https://www.timum.de
HTTPS obbligatorio:
Autenticazione
Tutte le richieste API devono essere autenticate con la Sua chiave API. La chiave viene trasmessa nell'intestazione HTTP X-TIMUM-CLIENT-ID:
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:
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 @:
{uniqueId}@{platformName}
Beispiele:
- 12345@yourCrmUser (User-Referenz)
- abc-def-123@yourCrmAccount (Account-Referenz)
- property-42@yourCrmResource (Ressourcen-Referenz)
Componenti
| Parte | Descrizione |
|---|---|
uniqueId | L'ID con cui Lei gestisce questa entità nel Suo sistema |
platformName | Il Suo suffisso di piattaforma, concordato durante l'integrazione (ad es. "yourCrm", "is24") |
Memorizzazione dei riferimenti:
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:
{
"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:
{
"api-info": {
"version": "1"
},
"errors": [
{
"errorCode": "201",
"message": "Das überlappt mit einem anderen Termin."
}
]
}
HTTP Status Codes
| Codice | Significato | Situazione tipica |
|---|---|---|
200 | OK | Richiesta riuscita, entità esistente restituita |
201 | Created | Nuova entità creata con successo |
202 | Accepted | Aggiornamento accettato con successo |
204 | No Content | Riuscito, ma nessun dato da restituire (ad es. cliente non trovato) |
400 | Bad Request | Campo obbligatorio mancante, formato non valido, riferimento errato |
404 | Not Found | L'entità referenziata non esiste |
409 | Conflict | Duplicato rilevato (ad es. email o nome utente già in uso) |
412 | Precondition Failed | Appuntamento già prenotato, capacità esaurita |
Codici di errore comuni
| errorCode | Significato |
|---|---|
201 | Sovrapposizione 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.
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
- Initial Setup - Inizi creando Users e Accounts
- Configure Offerings - Definisca risorse e prodotti
- Scheduling - Crei disponibilità e appuntamenti
- Booking Flow - Integri la prenotazione degli appuntamenti
