Conectar un bot a Alexa

SE APLICA A: SDK v4

Puede configurar el bot para que se comunique con las personas a través de una habilidad personalizada de Alexa. En este artículo se describe cómo crear una habilidad de Alexa con la consola de desarrollador de Alexa, conectar su bot a su habilidad de Alexa en Azure y probar su bot en Alexa.

Requisitos previos

  • Una suscripción de Azure. Si aún no tiene una, cree una cuenta gratuita antes de empezar.
  • Un bot publicado en Azure que desea conectar a Alexa.
  • Una cuenta de Amazon.

Importante

El bot debe usar la versión 4.8 o posterior del SDK de Bot Framework . Si tiene un bot existente, es posible que tenga que actualizar la versión del SDK y volver a publicar el bot.

Crear una aptitud de Alexa

  1. Inicie sesión en alexa developer console y seleccione Create Skill.

  2. En la página siguiente:

    1. Escriba un nombre para la nueva habilidad.
    2. Asegúrese de que Elegir un modelo para agregar a su habilidad esté establecido en Personalizado.
    3. Asegúrese de que Elegir un método para hospedar los recursos back-end de su habilidad esté establecido en Aprovisionar los suyos propios.
    4. Seleccione Crear aptitud.

    Choose model and hosting

  3. En la página siguiente:

    1. Asegúrese de que Elegir una plantilla esté establecido en Inicio desde cero
    2. Seleccione Elegir.

    Choose a template

  4. En el panel de aptitudes en Modelo de interacción, seleccione Editor JSON.

  5. En el editor JSON:

    1. Reemplace el contenido existente con el siguiente JSON.

      {
          "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. Para invocationName, cambie <su nombre-skill-invocation-name> por el nombre que usarán los usuarios para invocar su habilidad en Alexa. Por ejemplo, si el nombre de invocación de habilidad era "auxiliar del adaptador", un usuario podría decir "Alexa, launch adapter helper" para iniciar la habilidad.

    3. En la values matriz de types, reemplace las tres instancias de <example-phrase> por frases que los usuarios puedan decir para desencadenar su habilidad. Por ejemplo, si un usuario dice "Alexa, pida a la persona que ayuda al adaptador que me dé detalles del adaptador de alexa", una frase de ejemplo podría ser "proporcionarme detalles del adaptador de alexa".

  6. Selecciona Guardar modelo y, a continuación, selecciona Crear modelo. Esto actualiza la configuración de su habilidad en Alexa.

Configurar el bot en Azure

Para completar este paso, necesitará su Id. de aptitud de Alexa. Obtenga el id. desde la dirección URL en el portal de Alexa o yendo a alexa developer console y seleccionando Copy Skill ID. Su Id. de aptitud de Alexa debe ser un valor como "amzn1.ask.skill.< algunos guid>".

  1. Abra la Azure Portal.
  2. Abra la hoja de recursos de Azure Bot para el bot.
  3. Abra Canales y seleccione Alexa.
  4. En Configuración de canal alexa, escriba la información que copió en el paso anterior.
    1. En Introducir id. de aptitud, escriba el Id. de aptitud de Alexa que copió desde la consola de desarrollo de Alexa.
    2. Seleccione Aplicar.
    3. Copie el URI del punto de conexión del servicio Alexa generado por Azure.

Actualizar el registro del bot Alexa

  1. Inicie sesión en alexa developer console.

  2. Busque y abra la página de configuración de su habilidad.

  3. Seleccione Extremo.

  4. En Tipo de punto de conexión de servicio, seleccione HTTPS.

  5. Para región predeterminada:

    1. Escriba el URI del punto de conexión del servicio Alexa que copió de la Azure Portal.
    2. En la lista desplegable, seleccione Mi punto de conexión de desarrollo es un subdominio de un dominio que tiene un certificado comodín de una entidad emisora de certificados.

    Set service endpoint and endpoint type

  6. Seleccione Guardar puntos de conexión.

Probar y publicar su habilidad

Si tiene un dispositivo Alexa, puede probar su habilidad antes de publicarlo.

Consulte la documentación para desarrolladores de Alexa Skills Kit para obtener información sobre cómo probar y publicar sus habilidades en su plataforma.

Información adicional

Para obtener más información sobre las habilidades de Alexa, consulte la documentación del desarrollador de Amazon:

Autenticación de usuario en Alexa

La autenticación de usuario en Alexa se realiza mediante la configuración y el uso de la vinculación de cuentas en la habilidad Alexa. Para obtener más información, consulte Comprender la vinculación de cuentas para las habilidades de Alexa. Puede requerir la vinculación de cuentas cuando el usuario habilite la aptitud o puede requerirla como parte de un flujo de conversación.

Si agrega autenticación de usuario como parte de la conversación:

  1. Adjunte una tarjeta de inicio de sesión en la actividad saliente. Esto se convertirá en una tarjeta Alexa LinkAccount que solicitará al usuario que inicie sesión con la aplicación Alexa.

  2. Si el usuario vincula correctamente su cuenta a la aplicación, un token estará disponible en las siguientes solicitudes de los datos del canal.

Pasos siguientes