Documentation

Cosium

Présentation

Le but de ce site est faciliter l'intégration avec l'API de prise de rendez-vous Cosium Center, en fournissant un composant prêt à l'emploi, intégrable par iframe.

Avant son utilisation, il est nécessaire de prendre contact avec Cosium pour que l'activation de ce composant soit effectuée pour votre application. Vous pourrez à ce moment choisir les catégories affichées dans le widget, ainsi que les couleurs dominantes.

Intégration

L'intégration sur votre site s'effectue par iframe par l'url:
https://booking.cosium.net/wizard/[APPLICATION]/[MAGASIN].

[APPLICATION] étant le nom de votre application center, et [MAGASIN] le nom de votre magasin. Ex:

<iframe src="https://booking.cosium.net/wizard/XXXXXXXX/YYY" width="1200" height="1600" frameborder="0"></iframe>

Le site incluant cette iframe doit être sécurisé (https).

Affichage conditionnel de catégories

Masquer des types de rendez-vous est possible en ajoutant un ou plusieurs des paramètres suivants à l'url:

  • hideHearingAid: masque les rendez-vous d'appareillage audio
  • hideAudio: masque les rendez-vous d'examen audio
  • hideOptic: masque les rendez-vous d'optique
  • hideOptometry: masque les rendez-vous d'optométrie
  • hideContactLens: masque les rendez-vous de contactologie

Par exemple https://booking.cosium.net/wizard/XXXXXXXX/YYY?hideHearingAid&hideAudio masquera tous les rendez-vous audio.

Redimensionnement

Si vous souhaitez redimensionner dynamiquement votre cadre d'iframe au contenu, la librairie iframe-resizer est intégrée au composant.

Événements

Des événements sont envoyés lors du processus de prise de rendez-vous à la fenêtre parente.
Ils peuvent être interceptés via un listener :

window.addEventListener('message', function(event) {
    console.log("Evénement reçu : " + event.data);
});

Le contenu du message (event.data) est un json sérialisé.
L'attribut type contient le type de l'événement.

booking_complete

Envoyé quand l'utilisateur a pris rendez-vous avec succès.

Attributs :

  • centerApplication : code d'application center
  • centerStoreCode : code de magasin center
  • centerCategoryCode : code de catégorie de rendez-vous center
  • startDate : date du rendez-vous au format ISO 8601
  • firstname : prénom
  • lastname : nom de famille
  • phone : téléphone
  • mail : adresse email

Exemple :

{
    "type":"booking_complete",
    "centerApplication":"MYAPPLICATION",
    "centerStoreCode":"100",
    "centerCategoryCode":"RDV-LENTILLES",
    "startDate":"2023-04-14T07:00:00.000Z",
    "firstname":"Jean",
    "lastname":"Dupont",
    "phone":"06 06 06 06 06",
    "mail":"some@mail.com"
}

Erreurs

  • Refus de connexion du navigateur: la plupart des navigateurs bloquent les inclusions d'iframe d'un domaine non-sécurisé (http) vers un domaine sécurisé (https). Le site incluant l'iframe doit donc être https.
  • Erreur 404: l'activation de la prise de rendez-vous n'a pas été effectuée pour cette application, ou son code dans l'url est incorrect.
  • Message 'This store code is invalid! Please verify it in your center application.' dans la console javascript: le code magasin entré dans l'url n'est pas correct.
  • Message 'The category code XXX is not defined in your center application. Please add it.' dans la console javascript: une catégorie de rendez-vous est manquante dans votre configuration center. Un administrateur pourra l'ajouter.
  • Aucun créneaux disponibles: les horaires d'ouvertures de votre magasin doivent être définis dans votre application center.