Programar Skills de Alexa es muy fácil: te contamos cómo

Con Alexa, Amazon opera un servicio de voz basado en la nube para los altavoces inteligentes Amazon Echo, Echo Dot, Echo Show o Echo Spot. Al hablar de un altavoz inteligente, estamos haciendo referencia a un altavoz conectado a Internet con un asistente virtual integrado que recibe comandos a través de una interfaz de voz y, por lo tanto, permite diversas interacciones.

Los altavoces inteligentes sirven para el uso de servicios en línea basados en audio y permiten controlar dispositivos conectados a través de WiFi o Bluetooth como parte de la domótica (Smart Home). El Alexa Language Assistant ofrece ya de fábrica varias funciones básicas. Los usuarios pueden hablar por voz con su altavoz inteligente para reproducir música, ver noticias, recibir informes de tráfico y meteorológicos o proporcionar funciones de calendario. En combinación con los dispositivos inteligentes para el hogar, Alexa ofrece una interfaz de voz para el control de lámparas inteligentes, termostatos o tomas de corriente.

También pueden instalarse otras funciones extra, las llamadas Skills o funcionalidades de Alexa. La Alexa Skills Store ofrece a los usuarios más de 50.000 extensiones de desarrolladores externos, algunas de las cuales pueden activarse gratuitamente. Si quieres ser creativo, usando el Alexa Skills Kit y el AWS Lambda puedes programar tus Skills de Alexa en pocos pasos. Te mostraremos cómo se hace.

¿Qué es una Skill de Alexa?

Las Skills de Alexa son programas que pueden activarse en línea y que sirven para ampliar la gama de funciones del servicio de habla de Alexa. Técnicamente, una Skill de Alexa consta de una interfaz de usuario (el llamado frontend) y la lógica del programa (el backend). Cualquier dispositivo inteligente que soporte el servicio lingüístico de Alexa, tanto un altavoz inteligente de Amazon Echo como un refrigerador LG debidamente equipado, es capaz de funcionar como frontend de una Skill de Alexa. La lógica del programa en el backend se ejecuta en su propio servidor o en AWS Lambda, un servicio de procesamiento de datos desarrollado por Amazon.

Nota

AWS (Amazon Web Services) es una filial de la empresa online de venta por correo Amazon. Con la plataforma de computación en la nube del mismo nombre, la compañía es uno de los proveedores líderes para el aprovisionamiento de recursos de TI a demanda con un modelo de facturación basado en el uso.

Alexa Skill Development: requisitos para el desarrollo de Skills

Las Skills de Alexa se desarrollan utilizando el Alexa Skills Kit (ASK) y se ponen a disposición de los usuarios a través de la Alexa Skills Store. El acceso al Alexa Skills Kit está disponible a través de una cuenta gratuita para desarrolladores de Amazon.

Nota

El Alexa Skills Kit (ASK) es una colección de API de autoservicio, herramientas, documentación y ejemplos de código que te permite crear tus Skills de Alexa utilizando bloques de construcción prediseñados.

Si no deseas alojar tú mismo la lógica del programa de tu Skill de Alexa, necesitarás una cuenta AWS que te de acceso al servicio de procesamiento de datos de AWS Lambda.

Tutorial: Skills de Alexa en siete pasos

El proceso de desarrollar una Skill de Alexa personalizada hasta la publicación de tu aplicación consta de 7 pasos:

  • En los pasos 1 y 2, se crea una nueva Skill de Alexa en la consola de desarrollo de Amazon y se configura el modelo de interacción para la interfaz de voz.
  • Basándose en este modelo de interacción, se crea una función Lambda AWS en el paso 3 que incluye la lógica del programa de tu Skill. Esta se ejecuta en la plataforma de computación en la nube AWS de Amazon.
  • En el paso 4, conecta la función Lambda de AWS a la consola de desarrollo de Amazon para que tu Skill esté disponible para los dispositivos de Amazon.
  • A esto le sigue una fase de prueba en el paso 5 y la validación y publicación de tu Skill en los pasos 6 y 7.

Te mostraremos el desarrollo de una Skill de Alexa con un ejemplo sencillo:

