Comment créer et configurer des comptes clients via API

Pour déployer un grand nombre de comptes clients, il est possible de le faire par API. En combinant des appels API avec un fichier de données CSV contenant la valeur des différents paramètres, le déploiement pourra se faire en une seule action sur plusieurs centaines de succursales.


Requêtes JSON

L'application Postman permet de faire appel à des données externes dans les requêtes. Les requêtes nécessaires à la création des comptes et leur configuration sont les suivantes :

  • Création du compte client : PUT  https://api.agendize.com/api/2.0/resellers/accounts
  • Configuration du compte client : PUT  https://api.agendize.com/api/2.0/accounts
  • Création d'une entreprise : POST https://api.agendize.com/api/2.1/scheduling/companies
  • Configuration de l'entreprise : PUT https://api.agendize.com/api/2.1/scheduling/companies/{{companyId}}/settings
  • Création d'un ou plusieurs équipiers : PUT https://api.agendize.com/api/2.0/scheduling/companies/{{companyId}}/staff (ajouter le paramètre d'url &silent=true permet de ne pas envoyer d'email au staff)
  • Création d'un ou plusieurs services : PUT https://api.agendize.com/api/2.1/scheduling/companies/{{companyId}}/services


D'autres requêtes peuvent venir compléter la configuration :

  • Configuration du widget de prise de rendez-vous : POST https://api.agendize.com/api/2.1/scheduling/widgetForms


Précision : si votre compte est hébergé sur le serveur france ou sante, il faudra remplacer api dans la requête par le nom du serveur.


Fichier de données

Le fichier contenant les données à injecter dans les requêtes doit être encodé en UTF-8 et au format CSV ou JSON. Les champs texte ne doivent pas contenir de guillemets

Dans Postman, l'appel à une valeur externe se fait par la syntaxe suivante : "paramètre" : "{{nomColonne}}".


Chaque colonne du fichier CSV correspond à un paramètre, la première ligne contient le nom de ce paramètre à indiquer dans la requête comme indiqué ci-dessus.

Les champs doivent être séparés par des virgules.

Il n'est pas gênant d'avoir plus de colonnes que de paramètres utilisés dans les requêtes. Il faut simplement que toutes les colonnes existantes aient un nom dans la première ligne et que toutes les lignes possèdent le même nombre de colonnes (même nombre de virgules).


Explication des champs du fichier

Les champs avec * sont les champs obligatoires


Nom des champs

Explications

account.firstName, account.lastName, account.email*, account.name, account.lang, account.timeZone, pdfExportSize, defaultView

informations génériques sur l’agence (compte fils de revendeur)

Prénom et nom facultatifs, email obligatoire, langue, Fuseau horaire, format de papier pour les exports PDF, vue par défaut du calendrier (daily, weekly, monthly)


company.name*, company.email, company.phone, company.street, company.street2, company.zip, company.city, company.country, currency,company.externalId

Agence : Nom*, adresse email générique, numéro de téléphone, adresse ligne 1, adresse ligne 2, code postal, ville, pays, monnaie (EUR), identifiant externe

service1.nom*, service1.description, service1.duree*, service1.capacite, service1.dispo, service1.extId

Informations sur les services :

Nom*, description, durée en minutes*, nombre de rendez-vous simultanés (1 par défaut), Service disponible à la prise de rendez-vous, identifiant externe

Chaque service aura les mêmes champs. 

eq1.firstName, eq1.lastName*, eq1.gender, eq1.email, eq1.tel, eq1.tel2, eq1.desc

Équipier : prénom, nom*, genre, adresse email, Numéros de téléphone 1 et 2, description

eq1.lundebam, eq1.lunfinam, eq1.lundebpm, eq1.lunfinpm, eq1.mardebam, eq1.marfinam, eq1.mardebpm, eq1.marfinpm, eq1.merdebam, eq1.merfinam, eq1.merdebpm,eq1.merfinpm, eq1.jeudebam, eq1.jeufinam, eq1.jeudebpm, eq1.jeufinpm, eq1.vendebam, eq1.venfinam, eq1.vendebpm, eq1.venfinpm

Horaires de disponibilités de l’équipier (qui servent au calcul de disponibilité des créneaux dans le widget) :

Equipier 1 lundi début de matinée (eq1.lundebam), lundi fin de matinéeeq1.lunfinam), lundi début d’après-midi, lundi fin d’après-midi...

eq1.service1, eq1.service2, eq1.service3, eq1.service4, eq1.service5, eq1.service6, eq1.service7, eq1.service8


L’équipier est-il affecté aux services ? Indiquer “true” si oui, “false” si non.

eq1.dispo, eq1.extId

L’équipier est-il disponible à la prise de rendez-vous en ligne ? (“true” ou “false”)

Identifiant externe de l’équipier


Authentification

Pour l'authentification, vous aurez besoin du code apiKey du compte Revendeur.

Pour la création du compte client et sa configuration vous aurez également besoin du token SSO du renvendeur.

Pour les autres requêtes sur les comptes client, il faudra utiliser l'apiKey du renvendeur et le tocken du compte client.


Liste des fichiers joints

Quelques exemples de fichiers JSON pour les requêtes, un exemple de collection Postman contenant les différentes requêtes et un fichier CSV modèle pour les données sont joints à cet article.