Appointments API

Création d’un RDV

POST /api/v1/groups/:group_id/appointments?apikey=xxxxxx
{
  "appointment": {
    "date": "2016-01-18 10:30:00",
    "calendar_id": 15,
    "intervention_ids": [21],
    "comments": "",
    "fiche": {
      "id": 48,
      "group_id": 4,
      "firstphone": "06 12 34 56 78"
    }
  }
}
Champ Type Description
fiche object Fiche - Si cet object contient le champ id, la fiche correspondante sera mise à jour avec l'ensemble des champs fournis. Sinon, une nouvelle fiche sera créée avec les champs fournis.
Voir la documentation de Fiche pour plus d'informations.
date datetime Date et heure de début (ex : 2010-01-22 15:00:00)
intervention_ids array of integers Liste d'identifiants d'interventions
calendar_id integer (optionnel) Identifiant de l'agenda. Si ce paramètre n'est pas renseigné, un agenda sera assigné aléatoirement parmi ceux disponibles.
comments text (optionnel) Commentaires du RDV
websource string (255) (optionnel) Identifiant de la "source" du RDV (ex: "application iPhone"). Utilisé par les statistiques uniquement.
from_web boolean (optionnel) Distingue un rendez-vous pris en ligne (from_web = 1) d'un rendez vous pris directement dans l'agenda (from_web = 0). Si ce paramètre n'est pas renseigné, from_web = 1 par défault

En cas de succès, le code HTTP renvoyé est 201 Created. En cas d'erreur, un code HTTP 400 est renvoyé, et le contenu de la réponse peut contenir l'un des codes d’erreurs spécifiques à la prise de RDV suivants :

Code Numerique Code Message
6 MaxRdvNumber Le nombre de rendez vous maximum à été atteint pour cet utilisateur.
7 MintimeBetween Ce rendez vous est trop rapproché du précédant. Veuillez choisir une date ultérieure.
8 MaxRdvPeriod Ce rendez vous est trop éloigné dans le temps. Veuillez choisir une date antérieure.
9 MintimeRdv La date choisie pour ce rendez vous est trop proche dans le temps. Veuillez choisir une date ultérieure.
NotAvailable Ce créneau n'est plus disponible
11 EmailAlreadyExists Cet email est utilisé par un autre utilisateur.
12 SameTimeRdv Cet utilisateur a déja un rendez-vous à cet horaire.
13 EmailNotFound Cet Email n'existe pas.

Important : Les codes d'erreurs: MaxRdvNumber, MintimeBetween, MaxRdvPeriod, MintimeRdv et MintimeAnnulation sont liés au paramétrage du groupe concerné. Ces paramètres peuvent être modifiés par un administrateur.

Lister les RDV chez un groupe

GET /api/v1/groups/:group_id/appointments

Important: Par défaut, seuls les rendez-vous futurs sont retournés.
Pour obtenir également les rendez-vous passés, il suffit de passer le paramètre include_past=1

Dans le retour API, se trouve l'état de rendez-vous. Il est représenté par state=1.
Les valeurs correspondantes à ce paramètre sont : 0 = En Cours, 1 = Venu, 2 = Pas Venu, 3 = En Attente.

Au delà des codes d’erreur REST classiques, la méthode de suppression de RDV peut retourner certains codes d’erreurs spécifiques à la prise de RDV :

Code Numerique Code Message
1 Unauthorized Vous n'avez pas d'authorisations pour cette action
2 InvalidParameter Les paramètres passés ne sont pas valides
3 NoResult Aucun Resultats
4 ServerError Erreur serveur non identifiée.
5 LoginFailed L'authentification a échoué.

Suppression d’un RDV

DELETE /api/v1/groups/:group_id/appointments/:id

Au delà des codes d’erreur REST classiques, la méthode de suppression de RDV peut retourner certains codes d’erreurs spécifiques à la prise de RDV :

Code Numerique Code Message
10 MintimeAnnulation Ce RDV est trop proche pour être annulé par Internet