Mary es una joven emprendedora que dirige un pequeño bar en la céntrica O’Connell Street, en Dublín. El Flour Pot Sandwiches ofrece sándwiches de sabores diferentes y se ha consolidado, desde su apertura, como una alternativa sabrosa y saludable a los sándwiches tradicionales. Gracias a la fantástica ubicación de su pequeño bar, a Mary nunca le han faltado clientes. No obstante, el insaciable espíritu emprendedor que la llevó a abrir su propio negocio, la impulsa ahora a buscar nuevas alternativas que le permitan seguir creciendo. Por este motivo, Mary está trabajando no solo en la creación de su propia página web, sino que se ha aventurado a crear una Skill para el servicio lingüístico de Alexa. Para empezar poco a poco, Mary ha decidido desarrollar una Skill de Alexa con la que sus clientes puedan comprobar el horario de apertura de su bar a través de la interfaz lingüística de Alexa.

1. Preparación

Para que los usuarios de Alexa Language Service puedan programar sus propias Skills de Alexa, Amazon proporciona el Alexa Skills Kit en la Alexa Developer Console como un entorno de desarrollo con una interfaz web gráfica. La consola de desarrollo Alexa forma parte de la consola de desarrollo de Amazon.

Inicia sesión en Amazon Developer. Si aún no tienes una cuenta de desarrollador de Amazon, crea una cuenta de desarrollador gratuita.

Después de iniciar sesión, se te guiará a la vista general del servicio. Selecciona aquí “Amazon Alexa”.

Haz clic en “Alexa Skills Kit” en el menú desplegable bajo “Productos” y luego en “Develop Skill” para abrir la consola de desarrollo de Alexa.

La página de inicio de la consola de desarrollo de Alexa te mostrará todas las Skills de Alexa que has creado. Si estás iniciando sesión por primera vez, la lista estará vacía.

Nota

La consola de desarrollador de Alexa solo está actualmente disponible en inglés, japonés y chino.

Haz clic en “Crear Skill” para crear una nueva Skill de Alexa.

Nombra tu Skill, selecciona el idioma deseado y elige uno de los cuatro tipos de modelo para el modelo de interacción de tu habilidad:

  • Modelo personalizado (modelo de interacción definido por el usuario)
  • Modelo Flash Briefing (modelo de interacción predefinido para feeds de noticias)
  • Modelo Smart Home (modelo de interacción predefinido para aplicaciones Smart Home)
  • Modelo de vídeo (modelo de interacción predefinido para aplicaciones de vídeo)

En este tutorial de Alexa Skill te mostraremos cómo crear modelos de interacción personalizados partiendo del Custom Skill Model.

Introduce como “Nombre de la Skill” (“Skill name”) el nombre con el que se mostrará tu Skill de Alexa más adelante en la vista general y en la tienda de Alexa Skills.

En nuestro ejemplo, Mary elige el nombre “Flour Pot Sandwiches”.

A continuación, haz clic en “Crear Skill” (“Create Skill”) para iniciar el proceso de desarrollo. Se te redirigirá automáticamente a la vista de edición de la consola de desarrollo de Alexa.

Nota

Si deseas personalizar o desarrollar una Skill de Alexa ya creada, haz clic en el botón “Editar” (“Edit”) en la vista general de Skills para cambiar a la vista editar.

2. Configurar el modelo de interacción utilizando el Alexa Skills Kit

Para desarrollar tu Skill de Alexa dispones de una interfaz gráfica de usuario que reduce al mínimo la programación, es decir, la intervención manual en el código. La vista de edición de la consola de desarrollo de Alexa está dividida en cinco secciones:

  • Build (Desarrollo)
  • Test
  • Distribution (Publicación)
  • Certification (Certificación)
  • Analytics (Análisis)

Utiliza las pestañas de la barra de navegación en la parte superior de la ventana del navegador para desplazarte de un área a otra.

Comienza en la sección “Build” para diseñar un modelo de interacción personalizado para tu Skill y practica con la ayuda del Alexa Skills Kit. La página de resumen del área de desarrollo se divide en tres columnas. La Skill se crea utilizando la lista de comprobación del skill builder (desarrollador de la Skill) en la columna de la derecha y consta de cuatro pasos de configuración:

  • Seleccionar el nombre de la Invocación
  • Definir intenciones y ejemplos de sentencias
  • Crear un modelo
  • Seleccionar el endpoint del servicio web

Si has completado uno de los pasos requeridos, una marca de verificación de color verde te lo indicará.

Inicia uno de los pasos de la configuración haciendo clic en el botón correspondiente de la lista de comprobación de Skill Builder. De manera alternativa, puedes seleccionar áreas de configuración determinadas mediante la barra del menú situada en la columna de la izquierda. Aquí se incluye un editor JSON y una opción de menú para seleccionar las interfaces de usuario.

