El modelo de interacción
El modelo de interacción vive en el skill package, como se vio en la unidad anterior. Ahora conviene mirarlo de cerca — vas a usarlo para darle forma a los intents de Mi Agenda, como CreateReminderIntent.
Utterances únicas
Cada sample utterance solo puede mapear a un intent: no puede haber una utterance duplicada apuntando a dos intents distintos. El invocation name se configura como un campo separado; Alexa lo combina en tiempo real con una frase de lanzamiento ("Ask", "Tell"...) y con la sample utterance definida, así que no hace falta repetirlo dentro de cada utterance: son campos distintos que Alexa ensambla al hablar.
Slots y el dialog model
Un slot se escribe entre llaves dentro de una utterance y siempre necesita un tipo: integrado (prefijo AMAZON.) o personalizado. Cuando un intent necesita varios slots y conviene guiar la conversación en varios turnos, el dialog model opcional define esos pasos — útil, por ejemplo, si CreateReminderIntent necesita tanto el texto del recordatorio como el momento en que debe sonar.
Los intents integrados
AMAZON.StopIntent es el único obligatorio en toda skill, sin condición: su respuesta debe fijar shouldEndSession en true o null. AMAZON.HelpIntent no necesita utterances propias porque Alexa ya reconoce las frases estándar de ayuda. AMAZON.FallbackIntent responde con elegancia cuando el pedido queda fuera del dominio de la skill. Y AMAZON.PauseIntent/AMAZON.ResumeIntent solo son obligatorios si la skill transmite audio con la interfaz AudioPlayer.