Synchronisation des fiches client

Nous prendrons ici l'exemple d'une synchronisation bi-directionnelle entre ClicRDV et un logiciel métier ou une autre base de données, ci-dessous appellée BDD.

La synchronisation nécessite que chacun des logiciels puisse conserver une référence à l'identifiant utilisé sur l'autre SI (clicrdvId par exemple), ainsi qu'un timestamp de dernière modification (updated_at chez ClicRDV). L'API ClicRDV propose un champ externId, libre d'utilisation, qui permet de stocker l'identifiant d'une fiche sur un système externe.

Processus de synchronisation

Synchronisation BDD -> ClicRDV :

  • Récupérer l'ensemble des fiches de la BDD modifiées depuis le dernier envoi
  • Si la fiche a déjà un clicrdvId, modifier la fiche sur ClicRDV
  • Sinon, créer les fiches sur ClicRDV en envoyant l'identifiant de BDD sur le champ externId, puis stocker l'identifiant ClicRDV créé dans clicrdvId

Synchronisation ClicRDV -> BDD :

  • Récupérer l'ensemble des fiches ClicRDV modifiées depuis le dernier envoi
  • Si la fiche a déjà un externId, modifier la fiche dans BDD
  • Sinon, insérer les fiches dans BDD, puis stocker l'identifiant généré dans les externId des fiches ClicRDV.
  • Stocker le timestamp de dernier envoi pour la prochaine execution.

Ce processus peut ensuite être executé à intervalle régulier (par une cron par exemple), généralement une fois par jour.

Limitations

Le champ externId de ClicRDV ne peut être qu'un entier. Si vos identifiants ne sont pas des entiers, vous pouvez utiliser un champ personnalisé à la place.