> This is a page from the ElevenLabs documentation. For a complete page index, fetch https://elevenlabs.io/docs/llms.txt. For the full documentation in a single file, fetch https://elevenlabs.io/docs/llms-full.txt.

# Acuity Scheduling

Grâce aux [outils webhook](/docs/fr/reception-ai/integrations/webhooks) ci-dessous, votre réceptionniste peut vérifier les disponibilités d’un type de rendez-vous et inscrire l’appelant à un créneau disponible. Acuity envoie au client son email de confirmation habituel.

## Avant de commencer

### Vérifiez votre forfait

Acuity inclut l’accès à l’API uniquement dans son forfait le plus complet, Premium, précédemment appelé Powerhouse. Avec les autres forfaits, les outils ci-dessous échouent avec une erreur 403.

### Obtenez vos identifiants API

Dans Acuity, ouvrez **Intégrations**, recherchez **API**, puis copiez votre **ID utilisateur** et votre **clé API**.

### Créez l’en-tête d’autorisation

Acuity utilise votre ID utilisateur comme nom d’utilisateur et la clé API comme mot de passe. Encodez-les dans un terminal en remplaçant les deux espaces réservés :

```bash
printf 'USER_ID:API_KEY' | base64
```

La valeur de l’en-tête est `Basic ` suivi du résultat.

> **Warning**
>
> Ne collez pas votre clé API dans un encodeur en ligne. Toute personne qui la possède peut consulter et modifier vos
> rendez-vous et les informations de vos clients.

### Trouvez l’ID du type de rendez-vous

Copiez le lien de planification directe du type de rendez-vous que vous souhaitez faire prendre par votre réceptionniste. Le numéro après `appointmentType=` dans le lien est son ID. Les outils ci-dessous l’utilisent à la place de `APPOINTMENT_TYPE_ID`.

## Créez les outils

Pour chaque outil, accédez à **Intégrations**, sélectionnez **Ajouter une intégration**, choisissez **Outil webhook** et définissez **Attribuer aux agents** sur **Réceptionniste**.

### Vérifier les créneaux disponibles

| Champ                     | Valeur                                                                                                                                                                     |
| ------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Nom**                   | `check_acuity_availability`                                                                                                                                                |
| **Description**           | "Répertorie les créneaux de rendez-vous disponibles à une date donnée. Utilisez-le avant de proposer un créneau à l’appelant."                                             |
| **Méthode**               | GET                                                                                                                                                                        |
| **URL**                   | `https://acuityscheduling.com/api/v1/availability/times`                                                                                                                   |
| **En-têtes de requête**   | `Authorization`: `Basic ` suivi des identifiants encodés                                                                                                                   |
| **Paramètres de requête** | `appointmentTypeID` (nombre, obligatoire) : "Toujours la valeur exacte `APPOINTMENT_TYPE_ID`."  `date` (chaîne, obligatoire) : "La date à vérifier, au format AAAA-MM-JJ." |

### Prendre un rendez-vous

| Champ                   | Valeur                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Nom**                 | `book_acuity_appointment`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| **Description**         | "Inscrivez l’appelant à un créneau disponible après qu’il en a choisi un. Confirmez d’abord la date et l’heure avec lui."                                                                                                                                                                                                                                                                                                                                                                                                                  |
| **Méthode**             | POST                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| **URL**                 | `https://acuityscheduling.com/api/v1/appointments`                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| **En-têtes de requête** | `Authorization`: `Basic ` suivi des identifiants encodés                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| **Paramètres du corps** | `datetime` (chaîne, obligatoire) : "L’heure choisie, exactement telle que renvoyée dans une valeur `time` par `check_acuity_availability`."  `appointmentTypeID` (nombre, obligatoire) : "Toujours la valeur exacte `APPOINTMENT_TYPE_ID`."  `firstName` (chaîne, obligatoire) : "Le prénom de l’appelant."  `lastName` (chaîne, obligatoire) : "Le nom de famille de l’appelant."  `email` (chaîne, obligatoire) : "L’adresse email de l’appelant. Demandez-lui de l’épeler."  `phone` (chaîne) : "Le numéro de téléphone de l’appelant." |

Sélectionnez **Activer** sur chaque outil, puis [testez votre réceptionniste](/docs/fr/reception-ai/receptionist/testing) en demandant un rendez-vous. La réservation apparaît dans votre calendrier Acuity.

> **Tip**
>
> Pour prendre plusieurs types de rendez-vous, remplacez « Toujours la valeur exacte » dans les deux outils par une liste, par
> exemple : « Utilisez `111` pour une consultation de 30 minutes et `222` pour une séance de 60 minutes. »

## Limites

* Acuity exige une adresse email pour chaque réservation. Votre réceptionniste demande donc aux appelants d’épeler la leur.
* Les réponses au formulaire d’admission sont envoyées sous forme de liste, ce que les outils webhook ne peuvent pas envoyer. Seul un administrateur peut définir des notes de réservation, mais cette méthode ignore les contrôles de disponibilité d’Acuity. Les outils ci-dessus ne définissent donc ni l’un ni l’autre.
* Les outils ne peuvent ni annuler ni reprogrammer de rendez-vous. Ces actions nécessitent l’ID du rendez-vous dans l’URL.

## Dépannage

| Problème                                        | Vérification                                                                                                                                     |
| ----------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ |
| Erreur 401 renvoyée par Acuity                  | Encodez `USER_ID:API_KEY` avec les deux-points et commencez la valeur de l’en-tête par `Basic ` suivi d’un espace.                               |
| Erreur 403 renvoyée par Acuity                  | Votre forfait n’inclut pas l’accès à l’API.                                                                                                      |
| Aucun créneau n’est renvoyé                     | Vérifiez l’ID du type de rendez-vous et que ce type a des heures disponibles à cette date.                                                       |
| La réservation échoue avec `not_available`      | Le créneau est déjà pris ou n’est pas disponible. Demandez à la réceptionniste de vérifier à nouveau les créneaux disponibles avant de réserver. |
| La réservation échoue car un champ est manquant | Votre compte peut exiger un numéro de téléphone. Rendez `phone` obligatoire dans l’outil de réservation.                                         |