En la columna central de la página encontrarás material informativo sobre Alexa Skill Development, así como un vídeo sobre el área seleccionada de la consola de Alexa Developer.

Selecciona el nombre de invocación

Primero se define el nombre de invocación de la Skill de Alexa. Haz clic en el paso 1 de la lista de comprobación de Skill Builder o selecciona el elemento de menú “Invocación” en la columna de la izquierda para abrir el área de configuración correspondiente.

El nombre de invocación es la expresión que utilizarán los usuarios para comunicarse con tu Skill. El nombre de invocación puede ser el mismo que el nombre de la Skill, pero puede diferir si es necesario.

Introduce el nombre de invocación deseado en el campo proporcionado para ello. Ten en cuenta los siguientes requisitos previos:

  • Utiliza un nombre de invocación con dos o más palabras.
  • Separa las palabras con espacios.
  • Utiliza solo letras minúsculas.
  • Pon el nombre de invocación entre comillas si estás usando un apóstrofe o una abreviatura con un punto.
  • Los números u otros caracteres especiales tienen que ser escritos.
Nota

El nombre de invocación no debe contener ninguna de las frases de inicio de Alexa Skill tales como “launch” (empezar), “ask” (preguntar), “tell” (decir), “load” (cargar), “open” (abrir) o “play” (jugar), ni palabras de aviso como “Alexa”, “Amazon”, “Echo” o “Computer”, que se utilizan para dirigirse al altavoz inteligente. Tampoco están permitidas las palabras “skill” y “app”.

Mary elige el nombre de invocación “Flour pots sandwiches” para su Skill.

Guarda el nombre de la invocación haciendo clic en “Guardar modelo”. A continuación, haz clic en “Custom” para volver a la vista general.

Definir propósitos (intents) y ejemplos de sentencias

Con los “Intents” tú defines las acciones que realiza tu Skill de Alexa tan pronto como un usuario utiliza un patrón de lenguaje específico. De este modo, determinas lo que un usuario de tu Skill puede decir, cuál es el propósito de su manifestación y cómo reacciona tu Skill ante ella. Cada Skill personalizada ya contiene cinco propósitos (intents) preestablecidos que deben implementarse más tarde. Además, puedes añadir a tu skill intents predeterminados o personalizados, según sea necesario.

Procede como se indica, a continuación, para crear un intent definido por el usuario:

Pon un nombre a la nueva intención y haz clic en “Create custom intent”.

Define las posibles formas con las que los usuarios podrían expresar su intención. Introduce la frase en el campo de texto y haz clic en el signo más (+).

A Mary le gustaría programar una intención para su Skill que permita a los usuarios preguntar sobre los horarios de apertura de su bar. Llama a la intención “GetOpeningHours” (obtener horarios de apertura) e introduce las frases con las que los usuarios podrían pedir esta información.

A continuación, la consola de desarrollo ampliará por aprendizaje automático los patrones de reconocimiento de habla que has definido. Sin embargo, esto solo funciona si el sistema dispone de una base de datos suficientemente amplia. Por lo tanto, debes introducir al menos ocho y hasta alrededor de 30 ejemplos de expresiones con la intención que elijas.

Si has introducido un amplio número de ejemplos, vuelve a la vista general con el botón “Personalizar” para crear el modelo y entrenarlo por aprendizaje automático.

Crear modelo

Procede de la siguiente manera para crear el modelo de interacción de tu Skill de Alexa basado en los ajustes que has realizado:

Haz clic en “Build Model” en la lista de comprobación de Skill Builder. La consola de desarrollo de Amazon reproduce un mensaje push que te informará de que el proceso de compilación ha comenzado.

Espera a que la consola te notifique que tu modelo de interacción se ha creado con éxito.

Nota

Si después quieres hacer cambios en el nombre de la invocación, los propósitos o comentarios de ejemplo, solo tienes que reiniciar el proceso de compilación para crear un nuevo modelo.

Selecciona el “Endpoint” del servicio web

El paso 4 de la lista de comprobación de Skill Builder incluye la selección del endpoint del servicio web. Aquí tienes dos opciones a elegir: la lógica del programa de tu Skill de Alexa puede ser ejecutada como una función Lambda en la plataforma de computación en la nube de AWS o a través de HTTPS en su propio servidor web.

Si deseas que la lógica del programa se ejecute con tus propios recursos, necesitas un servidor web que cumpla los siguientes requisitos:

  • Conexión a Internet
  • HTTPS a través de un certificado SSL/TLS reconocido por Amazon
  • El puerto 443 está disponible para consultas

