Connecter un bot à Alexa

S’APPLIQUE À : SDK v4

Vous pouvez configurer votre bot pour qu’il communique avec les personnes par le biais d’une compétence personnalisée Alexa. Cet article explique comment créer une compétence Alexa à l’aide de la console de développement Alexa, connecter votre bot à votre compétence Alexa dans Azure et tester votre bot dans Alexa.

Prérequis

  • Un abonnement Azure. Si vous n’en avez pas encore, créez un compte gratuit avant de commencer.
  • Bot publié sur Azure que vous souhaitez vous connecter à Alexa.
  • Compte Amazon.

Important

Votre bot doit utiliser le kit de développement logiciel (SDK) Bot Framework version 4.8 ou ultérieure. Si vous utilisez un bot existant, vous devrez peut-être mettre à jour la version de votre kit de développement logiciel (SDK) et republier votre bot.

Créer une compétence Alexa

  1. Connectez-vous à la console développeur Alexa, puis sélectionnez Créer une compétence.

  2. Sur la page suivante :

    1. Saisissez un nom pour votre nouvelle compétence.
    2. Assurez-vous que Choisir un modèle à ajouter à votre compétence est défini sur Personnalisé.
    3. Assurez-vous que Choisir une méthode pour héberger les ressources principales de votre compétence est définie sur Approvisionner votre propre méthode.
    4. Cliquez sur Créer une compétence.

    Choose model and hosting

  3. Sur la page suivante :

    1. Assurez-vous que Choisir un modèle est défini sur Commencer à partir de zéro
    2. Sélectionnez Choisir.

    Choose a template

  4. Dans votre tableau de bord de compétence sous Modèle d’interaction, sélectionnez l’Éditeur JSON.

  5. Dans l’éditeur JSON :

    1. Remplacez le contenu existant par le JSON suivant.

      {
          "interactionModel": {
              "languageModel": {
                  "invocationName": "<your-skill-invocation-name>",
                  "intents": [
                      {
                          "name": "GetUserIntent",
                          "slots": [
                              {
                                  "name": "phrase",
                                  "type": "phrase"
                              }
                          ],
                          "samples": [
                              "{phrase}"
                          ]
                      },
                      {
                          "name": "AMAZON.StopIntent",
                          "samples": []
                      }
                  ],
                  "types": [
                      {
                          "name": "phrase",
                          "values": [
                              {
                                  "name": {
                                      "value": "<example-phrase>"
                                  }
                              },
                              {
                                  "name": {
                                      "value": "<example-phrase>"
                                  }
                              },
                              {
                                  "name": {
                                      "value": "<example-phrase>"
                                  }
                              }
                          ]
                      }
                  ]
              }
          }
      }
      
    2. Pour invocationName, modifiez <your-skill-invocation-name> par le nom permettant aux utilisateurs d’appeler vos compétences dans Alexa. Par exemple, si le nom de votre appel de compétence était « aide de l’adaptateur », un utilisateur pourrait dire « Alexa, lance l’aide de l’adaptateur » pour lancer la compétence.

    3. Dans le tableau values sous types, remplacez les trois instances de <example-phrase> par des expressions que les utilisateurs peuvent dire pour déclencher votre compétence. Par exemple, si un utilisateur dit « Alexa, demande à l’aide de l’adaptateur d’obtenir les détails de l’adaptateur Alexa », votre exemple de phrase peut être « donne-moi des détails sur l’adaptateur Alexa ».

  6. Sélectionnez Enregistrer le modèle, puis sélectionnez Créer un modèle. Cela met à jour la configuration de votre compétence sur Alexa.

Configurer votre bot dans Azure

Pour effectuer cette étape, vous aurez besoin de votre ID de compétence Alexa. Obtenez votre ID de compétence Alexa à partir de l’URL dans le portail Alexa, ou en accédant à la console de développement Alexa puis en sélectionnant Copy Skill ID (Copier l’ID de compétence). Votre ID de compétence Alexa doit être une valeur similaire à « amzn1.ask.skill.<some-guid> ».

  1. Ouvrez le portail Azure.
  2. Ouvrez le panneau de la ressource Azure Bot pour votre bot.
  3. Ouvrez Canaux et sélectionnez Alexa.
  4. Dans Configuration du canal Alexa, saisissez les informations que vous avez copiées à l’étape précédente.
    1. Dans Entrer l’ID de compétence, saisissez l’ID de compétence Alexa que vous avez copié à partir de la console de développement Alexa.
    2. Sélectionnez Appliquer.
    3. Copiez l’URI du point de terminaison de service Alexa généré par Azure.

Mettre à jour votre inscription de bot Alexa

  1. Connectez-vous à la console de développement Alexa.

  2. Recherchez et ouvrez la page de configuration de votre compétence.

  3. Sélectionnez Point de terminaison.

  4. Pour le type de point de terminaison de service, sélectionnez HTTPS.

  5. Pour la région par défaut :

    1. Saisissez l’URI du point de terminaison de service Alexa que vous avez copié à partir du portail Azure.
    2. Dans le menu déroulant, choisissez Mon point de terminaison de développement est un sous-domaine d’un domaine qui possède un certificat générique d’une autorité de certification.

    Set service endpoint and endpoint type

  6. Sélectionnez Enregistrer les points de terminaison.

Tester et publier votre bot

Si vous possédez un appareil Alexa, vous pouvez tester votre compétence avant de la publier.

Consultez la documentation du développeur du kit de compétences Alexa pour les modèles Custom Voice pour obtenir des informations sur la façon de tester et de publier vos compétences sur leur plateforme.

Informations supplémentaires

Pour plus d’informations sur les compétences d’Alexa, consultez la documentation du développeur Amazon :

Authentification utilisateur dans Alexa

L’authentification utilisateur dans Alexa est effectuée en configurant et en utilisant l’Association des comptes sur la compétence Alexa. Pour plus d’informations, consultez Comprendre l’association de comptes pour les compétences Alexa. Vous pouvez exiger l’association de comptes lorsque l’utilisateur active la compétence, ou vous pouvez l’exiger dans le cadre d’un flux de conversation.

Si vous ajoutez l’authentification utilisateur dans le cadre de la conversation :

  1. Attachez une carte de connexion à l’activité sortante. Elle sera convertie en une carte LinkAccount Alexa qui invite l’utilisateur à se connecter à l’aide de l’application Alexa.

  2. Si l’utilisateur lie correctement son compte à l’application, un jeton est ensuite disponible sur les demandes suivantes dans les données du canal.

Étapes suivantes