API REST côté serveur
L'API REST de Touch & Sell permet notamment les choses suivantes :
- créer, mettre à jour et télécharger des documents
- lister les notifications publiées dans l'application
- récupérer les informations des partages documents envoyés depuis l'application
- récupérer les résultats de formulaires envoyés depuis l'application
- créer et mettre à jour des dossiers
- créer et mettre à jour des utilisateurs de l'application
- récupérer les statistiques d'usage de l'application
La description des différentes requêtes est disponible à cette adresse : https://bo.touch-sell.net/api/v2/swagger/
Pour manipuler l'API REST, vous aurez besoin de générer une clé d'API. Pour ce faire, rendez-vous dans l'interface d'administration dans Organisation > Connecteurs > Clés d'API > Ajouter une clé d'API.
Le code utilisant l'API REST s'exécute sur un serveur tiers géré par le client. Touch & Sell ne fournit pas d'espace d'hébergement pour des projets utilisant l'API REST. Ce serveur doit avoir accès au serveur de Touch & Sell qui est disponible sur Internet à l'adresse bo.touch-sell.net.
L'API est sécurisée par une clé d'API permettant de travailler avec une seule application. La clé doit être envoyée au serveur dans l'en-tête HTTP Authorization avec la valeur Token token=<clé>. La communication avec le serveur Touch & Sell est entièrement chiffrée en HTTPS.
API Javascript côté client
Cette API asynchrone permet d'ouvrir des documents et dossiers de l'application depuis des documents HTML ou des scripts, et d'interagir avec les partages documents.
La documentation technique de notre API Javascript est disponible à cette adresse : http://doc.cust.touch-sell.net/apijs/
Deep linking
Sur l'appareil, il est possible depuis une page Web ou une autre application de faire des liens profonds vers l'application, pour ouvrir directement dans l'application des documents ou des dossiers de l'arborescence. La documentation liée au deep linking est disponible dans cet article : https://touchsell.zendesk.com/hc/fr/articles/360003976134-Deep-linking-Liens-profonds
Cycle de données
Un des points forts de l'application est la possibilité d'utiliser l'intégralité des fonctionnalités de l'application en étant hors ligne. Ce cycle de données représente comment faire transiter des données entre un serveur externe et l'application en utilisant les API tout en permettant l'utilisation hors ligne.
L'API REST est utilisée pour manipuler les données directement avec le serveur Zélit. Le serveur Zélit s'occupe alors de synchroniser les données avec la tablette et de remonter ses données. Enfin, l'application HTML5 manipule directement les données de la tablette et produit des résultats en utilisant l'API JS.
Attention, les résultats pouvant être produits sur une tablette hors ligne, il peut s'écouler une longue période de temps entre la production des résultats sur la tablette et leur récupération. Il est recommandé d'utiliser l'horodatage des résultats pour en permettre leur exploitation sur le serveur du client.
Scénarios de déploiement
Nous allons étudier le cas d'une utilisation pour gérer un catalogue de produits, avec des fonctionnalités de commande. Ce catalogue est constitué de plusieurs fiches produits utilisant des images, des vidéos, des descriptions et des données spécifiques par produit (prix segmentés, remises, stocks, taxes...)
Il existe plusieurs solutions pour intégrer un tel catalogue dans l'application. Ci-dessous, nous décrivons une application simple, avec 3 possibilités d'améliorations qui peuvent être combinées entre elles.
Application autonome
L'application autonome exploite les données situées dans un ou plusieurs fichiers synchronisés avec la tablette. Cette application est responsable d'afficher chaque fiche produit et de fournir toutes les fonctionnalités attendues comme la navigation ou la recherche.
Avantages
- Simple à réaliser
Inconvénients
- Les ressources de l'application sont gérées par le prestataire de développement
- N'exploite pas l'interactivité de l'application
- Ne permet pas de suivi statistique par produit
Amélioration 1 : Externaliser les ressources
En utilisant des répertoires cachés, il est possible de synchroniser du contenu avec la tablette non visible par l'utilisateur. Pour cacher un répertoire, il faut que son nom commence par un point (.).
Ce contenu caché peut contenir des ressources (images, vidéos, documents) qui seront exploitées par l'application HTML5 afin de les afficher directement dans l'application ou de permettre de les consulter avec le visualiseur Zélit.
Ces ressources seront identifiées par une convention (nommage, rangement dans un répertoire) permettant à l'application de les associer aux données pour les exploiter.
Avantages
- Les ressources peuvent être gérées par l'administrateur
- Génère des statistiques d'utilisation pour les ressources affichées avec le visualisateur Zélit
Inconvénients
- Le caractères dynamique des ressources gérées par l'administrateur est une difficulté supplémentaire pour le développement de l'application
Amélioration 2 : Multiplier les produits
Plutôt que de générer une application HTML5 unique pour présenter tous les produits, le prestataire génère une application HTML5 spécifique pour chaque produit.
Ces applications peuvent utiliser les fonctions de stockage de l'API JS pour partager des données dynamiques.
Avantages
- Exploite la navigation et la recherche Zélit
- Génère des statistiques d'utilisation pour les produits
Inconvénients
- Espace disque et temps de synchronisation
- Nécessite un travail d'automatisation de la génération d'application HTML5 de la part du prestataire
Amélioration 3 : Multiplier les produits sans redondance
Il est possible de créer plusieurs "points de démarrage" pour la même application HTLM5. Les scripts permettent de générer des documents virtuels qui exécuteront du code l'API JS au lancement.
En utilisant l'API JS, il est possible de passer des paramètres à l'ouverture d'un document. On peut alors générer un script par produit dont le rôle est d'ouvrir l'application HTML5 en lui passant en paramètre l'identifiant du produit à afficher.
Un script peut également récupérer son propre nom dans l'arborescence à l'exécution. En exploitant ce nom, il est alors possible de réutiliser le même script pour tous les produits de l'arborescence plutôt que de multiplier les scripts.
Avantages
- Exploite la navigation et la recherche Zélit
- Génère des statistiques d'utilisation pour les produits
Inconvénients
- Plus difficile à mettre en œuvre.
Commentaires
0 commentaire
Vous devez vous connecter pour laisser un commentaire.