Si deseas usar AWS Lambda para el alojamiento, necesitarás una cuenta de usuario para el Servicio Web de Amazon.

En este tutorial nos basamos en AWS y creamos la lógica del programa de tu Skill de Alexa como una función Lambda.

Para ello deberás activar la casilla de verificación de AWS Lambda ARN. ARN significa “Amazon Resource Name” (nombre del recurso de Amazon). Es un nombre único para un recurso AWS, como una función Lambda, por ejemplo.

Antes de poder enlazar con ARN a una función Lambda que contiene la lógica del programa de tu Skill, primero debes crearla en la consola AWS. Te mostraremos cómo hacerlo en el punto 3 de este tutorial de Skills de Alexa.

Opcional: interfaces de programación

Las Skills de Alexa se pueden ampliar con varias API (interfaces de programación) que te ofrecen la posibilidad de proporcionar contenidos multimedia o de integrar dispositivos externos. La siguiente tabla muestra una selección de API disponibles:

Interfaz Descripción
Audio Player API La Audio Player API amplía el código de programa de una Skill para incluir todos los requisitos para la reproducción de contenido de audio.
Display API Una Skill de Alexa ampliada con una Display API permite la interacción en la pantalla del Echo Show.
Video App API Una Skill con la API de aplicaciones de vídeo puede reproducir contenido de streaming de vídeo en el Echo Show.
Alexa Gadget API La API de Gadgets puede utilizarse para programar Skills de Alexa que permitan interactuar con otros accesorios de Alexa.

3. Crear la lógica del programa para AWS Lambda

El servicio de procesamiento de datos AWS Lambda forma parte de Amazon Web Services. Regístrate primero para obtener una cuenta AWS gratuita.

Nota

No incurrirás en ningún gasto al registrar tu cuenta AWS. Estos solo se producen cuando se utilizan recursos de AWS. Amazon proporciona durante los primeros 12 meses ciertos servicios a los usuarios recién registrados de forma gratuita. En AWS Lambda, la cuota gratuita incluye actualmente 1 millón de llamadas a la API y 3,2 millones de segundos de tiempo de cálculo al mes.

Accede a tu cuenta AWS y selecciona “AWS Management Console” en “Mi cuenta”.

La consola de administración de AWS es una interfaz de usuario basada en el navegador que te permite acceder y administrar los servicios web de Amazon.

Primero, asegúrate de que tu consola está configurada en la región donde quieres ofrecer tu Skill. Selecciona el ajuste regional “EU (Ireland)” si deseas que tu funcionalidad esté disponible para los usuarios europeos.

La consola de administración AWS te da acceso a una variedad de recursos de computación en la nube. Para encontrar el producto AWS deseado, utiliza la función de búsqueda “Find services”. Introduce la palabra clave “Lambda” en el campo de búsqueda y confirma con “Enter”. En el punto de menú “Servicios” también encuentras un resumen de la gama de productos AWS.

En la página principal del servicio de procesamiento de datos AWS Lambda, la consola AWS muestra un resumen de las funciones Lambda que has creado. Si todavía no has creado ninguna, la lista estará vacía.

Haz clic en “Crear función” para iniciar el proceso de configuración de una nueva función Lambda.

Las funciones AWS Lambda pueden crearse desde cero, utilizando una plantilla predefinida o partiendo de una aplicación proporcionada por AWS o por socios colaboradores en el repositorio AWS de aplicaciones sin servidor.

Puesto que tenemos que recurrir a varias bibliotecas para la lógica del programa de nuestra Skill, es mejor partir una plantilla.

Por lo tanto, selecciona la opción “Plantilla” e introduce la palabra clave “alexa” en la máscara de búsqueda.

En este caso, no importa qué plantilla elijas, ya que solo necesitamos las bibliotecas. El código lo rescribiremos completamente siguiendo estos pasos.

Para el tutorial elegimos la plantilla “alexa-skill-kit-sdk-factskill” basada en Node.js 6.10.

Confirma tu selección haciendo clic en “Configurar”.

En el siguiente paso, selecciona un nombre y un rol de ejecución Lambda. Este último define las autorizaciones de la función. En línea con nuestro ejemplo, la función debería llamarse “FlourPotSandwiches”. Para definir sus permisos, hacemos clic en “Crear un rol definido por el usuario” en el menú desplegable bajo “Rol”.

Nota

La consola de administración AWS te informa de que tu función contiene bibliotecas externas.

La máscara de configuración para el rol de ejecución de la función se abre en una nueva pestaña, ya con valores establecidos por defecto.

