View Categories

Utiliser les webhook Apenday

Apenday dispose de webhook qui vous permettent de recevoir en temps réel les informations des rendez-vous.

Différent types de notifications sont disponibles #

meeting_confirmed => Lorsqu’un utilisateur valide sa prise de rendez-vous
meeting_updated => Lorsqu’un utilisateur modifie son rendez-vous ou que le rendez-vous est déplacé par le conseiller ou un administrateur
meeting_cancelled => Lorsque l’utilisateur annule son rendez-vous
meeting_cancelled_by_consultant => Lorsque le conseiller ou un administrateur annule le rendez-vous
meeting_terminated => Lorsque le conseiller marque le rendez-vous comme terminé
meeting_missed => Lorsque le conseiller marque le rendez-vous comme manqué
meeting_rated => Lorsque l’utilisateur a renseigné l’enquête de satisfaction

Souscrire à un webhook #

Pour s’abonner à ces évènements il faut utiliser l’API Rest : https://app.apenday.com/api/docs?ui=re_doc#tag/Hooks

L’utilisation de l’API nécessite d’utiliser la clé API de votre compte utilisateur apenday que vous pouvez récupérer dans « Mon compte » > « Avancé »

pour sourcrire à un webhook, il faut faire une requête POST
sur le endpoint https://app.apenday.com/api/public/hooks

Avec les entêtes :

Content-type: application/json
X-AUTH-TOKEN: votre clé d'api

Et le contenu suivant :

{
    "url": "https://mydomain.com/url-a-notifier", // URL sur laquelle seront envoyé les notifications
    "event": "meeting_confirmed" // Type d'évènement a observer
}

Exemple de réponse

{
    "@context": "/api/contexts/Hooks",
    "@id": "/api/public/hooks/03a84931-3bb6-47b5-8323-336c236a6b93",
    "@type": "Hooks",
    "event": "meeting_confirmed",
    "url": "https://webhook.site/c8d7d99e-8825-414d-9486-bbe2e7fdf2b1",
    "created_at": "2025-06-06T08:36:42+00:00",
    "updated_at": "2025-06-06T08:36:42+00:00"
}

Pour se désabonner il suffira de faire une requête DELETE sur l’url que vous donne la propriété @id de la réponse.

Une fois les notifications souscrites, vous recevrez sur l’URL définie plus haut des requêtes POST avec des données au format suivant :


  "@context": "/api/contexts/Appointment",
  "@id": "/api/public/appointments/XXXXX",
  "@type": "Appointment",
  "id": "Identifiant_du_rendez-vous",
  "meeting_id": "Identifiant_de_levenement",
  "meeting_name": "Nom de l'évènement",
  "meeting_technical_name": "Nom technique de l'évènement",
  "meeting_type": "type d'évenement (default / video / phone)",
  "status": "scheduled", // Statut du rendez-vous
  "date": "2025-06-11T16:30:00+02:00", // date et heure de début
  "end_date": "2025-06-11T17:15:00+02:00", // date et heure de fin
  "consultants": [
    {
      "name": "Nom du conseiller",
      "email": "Adresse email du conseiller",
      "external_id": null
    }
  ],
  "customer_firstname": "Prénom du client",
  "customer_lastname": "Nom du client",
  "customer_email": "email du client",
  "customer_phone_number": "numéro de téléphone",
  "other_form_values": {
    // ... autres valeurs du formulaire
  },
  "agency_name": "Nom de l'agence",
  "satisfaction_score": null, // Note de l'enquête de satisfaction
  "satisfaction_comment": null, // Commentaire de l'enquête de satisfaction
  "utm_campain": null, // Paramètres UTM
  "utm_source": null, // Paramètres UTM
  "utm_medium": null, // Paramètres UTM
  "front_actions": {
    // Des url pour proposer l'annulation, modification ...
  }
}

Powered by BetterDocs