Il Calendario via API
Il Calendario MyCentralino è il sistema di prese appuntamenti integrato nel centralino: lo usano il pannello, l’agente telefonico AI, la pagina pubblica di prenotazione e, con queste API, il tuo gestionale. Tutti i canali passano dallo stesso motore di disponibilità: uno slot preso al telefono non è prenotabile via API, e viceversa.Il Calendario è incluso per gli account con Agenti AI, MySegretaria o WhatsApp API. Senza uno di questi, gli endpoint rispondono
403 con calendar_not_enabled.Base URL e autenticazione
Come tutta l’API:https://api.mycentralino.com, header X-API-KEY, rate limiting per account. Le risposte sono {"success": true, "data": …} oppure {"success": false, "error": {"code": "…", "message": "…"}}.
Convenzioni
- Date e ore in ora locale del centralino, con campi separati:
date=YYYY-MM-DD,time=HH:MM(24 ore). Niente ISO con offset. Il fuso è dichiarato in ogni risposta (timezone, di normaEurope/Rome); gli istanti UTC (starts_at_utc,ends_at_utc) ci sono in più, mai al posto. - Calendari e tipi di appuntamento si indicano con lo slug (
calendar,event): quello che si legge in GET /v1/calendar/calendars e GET /v1/calendar/events. - Errori con
codestabile e un messaggio in italiano piano. Lo status HTTP dice la famiglia:400richiesta malformata,404non trovato,409conflitto (slot occupato, stato non modificabile),422dati non validi,429troppe richieste,5xxguasto nostro. Idempotency-Key(header, facoltativo, max 200 caratteri) su POST /v1/calendar/bookings: ripetere la stessa chiamata con la stessa chiave restituisce la stessa prenotazione invece di crearne una seconda. Consigliato a chi fa retry.- Le prenotazioni fatte via API nascono con
source: "api";created_byporta il nome della chiave API usata.
Endpoint
Il flusso tipico
- Leggi i tipi di appuntamento con
GET /v1/calendar/eventse scegli lo slug. - Chiedi gli orari liberi con
GET /v1/calendar/availability?event=…. - Prenota uno di quegli orari con
POST /v1/calendar/bookings, con unaIdempotency-Key. - Ricevi gli aggiornamenti con i webhook uscenti, oppure rileggi con
GET /v1/calendar/bookings.