No cambies nada aquí y confirma el ajuste con “Allow” (permitir). La función Lambda se crea con el rol “lambda_basic_execution”. La pestaña se cierra automáticamente.

En la parte inferior de la máscara de configuración encontrarás el código de función Lambda de la plantilla. No es necesario que prestes atención a esto al principio. Haz clic en “Create function” (crear función).

Una vez creada la función Lambda, pasarás automáticamente a la vista general de la configuración, donde podrás realizar todos los ajustes necesarios.

En la parte superior del panel de configuración encontrarás el diseñador de funciones y un editor con el que podrás intervenir manualmente en el código de función. Al editor le siguen otros botones de configuración, que no se tratan en detalle en este tutorial de Skills de Alexa.

Desplázate hacia abajo hasta la sección “Código de función”, marca el código completo en el editor con [Ctrl] +[E] y bórralo con la tecla DEL.

Ahora cambia a la consola de desarrollo de Amazon y abre el modelo de interacción de tu Skill en el Editor JSON. El botón correspondiente se encuentra en el menú de navegación en el lado izquierdo de la ventana.

Desplázate hacia abajo hasta la sección “Código de función”, marca todo el código JSON con [Ctrl]+[E] y cópialo usando [Ctrl] + [C].

El modelo de interacción para nuestro ejemplo “FlourPotsSandwiches” es el siguiente:

{
    "interactionModel": {
        "languageModel": {
            "invocationName": “flour pots sandwiches”,
            "intents": [
                {
                    "name": "AMAZON.FallbackIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.CancelIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.HelpIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.StopIntent",
                    "samples": []
                },
                {
                    "name": "AMAZON.NavigateHomeIntent",
                    "samples": []
                },
                {
                    "name": "GetOpeningHours",
                    "slots": [],
                    "samples": [
                        “horarios de apertura”,
                        “cómo son los horarios de apertura”,
                        “cuáles son los horarios de apertura”,
                        “cuándo cierra el bar”,
                        “cuándo está abierto el bar”,
                       “cuándo abre el bar”,
                        “a qué hora cierra el bar”,
                        “hasta qué hora está abierto el bar”,
                        “a qué hora abre el bar”,
                        “cuándo se abre el bar”,
                        “cuándo está abierto al público el bar”
                    ]
                }
            ],
            "types": []
        }
    }
}

El código muestra el modelo de interacción creado previamente en formato JSON.

Nota

JSON (JavaScript Object Notation) es un formato de intercambio de datos compacto y basado en texto que es fácil de procesar tanto para humanos como para máquinas. Los datos en formato JSON se almacenan como pares nombre-valor o como listas ordenadas.

Nuestro documento JSON contiene los propósitos (intents) de nuestra Skill Alexa, así como los ejemplos de declaraciones asignadas a las intenciones (si están disponibles). Por lo tanto, incluye todas las posibilidades de interacción que están disponibles en el lado del usuario.

La forma en que nuestra Skill reacciona a las señales del usuario se define en el código de función de nuestra función Lambda. Para ello, utilizamos la aplicación web Skillinator.io. Con esta herramienta gratuita puedes convertir un modelo de interacción en formato JSON, con un simple clic del ratón, en una plantilla Lambda válida.

Abre la dirección https://skillinator.io/ en el navegador web y pega el modelo de interacción copiado en el portapapeles en la ventana derecha de la aplicación web. A continuación, haz clic en “Generate” (generar).

Copia esta plantilla Lambda en el portapapeles y abre el resumen de la configuración de tu función Lambda en la consola de gestión AWS. Ahora inserta la plantilla como código de función para tu función Lambda. Guarda el cambio.

Ahora has creado una función Lambda con una lógica de programa válida. Sin embargo, hay importantes secciones del código de función que están llenas de marcadores de posición como, por ejemplo, la salida de voz que Alexa reproduce tan pronto como un usuario pronuncia una frase que corresponde a la intención definida anteriormente.

Por lo tanto, a continuación, es necesario revisar la plantilla creada con Skillinator.io línea por línea y reescribir las secciones correspondientes manualmente.

En este tutorial de Skills de Alexa limitamos la adaptación del código al welcomeOutput (el mensaje de bienvenida) y a la salida de voz para el propósito (intent) “GetOpeningHours” definido en el modelo de interacción. En la práctica, sin embargo, deberías definir una salida de voz propia para todos los propósitos (intents) de tu Skill.

