Guide WebSockets

WebSockets vous permet de récupérer des données en temps réel ou vous aide à ne pas extraire une quantité de données trop importante.

 

Quand utiliser WebSockets ?

 

Utilisez Websockets lorsque l'extraction consommerait trop de ressources ou ne fonctionne pas suffisamment en temps réel. Après s'être connecté, le client commencera à recevoir des messages en fonction de la configuration de l'intégration Connector API dans l'App Mews. Vous trouverez toutes les informations nécessaires concernant votre solution WebSockets dans notre documentation. Consultez notre guide pour connaître les nombres limites de demandes.

 

 

Est-il possible de tester WebSockets dans Demo ?

 

Il est effectivement possible de configurer et de tester WebSockets dans l'environnement Mews Demo.

 

Test avec identifiants

 

Le moyen le plus simple de tester les connexions WebSocket est d'utiliser une extension de navigateur. Par exemple, l'extension Chrome Browser WebSocket Client.

 

Tout comme vous auriez besoin d'une paire de jetons d'Accès et Client pour effectuer différents appels API vers Mews, vous en aurez besoin pour authentifier une connexion WebSocket. Le jeton Client correspond au jeton générique de l'intégration « Êtes-vous prêt pour l'intégration avec Mews ? » dans Mews Demo.

 

Pour effectuer le test, vous N'avez PAS besoin d'ajouter de nouvelle intégration. À la place, utilisez une paire de jetons à partir de la section Authentication (Authentification en français) de notre documentation Connector API.

 

Respectez le format d'URL décrit dans la partie Endpoint (Point de terminaison) de la documentation WebSockets pour établir la connexion.

 

Maintenir la connexion

Le logiciel d'interface enverra une demande Ping WebSocket à Mews toutes les 5 minutes pour surveiller la connexion. Si la demande Ping échoue, l'interface redémarrera automatiquement et le processus de synchronisation sera déclenché une fois la connexion rétablie.

 

Types d'événements que vous pouvez tester

Selon ce que fait l'intégration, vous pouvez tester l'un des quatre types d'événements WebSocket listés dans la Documentation API.

Apportez simplement des modifications aux éléments pertinents dans Mews (par ex., réservation, espace, tarif, etc.) pour déclencher un événement.

 

Ce que ça donne dans l'environnement de production

Lorsque votre intégration a été certifiée avec succès sur Mews Marketplace, vous recevez un token client unique pour votre intégration, pour l'environnement de production, celui-ci doit être jumelé avec le token d'accès (qui diffère d'un établissement à l'autre).

 

Pour chaque établissement qui ajoute l'intégration à ses abonnements Marketplace, un nouveau jeton d'accès est généré, et il est unique pour l'établissement en question. Vous pouvez ensuite utiliser la paire de jetons d'Accès/Client pour établir une connexion WebSocket entre l'environnement Mews de l'établissement et votre interface d'intégration.

 

(Guide pour aider les établissements à trouver leurs jetons d'accès)

 

 

Test sans identifiants

 

Si le type et le contenu de la notification WebSocket qui vous intéressent sont principalement ceux générés par un événement particulier dans Mews, vous pouvez tester WebSockets sans configurer de connexion.

 

  1. Allez dans le Tableau de bord et ouvrez les outils de développement pour Chrome (F12).

  2. Cliquez sur "Network" et sélectionnez ensuite "WS".

  3. Rechargez la page si nécessaire et vous verrez la WebSocket dans la liste.

  4. Cliquez sur WebSocket et sélectionnez l'onglet « Messages ». À partir de là, vous pourrez voir tous les événements WebSocket :

  5. Lorsque vous effectuez une action qui déclenche un événement, ce dernier sera répertorié en tant que "Type":"Events". Cliquez dessus pour accéder aux détails.

 

Si vous pouvez vous connecter à WebSocket mais que les événements ne vous parviennent pas, effectuez une action dans l'hôtel de démonstration Mews connecté pour déclencher un événement. Par exemple, créez une réservation, effectuez le check-in d'une réservation, indiquez qu'un espace a été Inspecté, etc.

 

Quelles sont nos recommandations pour l'implémentation WebSockets ?

 

Une instance WebSocket par jeton d'accès : les partenaires d'intégration doivent créer des instances distinctes de clients WebSocket pour chaque jeton d'accès.

Ajoutez un délai entre la connexion et la reconnexion : Utile si la reconnexion WebSocket échoue constamment. 

 

Dans notre application Mews Connector, qui utilise également WebSockets, nous commençons avec un délai aléatoire compris entre 5 et 30 secondes. Une fois la connexion correctement établie, l'application réinitialise l'intervalle de reconnexion à la valeur de base.

La connexion pourrait être interrompue lors de déploiements vers l'environnement de production, attendez donc quelques minutes avant de vous reconnecter.

 

 

Envoyons-nous toujours un événement de « fermeture » lors de la fermeture de la connexion ?

 

Lorsque c'est Mews qui ferme explicitement, oui. Cela peut arriver avec un client non autorisé, en cas de limitation de la bande passante (trop de requêtes en peu de temps) ou en cas d'arrêt de l'instance de serveur.

 

Cependant, il existe de nombreuses raisons qui pourraient expliquer la fermeture WebSockets et l'arrêt WebSockets sans notification préalable. Nous n'implémentons pas de solution de pulsation explicite. Le composant NET doit prendre en charge la solution Ping/Pong standard par l'intermédiaire d'opcodes standard.

 

La solution Ping/Pong

 

Le logiciel d'interface envoie une requête WebSocket Ping à Mews toutes les 5 minutes pour surveiller la connexion. Si la demande de ping échoue, l'interface est redémarrée automatiquement et le processus de synchronisation est déclenché lorsque la connexion est à nouveau réussie.

 

La solution Ping/Pong est-elle implémentée via notre API ? 

 

La solution Ping/Pong n'est pas implémentée via notre API. Il s'agit d'une solution qui doit être gérée par le partenaire.

 

Où puis-je trouver plus d'informations à propos de la solution Ping/Pong ?

 

Vous trouverez plus d'informations sur la solution Ping/Pong en consultant les liens suivants.  Cliquez ici pour savoir comment envoyer une demande Ping/Pong à WebSocket en Javascript.

 
Was this article helpful?
00



Feedback