View Categories

Consulter, annuler et clôturer des rendez-vous avec l’API

Cette page décrit la ressource /api/public/appointments. La génération de la clé d’API et les conventions communes sont décrites dans la page Utiliser l’API Apenday. Les identifiants d’événement et d’agence portés par les champs meeting_id et agency_id se résolvent avec la page Retrouver vos identifiants d’événements et d’agences avec l’API.

Lister vos rendez-vous #

curl "https://app.apenday.com/api/public/appointments?itemsPerPage=50" \
  -H "X-AUTH-TOKEN: VOTRE_CLE_API" \
  -H "Accept: application/ld+json"

La collection renvoie les rendez-vous du périmètre de votre clé. L’ordre n’est pas garanti sans paramètre order.

Filtrer et trier la liste #

ParamètreEffet
date[after], date[before]Date de début postérieure ou antérieure à la valeur, borne incluse
date[strictly_after], date[strictly_before]Mêmes filtres, borne exclue
statusStatut exact. Répéter status[] pour plusieurs valeurs
searchRecherche partielle dans les réponses au formulaire et dans les paramètres UTM du rendez-vous
order[date], order[created_at], order[id]Tri, valeur asc ou desc

Les dates s’écrivent au format ISO 8601, par exemple 2026-09-01T00:00:00+02:00. Elles sont converties en UTC avant comparaison.

Statuts possibles : scheduled, terminated, missed, cancelled, cancelled_by_consultant.

curl -G "https://app.apenday.com/api/public/appointments" \
  -H "X-AUTH-TOKEN: VOTRE_CLE_API" \
  -H "Accept: application/ld+json" \
  --data-urlencode "date[after]=2026-09-01T00:00:00+02:00" \
  --data-urlencode "status=scheduled" \
  --data-urlencode "order[date]=asc"

Les champs d’un rendez-vous #

ChampTypeContenu
idchaîneIdentifiant du rendez-vous
meeting_idchaîneIdentifiant de l’événement
meeting_namechaîneNom de l’événement
meeting_technical_namechaîne ou nullNom technique de l’événement
meeting_typechaînedefault, call, video ou other
statuschaîneStatut du rendez-vous
datechaîneDate et heure de début, au format ISO 8601 avec décalage horaire
end_datechaîneDate et heure de fin, même format
consultantstableauConseillers affectés, chacun avec name, email et external_id
customer_firstnamechaînePrénom saisi dans le formulaire
customer_lastnamechaîneNom saisi dans le formulaire
customer_emailchaîneAdresse e-mail saisie dans le formulaire
customer_phone_numberchaîneNuméro de téléphone saisi dans le formulaire
other_form_valuesobjetLes autres réponses au formulaire, plus createdAt et updatedAt
agency_namechaîne ou nullNom de l’agence
agency_identier ou nullIdentifiant Apenday de l’agence
agency_external_idchaîne ou nullIdentifiant de l’agence dans votre système
agency_crm_idchaîne ou nullIdentifiant de l’agence dans votre CRM
satisfaction_scoreentier ou nullNote de l’enquête de satisfaction
satisfaction_commentchaîne ou nullCommentaire de l’enquête de satisfaction
utm_campainchaîne ou nullParamètre UTM de campagne
utm_sourcechaîne ou nullParamètre UTM de source
utm_mediumchaîne ou nullParamètre UTM de support
tagstableauLibellés des tags posés sur le rendez-vous

Le bloc front_actions #

Ce bloc rassemble les URLs des pages publiques du rendez-vous.

CléPrésente quand
cancelLe rendez-vous est encore annulable
updateLe rendez-vous est encore modifiable
surveyLe rendez-vous peut être évalué
download_icsLe rendez-vous est au statut scheduled

Les clés présentes varient selon l’état du rendez-vous et le type d’événement. N’en considérez aucune comme garantie et testez sa présence avant de l’utiliser. Le bloc front_actions est entièrement absent de la réponse quand aucune action n’est disponible, ce qui est notamment le cas d’un rendez-vous passé : ne comptez pas non plus sur la présence de la clé elle-même.

Consulter un rendez-vous #

curl "https://app.apenday.com/api/public/appointments/IDENTIFIANT" \
  -H "X-AUTH-TOKEN: VOTRE_CLE_API" \
  -H "Accept: application/ld+json"

La réponse porte les mêmes champs qu’un élément de la collection.

Annuler un rendez-vous #

curl -X DELETE "https://app.apenday.com/api/public/appointments/IDENTIFIANT/cancel" \
  -H "X-AUTH-TOKEN: VOTRE_CLE_API" \
  -H "Accept: application/ld+json"

La réponse est un 204, sans corps.