El welcomeOutput se define por la variable del mismo nombre y se encuentra en el área comentada “1. Text strings” (cadenas de texto). Reemplazamos el marcador de posición “This is a placeholder welcome message. This skill includes 6 intents. Try one of your intent utterances to test the skill.” con un saludo propio.

El WelcomeOutput se complementa con un welcomeReprompt. En él se define lo que Alexa debe decir si el usuario no contesta el saludo.

Consejo

Para aplicaciones de voz, trabaja siempre con variaciones. Diseña la interacción con tu Skill de la forma más variada posible. Por ejemplo, el reprompt debe ser siempre una reformulación del primer resultado obtenido.

// 1. Text strings =====================================================================================================
 //    Modify these strings and messages to change the behavior of your Lambda function
let speechOutput;
let reprompt;
let welcomeOutput = “Bienvenido a Flour Pots Sandwiches ¿qué puedo hacer por ti?”;
let welcomeReprompt = “¿En qué puedo ayudarte?”;

A continuación, nos desplazamos hasta el área “2. Skill Code” (código de Skill). Aquí encontramos seis intent-slots de acuerdo con nuestro modelo de interacción: los cinco propósitos (intents) estándar y el que hemos definido, “GetOpeningHours”.

El propósito “GetOpeningHours” corresponde a la intención de un usuario de solicitar el horario de apertura de Flour Pots Sandwiches. Reemplazamos el marcador de posición “This is a placeholder response for the intent named GetOpeningHours. This intent has no slots. Anything else?” por una respuesta correspondiente al propósito.

'GetOpeningHours': function () {
		speechOutput = '';
		//any intent slot variables are listed here for convenience
		//Your custom intent handling goes here
		speechOutput = “Flour Pots Sandwiches abre hoy entre las 10 y las 18 horas”;
		this.emit(":ask", speechOutput, speechOutput);
    },

Después de guardar los cambios, nuestra Skill de Alexa está teóricamente lista para la primera prueba. Para ello, primero tenemos que vincular la función Lambda “FlourPotsSandwiches” con la configuración web de la Skill en la consola de desarrollo de Alexa.

4. Enlazar el modelo de interacción con la función Lambda de AWS

Para que los usuarios puedan dirigirse a nuestra Skill utilizando un altavoz inteligente, se requiere un enlace en los dos sentidos. Procederemos en dos pasos:

  • Primero definiremos el modelo de interacción configurado en la consola Alexa Developer como un disparador para la función AWS Lambda.
  • A continuación, introduciremos la función Lambda “FlourPotsSandwiches” en la consola de desarrollo de Alexa como enpoint del servicio web para la Skill.

Definir el modelo de interacción como disparador

Accede a la configuración de tu función Lambda en la consola de gestión AWS y selecciona la opción “Alexa Skills Kit” en el diseñador de funciones.

El kit de funcionalidades de Alexa aparece ahora como un disparador en la representación gráfica de la función Lambda, pero requiere una configuración adicional.

Para ello necesitamos el ID de cualificación del modelo de interacción creado en la consola de Alexa Developer. Para encontrarlo, ve a la consola de desarrollo de Alexa y selecciona allí el punto “Endpoint” en la barra de navegación, en el lado izquierdo de la ventana de tu navegador.

Copia la cadena de caracteres que aparece en “Your Skill ID” en el portapapeles y, a continuación, introdúcelo como el ID de cualificación de tu función Lambda. Confirma la configuración haciendo clic en “Add” (añadir) y guarda los cambios (“Save”).

Registrar la función Lambda como endpoint

Para definir el enpoint del servicio web para tu Skill, desplázate hacia arriba en el panel de configuración de tu función Lambda. Copia el ARN en la esquina superior derecha de la ventana de tu navegador y cambia a la consola de desarrollo de Alexa.

En el menú de navegación de la consola de desarrollo Alexa, vuelve a seleccionar “Endpoint” (si no está seleccionado ya) y pega el ARN copiado en el campo “Default Region”.

Debes definir, al menos, un endpoint predeterminado para tu Skill. También puedes especificar endpoints alternativos para Norteamérica, Europa e India, así como para Oriente Próximo y Lejano. Guarda los ajustes con un clic en “Save Endpoints”.

Tu Skill de Alexa está lista para la primera prueba.

5. Test

En la sección “Test”, la consola de desarrollo de Alexa ofrece un entorno de pruebas completo para Skills, incluyendo un simulador de Alexa con salida de voz. Puedes acceder al entorno de pruebas haciendo clic en la pestaña “Test” de la barra del menú situada en la parte superior de la ventana del navegador.

