Skip to content

Hellocare Direct JavaScript SDK

Cette documentation explique comment intégrer le SDK Hellocare sur un client web JavaScript.

Il vous permet de piloter chaque étape du tunnel de connexion jusqu'à la consultation vidéo.

Pré-requis

La clé API fournie par Hellocare ainsi que le jeton de connexion utilisateur seront indispensables pour initialiser le SDK.

Si vous ne l'avez pas encore fait, référez-vous à au Guide de démarrage.

Pour des raisons évidentes de sécurité, le SDK JavaScript ne permet pas la création de consultations. Il faudra déléguer cette tâche au serveur via un appel API - Voir la documentation.

C'est l'ID de consultation (uid) généré lors de cet appel qui servira comme paramètre d'initialisation du SDK.

Installation

Le SDK est disponible depuis notre CDN:

<script src="//assets.hellocareplatform.com/sdk/js/0.1.0/hellocare-direct-sdk.min.js"></script>

Initialisation

Pour pouvoir initialiser le SDK vous devez disposer:

  • de la clé API fournie par Hellocare (test ou live);
  • du jeton utilisateur;
  • de l'uid de la consultation à piloter.

Identifiez un élément du DOM dans lequel seront injectés les composants vidéo (fenêtre principale et prévisualisation):

<div id="video"></div>

Appelez la méthode d'initialisation du SDK:

Hellocare.init(uid, container, {
    key: apiKey,
    token: userToken,
});
Paramètre Description
uid Identifiant de la consultation généré par l'API Hellocare (propriété uid)
container ID de l'élément du DOM
apiKey Clé d'API fournie par Hellocare
userToken Jeton utilisé signé

Retour : void

Exemple

Hellocare.init("59468033-704b-4d56-a457-035adb316d56", "video", {
    key: "5628ce9c84437aacebc...",
    token: "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImp0aSI...",
});

Méthodes

Test de connexion

Hellocare.connect();

Cette méthode permet de tester la connectivité de l'application:

  • La connexion Internet est bien disponible;
  • Le navigateur web est compatible avec le protocole WebRTC nécessaire au bon fonctionnement de la vidéo.

Retour : boolean

Exemple

if (true === Hellocare.connect()) {
...
}

Recherche d'un professionnel de santé disponible

Hellocare.dispatch();

Retour : Promise contenant le status (NO_MATCH, SINGLE_MATCH, MULTIPLE_MATCHES) avec les informations du professionnel de santé si une disponibilité est trouvée.

Exemple

Hellocare.dispatch().then(
    data => {

        if(data.status == 'NO_MATCH') {

            ui.error(
                'Tous nos médecins sont occupés',
                "Nous sommes désolés, tous nos médecins sont déjà en ligne. Ils n'en ont pas pour longtemps.<br /><br />Pourriez-vous relancer votre appel d'ici quelques instants ?<br />À tout de suite",
                'warn'
            );

        } else {

            ui.view('wait', function () {

                ui.drawDoctorWidget(data.doctor);
                ui.waitingRoomTimer.timer({
                    duration: data.awaiting_time + 's',
                    countdown: true,
                    format: '%M:%S',
                    callback: function () {
                    }
                });

                onStart = function() {
                    ui.doVideo();
                };

                onTerminate = function(who) {
                    if (who === 'DOCTOR') {
                        ui.notice('Le médecin à arrêté la session');
                    }

                    ui.timerStop();
                };

                onError = function() {
                    ui.timerStop();
                };

                Hellocare.join(onStart, onTerminate, onError);
            });
        }
    }
);

Rejoindre une téléconsultation

Hellocare.join(onStart, onTerminate, onError);
Paramètre Description
onStart Fonction de rappel au démarrage de la consultation par le professionnel de santé
onTerminate Fonction de rappel à la fin d'une consultation
onError Fonction de rappel en cas d'erreur

Retour : Promise

Annuler une demande de session

Hellocare.cancel();

Retour : Promise

N.B.: Si la consultation a déjà démarré, il faudra utiliser la méthode terminate() du SDK plutôt que le cancel() (qui générera une erreur).

Terminer une consultation

Hellocare.terminate();

Retour : Promise

N.B.: Si la consultation n'a pas encore démarrée, il faudra utiliser la méthode cancel() du SDK plutôt que le terminate() (qui générera une erreur).

Couper le flux vidéo

Hellocare.toggleVideoTrack();

Retour : void

Passer la vidéo en plein écran

Hellocare.toggleFullscreen(onChange, onError);
Paramètre Description
onChange Fonction de rappel lorsqu'un changement est détecté
onError Fonction de rappel si une erreur survient

Retour : void