Un rendez-vous au statut scheduled s’annule jusqu’à son heure de fin. Au-delà, il ne s’annule plus : déclarez-le manqué ou clôturez-le.

L’annulation fait passer le rendez-vous au statut cancelled_by_consultant, et non cancelled, qui reste réservé aux annulations faites par le client depuis son lien de gestion. Elle déclenche les notifications d’annulation paramétrées sur l’événement, ainsi que l’événement webhook meeting_cancelled_by_consultant. Sur un rendez-vous de groupe, les rendez-vous individuels rattachés sont annulés dans le même mouvement. La souscription aux webhooks est décrite dans la page Utiliser les webhooks Apenday.

Une clé générée par un conseiller annule uniquement les rendez-vous qui lui sont affectés, et seulement si le droit Autoriser le conseiller à annuler ses rendez-vous est activé dans Paramètres > Espace client > Organisation > Droits (voir Affiner les droits utilisateurs). Sinon, la réponse est un 403. Les clés générées par un responsable d’équipe ou un administrateur ne dépendent pas de ce droit.

Clôturer un rendez-vous #

curl -X PUT "https://app.apenday.com/api/public/appointments/IDENTIFIANT/terminate" \
  -H "X-AUTH-TOKEN: VOTRE_CLE_API" \
  -H "Accept: application/ld+json"

L’appel ne porte ni corps ni en-tête Content-Type. La réponse est un 200 qui porte le rendez-vous à jour, avec les mêmes champs qu’un élément de la collection.

Un rendez-vous au statut scheduled se clôture à partir de son heure de début. Il passe au statut terminated. La clôture déclenche les notifications paramétrées sur l’événement pour ce statut, ainsi que l’événement webhook meeting_terminated.

Aucun tag, commentaire ni motif n’est demandé, même quand l’événement rend un tag obligatoire à la clôture : cette obligation s’applique au conseiller qui clôture le rendez-vous dans Apenday, pas à l’API.

Une séance de groupe dont des participants restent à classer ne se clôture pas par l’API : ses participants se clôturent ou se déclarent manqués un par un, dans Apenday.

Déclarer un rendez-vous manqué #

curl -X PUT "https://app.apenday.com/api/public/appointments/IDENTIFIANT/miss" \
  -H "X-AUTH-TOKEN: VOTRE_CLE_API" \
  -H "Accept: application/ld+json"

Les règles sont celles de la clôture : appel sans corps, possible à partir de l’heure de début, réponse 200 avec le rendez-vous à jour, aucun tag ni motif demandé. Le rendez-vous passe au statut missed. L’appel déclenche les notifications paramétrées sur l’événement pour ce statut, ainsi que l’événement webhook meeting_missed.

Sur une séance de groupe, chaque participant encore au statut scheduled est aussi déclaré manqué.

En cas de refus #

Le motif d’un refus est dans le champ hydra:description de la réponse, repris dans detail, en anglais. Dans les messages ci-dessous, {id} est l’identifiant du rendez-vous.

CodeMessageQue faire
400The appointment is already cancelled: this status is final.Rien : le statut ne changera plus. Relisez le rendez-vous pour mettre votre système à jour
400The appointment is already terminated: this status is final.Idem
400The appointment is already declared missed: this status is final.Idem
400The appointment is over and can no longer be cancelled: declare it missed (PUT /api/public/appointments/{id}/miss) or terminated (PUT /api/public/appointments/{id}/terminate).Déclarer le rendez-vous manqué, ou le clôturer
400The appointment has not started yet: it can be terminated from its start time. To call it off, cancel it (DELETE /api/public/appointments/{id}/cancel).Attendre l’heure de début, ou annuler le rendez-vous
400The appointment has not started yet: it can be declared missed from its start time. To call it off, cancel it (DELETE /api/public/appointments/{id}/cancel).Attendre l’heure de début, ou annuler le rendez-vous
400The appointment is a group session: its attendees are terminated or declared missed one by one, in Apenday.Classer les participants dans Apenday
403The API key is not allowed to cancel this appointment.Annuler avec la clé d’un responsable d’équipe ou d’un administrateur, ou faire activer le droit décrit dans Annuler un rendez-vous

Points d’attention #

  • Un rendez-vous annulé, clôturé ou manqué ne change plus de statut. Si le refus indique le statut que vous vouliez poser, votre demande est déjà satisfaite.
  • Un changement fait par l’API déclenche les mêmes envois qu’une action faite dans Apenday : notifications, webhooks et connecteurs CRM de l’espace client. Votre système peut donc recevoir le changement qu’il vient lui-même d’envoyer : ignorez un statut que vous connaissez déjà.

Powered by BetterDocs