De forma predeterminada, el entorno de pruebas está desactivado para las Skills de Alexa recién creadas. Actívalo cambiando el menú desplegable de “Off” (desactivado) a “Development” (desarrollo).

Ahora puedes interactuar con tu Skill de Alexa en la etapa actual de desarrollo para asegurarte de que funcione en la práctica tal y como imaginaste.

Provee al simulador de Alexa de acceso a un micrófono o introduce comandos de voz utilizando el teclado. Llama a tu nueva Skill Alexa usando la invocación y prueba un comando de voz que corresponda a la intención que has definido previamente.

Nuestra Skill puede iniciarse con la invocación “flour pots sandwiches”. Alexa responde con el welcomeOutput definido en la lógica del programa:

     “Bienvenido a Flour Pots Sandwiches. ¿Qué puedo hacer por ti?”

El acceso a la lógica del programa ha funcionado. La entrada y salida que ha procesado el servicio de habla de Amazon en la consulta se muestra en la ventana Skill I/O en formato JSON.

Ahora haz una pregunta que corresponda a la intención. Siguiendo nuestro ejemplo, preguntamos por el horario de apertura del snack bar:

   "¿A qué hora está abierto el bar hoy?"

Alexa entiende nuestra pregunta y nos da la información que necesitamos:

  “Flour Pots Sandwiches está abierto de 10:00 a 18:00 hoy.”

Nota

Alternativamente, prueba las nuevas Skills de Alexa en todos los dispositivos conectados a tu cuenta de Amazon Developer, incluso antes de su lanzamiento.

6. Publicación

Si has probado tu nueva Skill de Alexa y la has encontrado satisfactoria, puedes ponerla a disposición de otros usuarios a través de la Alexa Skills Store. Debes proporcionar toda la información necesaria para su publicación.

Para ello, ve a la sección “Distribution” (publicación) haciendo clic en el botón del mismo nombre situado en el menú de navegación de la consola de desarrollo de Alexa. Rellena todos los campos obligatorios bajo “Skill Preview” (vista previa de habilidades), “Privacy & Compliance” (Privacidad y cumplimiento) y “Availability” (disponibilidad).

En “Skill preview”, introduce toda la información que debe mostrarse en la vista previa a los usuarios en el país de destino deseado. Debes proporcionar esta información:

  • Nombre de la Skill
  • Breve descripción (máx. 160 caracteres)
  • Descripción detallada (máx. 4 000 caracteres)
  • Al menos tres ejemplos de invocaciones
  • Icono de la Skill (pequeño)
  • Icono de la Skill (grande)
  • Categoría

Si es necesario, también puedes introducir información sobre nuevas funciones e incluso enlaces a las disposiciones de protección de datos o a las condiciones de uso de tu Skill.

Consejo

¿No tienes un icono de tu Skill a mano ahora mismo? Entonces usa el Constructor de Iconos de Alexa Skill.

En “Privacidad y cumplimiento”, especificarás si los usuarios pueden utilizar funciones de pago dentro de tu Skill, si recopilas datos personales de los usuarios, si tu Skill está dirigida a usuarios menores de 13 años o si incluye publicidad.

Nota

La activación de una Skill de Alexa a través de la Alexa Skills Store es gratuita. Los proyectos programados con el Alexa Skills Kit pueden monetizarse mediante la compra de Skills y suscripciones.

Además de todo esto, debes confirmar que tu Skill cumple con los requisitos de exportación de Alexa Skills (Export Compliance). Si la verificación por parte del equipo de Alexa tiene que seguir ciertas instrucciones como, por ejemplo, con respecto a los requisitos de hardware o software, puedes describirlos en un campo de texto proporcionado para este propósito.

Finalmente, en “Disponibilidad”, define las restricciones para la disponibilidad de tu Skill. ¿Debería estar disponible para todos los usuarios o solo para determinadas organizaciones?, ¿deben realizar las pruebas beta determinadas personas?, y ¿en qué países y regiones te gustaría publicarla?

Guarda tus datos en las áreas “Vista previa de habilidades”, “Privacidad y cumplimiento” y “Disponibilidad” haciendo clic en “Save and continue” (guardar y continuar).

Tus datos serán validados en el marco de la certificación de tu Skill.

7. Certificación

Una vez que hayas ingresado toda la información requerida para la publicación, puedes entregar tu Skill para para su validación.

Después de haber guardado tus datos de publicación haciendo clic en “Guardar y continuar”, serás redirigido automáticamente al área “Certification” (certificación). La consola Alexa Developer comprueba tus datos y te pide, si es necesario, que revises la información incorrecta o que proporciones los datos que faltan.

