Conexión de un bot a Alexa

SE APLICA A: SDK v4

Puedes configurar el bot para comunicarte con personas a través de una aptitud personalizada de Alexa. En este artículo se describe cómo crear una aptitud de Alexa mediante alexa Developer Console, conectar el bot a tu aptitud de Alexa en Azure y probar el bot en Alexa.

Requisitos previos

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

Importante

El bot debe usar el SDK Bot Framework versión 4.8 o posterior. Si tienes un bot existente, es posible que tengas que actualizar la versión del SDK y republicar tu bot.

Creación de una aptitud de Alexa

  1. Inicia sesión en la consola para desarrolladores de Alexa y selecciona Crear aptitud.

  2. En la página siguiente:

    1. Escribe un nombre para tu nueva aptitud.
    2. Asegúrate de que Elegir un modelo para agregar a la aptitud esté establecido en Personalizado.
    3. Asegúrate de que Elegir un método para hospedar los recursos de back-end de la aptitud esté establecido en Aprovisionamiento propio.
    4. Selecciona Crear aptitud.

    Choose model and hosting

  3. En la página siguiente:

    1. Asegúrate de que Elegir una plantilla está establecido en Empezar de cero
    2. Seleccione Choose(Elegir).

    Choose a template

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

  5. En el editor JSON:

    1. Reemplaza los contenidos existentes por 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, cambia <your-skill-invocation-name> al nombre que usarán los usuarios para invocar la aptitud en Alexa. Por ejemplo, si el nombre de invocación de la aptitud era "asistente del adaptador", un usuario podría decir "Alexa, inicia el asistente del adaptador" para iniciar la aptitud.

    3. En la matriz values de types, reemplaza las tres instancias de <example-phrase> por frases que los usuarios pueden decir para desencadenar la aptitud. Por ejemplo, si un usuario dice "Alexa, pídele al asistente del adaptador que me dé más información sobre el adaptador de Alexa", la frase de ejemplo podría ser "dame detalles del adaptador de Alexa".

  6. Selecciona Guardar modelo y, después, Compilar modelo. Esto actualiza la configuración de tu aptitud en Alexa.

Configura tu bot en Azure

Para completar este paso, necesitarás tu id. de aptitud de Alexa. Obtén el identificador o la dirección URL en el portal de Alexa o ve a la consola para desarrolladores de Alexa y haz clic en Copiar identificador de aptitud. El identificador de aptitud de Alexa debe ser un valor parecido a "amzn1.ask.skill.<some-guid>".

  1. Abra Azure Portal.
  2. Abra la hoja de recursos del bot de Azure para el bot.
  3. Abre Canales y selecciona Alexa.
  4. En Configuración del canal de Alexa, escribe la información que copiaste en el paso anterior.
    1. En Escribir identificador de aptitud, escribe el identificador de aptitud de Alexa que copiaste de la consola para desarrolladores de Alexa.
    2. Seleccione Aplicar.
    3. Copia elidentificador URI del punto de conexión de servicio de Alexa generado por Azure.

Actualización del registro del bot de Alexa

  1. Inicia sesión en la consola para desarrolladores de Alexa.

  2. Busca y abre la página de configuración de la aptitud.

  3. Seleccione el punto de conexión.

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

  5. En Región predeterminada:

    1. Escribe el identificador URI del punto de conexión de servicio de Alexa que copiaste de Azure Portal.
    2. En el menú desplegable, elige Mi punto de conexión de desarrollo es un subdominio de un dominio que tiene un certificado comodín procedente de una autoridad de certificado.

    Set service endpoint and endpoint type

  6. Selecciona Guardar puntos de conexión.

Prueba y publica tu aptitud

Si posees un dispositivo Alexa, puedes probar tu aptitud antes de publicarla.

Consulta la documentación para desarrolladores de Alexa Skills Kit para conocer las aptitudes del modelo de voz personalizados para obtener información sobre cómo probar y publicar tu aptitud en tu plataforma.

Información adicional

Para obtener más información sobre las aptitudes de Alexa, consulta la documentación para desarrolladores 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 aptitud de Alexa. Para obtener más información, consulta Entender la vinculación de cuentas para aptitudes de Alexa. Puedes requerir la vinculación de cuentas cuando el usuario habilita la aptitud o requerirla como parte de un flujo de conversación.

Si agregas la 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 pide 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 solicitudes posteriores de los datos del canal.

Pasos siguientes