Publié le 25/06/2019 par Michael BOUVY
Aujourd'hui, les enceintes connectées telles Google Home, Amazon Echo ou Sonos sont utilisées par le grand public principalement pour :
D'après une étude de Médiamétrie , il y a déjà plus de 1,7 million d’utilisateurs d’enceintes à commande vocale en France.
Demain, on peut imaginer que l'usage de ces appareils va pouvoir se renforcer au quotidien et pourra se développer en entreprise. On connaissait Alexa qui est le service vocal dans le Cloud d'Amazon et bien il existe déjà Alexa for Business (uniquement disponible aux Etats-Unis pour le moment) qui est une version d'Alexa à l'attention des organisations.
Nous avons voulu ajouter à Alexa une fonctionnalité à destination des détenteurs de site e-commerce (Magento 2 pour le moment) pour pouvoir l'interroger avec la voix. La finalité étant de pouvoir obtenir instantanément des indicateurs significatifs sur les opérations réalisées sur la plate-forme e-commerce.
Le projet se compose principalement de deux parties qui sont :
Le skill Alexa est le composant qui va ajouter la capacité à Alexa à reconnaître qu'une phrase prononcée doit déclencher une requête vers un endpoint pour récupérer la réponse qu'Alexa dira.
La présentation Building an Alexa Skill in 20 minutes using Node.js permet de bien comprendre le fonctionnement d'un skill.
La création d'un skill peut se faire avec la console en ligne ou l'Alexa Skills Kit CLI.
Dans un skill, il faut configurer:
Il est possible de tester un skill sans utiliser un appareil physique compatible avec Alexa (comme l'Amazon Echo).
Pour cela, il faut utiliser au choix :
- Alexa Simulator qui vous permet d'entrer vos phrases avec du texte ou avec votre voix en utilisant un microphone.
Vous entendrez la réponse d'Alexa.
Un test avec la voix est plus significatif car plus proche du cas réel d'utilisation.
Il peut permettre de détecter des problèmes de reconnaissances des mots prononcés qui ne surviendront pas en mode texte.
- Alexa Skills Kit CLI qui vous permet d'entrer vos phrases avec du texte.
$ ask dialog --locale fr-FR
User > demande à magento le panier moyen
Alexa > Le panier moyen est de 119,75 € depuis le lancement du site.
Le module Magento 2 est le composant qui permet de :
Pour un site Magento 2 disponible à l'adresse "https://example.com", l'endpoint est "https://example.com/alexa/v1.0".
Exemple de données reçues avec la phrase "Alexa, demande à Magento quels sont les produits les plus vendus" :
{
"version": "1.0",
"session": {
...
},
"context": {
...
},
"request": {
"type": "IntentRequest",
...
"locale": "fr-FR",
"intent": {
"name": "GetBestsellers",
"confirmationStatus": "NONE"
}
}
}
Après traitement par le module, la réponse construite est la suivante :
{
"version": "1.0",
"response": {
"shouldEndSession": true,
"outputSpeech": {
"text": "Les 2 produits les mieux vendus sont : Simple Product 1 avec un nombre de 800, Simple Product 2 avec un nombre de 800.",
"type": "PlainText"
}
}
}
Cette réponse va passer par Alexa pour être transformée en audio puis restituée à l'utilisateur.
Si vous souhaitez obtenir plus d'informations ou discuter d'une mise en place de ce projet, contactez-nous.