Si has introducido la información requerida correctamente o la has corregido si ha sido necesario, puedes continuar con una prueba de funcionamiento. Inicia la prueba haciendo clic en “Run” (ejecutar).

Si el informe de prueba muestra errores, tienes la opción de volver al área determinada, corregir el error y realizar una nueva prueba de funcionamiento.

Una vez que la Skill de Alexa que has programado completa con éxito el test funcional, estará lista para el paso final de la publicación, la “Submission” (enviar). Haz clic en “Submit for Review” (enviar para revisión) para certificar tu Skill.

Nota

Mientras tiene lugar el proceso de certificación, no se puede cambiar la configuración de tu Skill. Sin embargo, puedes cancelarlo en cualquier momento. Haz clic en el botón “Withdraw from Certification” (retirar de la certificación).

Una vez Amazon ha completado la revisión, recibirás un correo electrónico en la cuenta asociada a tu cuenta de desarrollador de Amazon. Existen básicamente dos escenarios posibles:

  • Tu Skill se ha certificado con éxito: en este caso, se te comunicará por correo electrónico cuándo se espera que tu Skill se publique en la Alexa Skills Store.
  • Tu Skill no ha sido certificada: en este caso, Amazon ha identificado problemas durante el proceso de certificación. El correo electrónico incluirá un informe detallado de los cambios que se requieren para su certificación. Una vez que hayas hecho los ajustes necesarios, puedes volver a presentar tu Skill en cualquier momento.

Puedes ver el estado actual de todas las Skills de Alexa que has creado en la vista general de Skills de la Alexa Developer Console.

  • “In development”: tu Skill está en desarrollo.
  • “Certification”: tu Skill está en el proceso de certificación.
  • “Live”: tu Skill está disponible para los usuarios a través de la Alexa Skills Store.
Nota

Si tu Skill ha alcanzado el estado “Live”, no podrás ajustar su configuración posteriormente. Además de la versión en vivo, en la consola de desarrolladores está disponible una versión para desarrolladores de la Skill publicada que puede ser revisada independientemente de la original. Una vez que Amazon haya certificado una versión revisada de tu Skill, esta reemplazará a la versión anterior en vivo y creará automáticamente una nueva versión de desarrollo

Mejor experiencia de usuario con la interfaz de voz

¿Por qué deberías, como empresario, desarrollar una Skill de Alexa? La razón es obvia: la interacción entre seres humanos se basa, en gran medida, en la comunicación oral. Sin embargo, cuando se trata de máquinas, seguimos recurriendo a herramientas que nos presten ayuda: lo que introducimos en el sistema con el teclado, el ratón o la pantalla táctil conduce a una respuesta en la pantalla. No obstante, esto está a punto de cambiar con Amazon Alexa, Google Assistant y Apple Siri, pues la operación se basa en un diálogo en el que los objetos se convierten en interlocutores y la forma de tratarlos se vuelve más intuitiva.

Esta tecnología está todavía dando sus primeros pasos, pero Voice as UI es una tendencia que tiene el potencial de cambiar la forma en que percibimos e interactuamos con las máquinas. Para ti como empresario o empresaria, un servicio lingüístico como Amazon Alexa ofrece una gran cantidad de opciones.

Utiliza Alexa Skills, por ejemplo, para demostrar a tus clientes que tu empresa está a la vanguardia de las nuevas tecnologías. Preséntate de una manera moderna y dinámica, ofreciendo a tus clientes posibilidades de interacción completamente nuevas. En España, Voice as UI todavía tiene el encanto de lo nuevo y puede convertir las actividades banales en una experiencia.

Como producto de la empresa Amazon, Alexa se beneficia de un enorme alcance. Junto con Google, la empresa domina el mercado de los altavoces inteligentes. Los consumidores perciben el smart speaker como un medio revolucionario y esto da paso a un canal de comunicación completamente nuevo para el marketing. En el área de atención al cliente, por ejemplo, Alexa ofrece la oportunidad de personalizar los procesos de comunicación automatizados.

Por el momento, los asistentes de habla virtuales siguen centrándose en una función de asesoramiento. Pero en el futuro, los smart speakers harán posible varias conversiones como, por ejemplo, la compra por comandos de voz. Alexa Skill se convertirá entonces en una sucursal virtual ubicada directamente en el salón de tus clientes. Esto ya es una realidad para los miembros de Amazon Prime que pueden hacer compras de voz a través de Amazon Pay.