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
oulive
); - 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