Calendar API

Liste des agendas du groupe

GET /api/v1/groups/:group_id/calendars

Liste des agendas sur lesquels une intervention est disponible

GET /api/v1/groups/:group_id/calendars?intervention_ids[]=:intervention_id

Il est également possible de demander à l'API les agendas sur lesquels plusieurs interventions sont disponbles car le paramètre intervention_ids est une liste. Par exemple pour demander les interventions d'ids respectifs 21 et 23, on utilisera les paramètres d'URL suivants : ?intervention_ids[]=21&intervention_ids[]=23

Liste des agendas d'un calendarset

GET /api/v1/groups/:group_id/calendars?calendarset_ids[]=:calendarset_id

Il est également possible de demander à l'API les agendas de plusieurs calendarset. Par exemple pour demander les agendas des calendarsets d'ids respectifs 8 et 12, on utilisera les paramètres d'URL suivants : ?calendarset_ids[]=8&calendarset_ids[]=12

Ajout d'un agenda

POST /api/v1/groups/:group_id/calendars?apikey=xxxxxx
{
   "calendar": {
      "group_id": 4,
      "name": "Agenda de test"
   }
}

Modification d'un agenda

PUT /api/v1/groups/:group_id/calendars/:calendar_id?apikey=xxxxxx
{
   "calendar": {
      "publicname": "Agenda ouvert à Internet"
   }
}

Suppression d'un agenda

DELETE /api/v1/groups/:group_id/calendars/:calendar_id

Cette opération ne supprime pas complètement l'agenda ! Elle passe l'attribut deleted à true. L'agenda peut ainsi être restauré plus tard :

PUT /api/v1/groups/:group_id/calendars/:calendar_id?apikey=xxxxxx
{
   "calendar": {
      "deleted": false
   }
}

Champs standards:

Champ Type Description
group_id integer ID de l'objet de type « Group » auquel il est lié
calendarset_id integer (optionnel) ID de l'objet de type « Calendarset » auquel il est lié (si il y a des groupes d'agendas)
name string(255) Nom de l'agenda
address string(255) (optionnel) Adresse si différente de celle du groupe.
zipcode string(16) (optionnel) Code postal si différent de celui du groupe.
city string(64) (optionnel) Ville si différente de celle du groupe.
sort integer (optionnel) Entier permettant de gérer l'ordre des agendas (ordre d'affichage dans l'Interface Pro et dans l'Interface de prise de RDV par Internet).

Champs liés à la prise de RDV par Internet :

Champ Type Description
publicname string(255) Nom tel que visible sur l'Interface de prise de RDV par Internet. Important Si ce nom est vide, cet agenda ne sera pas disponible à la prise de RDV par Internet.
generate_interval integer Spécifie l'intervalle de génération des disponibilités sur l'interface de prise de RDV par Internet. (Exemple: Si vous spécifiez 15 comme valeur, les RDV seront proposés toutes les 15minutes sur internet, par exemple : 09h00 / 09h15 / 09h30 etc … ) (15 par défaut)
mintime_rdv integer Valeur en minutes du temps minimum jusqu'au quel les RDV seront proposés sur l'Interface de prise de RDV par Internet. (Exemple : pour minimum 3 jours avant le RDV (valeur : 3j x 24h x 60min = 4320min ), vos clients peuvent réserver un RDV pour le 10 janvier 2010 jusqu'au 7 janvier 2010. ) Important Pour permettre aux utilisateurs de prendre RDV jusqu'au dernier moment, la valeur doit être 0 . (0 par défaut soit « jusqu'au dernier moment »)
maxrdv_period integer Valeur en minutes du temps limite au delà duquel la prise de RDV sera bloquée sur l'interface de prise de RDV par Internet. (Exemple: pour jusqu'à 1 mois à l'avance (valeur: 31j x 24h x 60min = 44640min ), si nous sommes 10 mars 2010, les clients pourront prendre RDV jusqu'au 10 avril 2010. Les disponibilités ultérieures de l'agenda ne seront pas proposées) (131400 par défaut soit 3mois)
mintime_annulation integer Valeur en minutes représentant combien de temps avant le RDV les utilisateurs peuvent annuler leur RDV sur l'interface en ligne de prise de RDV. (Exemple : pour 4 jours avant le RDV, la valeur doit être 4j x 24h x 60min = 5760minutes) (2880 par défaut soit 2jours)