Antes de começar a desenvolver skills para Alexa é necessário conhecer alguns conceitos importantes, como o que é intent.
Por padrão, numa skill Alexa não temos tela para interagir com o usuário. Ok, o Echo Show tem uma tela, mas devemos utiliza-la apenas como complemento para melhorar a experiência do usuário… portanto devemos pensar na interação com nosso usuário usando apenas a voz.
E para isso temos as Intents (intenções) e Utterances (enunciados). Neste artigo vamos falar mais sobre Intent (intenção).
O Que É Intent?
Intent ou intenção é uma representação da ação que atende uma solicitação falada do usuário.
As intents (intenções) podem possuir argumentos chamados slots que são como as variáveis que utilizamos para armazenar informações.
Intents (intenções) são especificadas em uma estrutura JSON chamada intent schema (esquema de intenções)
Vamos ver um exemplo?
O usuário pode pedir: “Alexa, pergunte a História do Brasil o que aconteceu no dia 7 de setembro”.
Esta declaração, “…o que aconteceu no dia 7 de setembro” mapeia para uma intenção específica que será tratada por uma skill específica da Alexa. Isso informa à Alexa que o usuário deseja que a skill História do Brasil obtenha informações históricas em uma data específica.
Fazendo uma analogia um pouco rasa com o desenvolvimento web, podemos dizer que uma intenção é como uma página web que faz uma solicitação HTTP após o envio de um formulário HTML. A intent (intenção) envia dados sobre a solicitação ao back-end da skill.
Criando Uma Intent (Intenção)
Ao criar intent (intenção) nova, você fornece um nome e uma lista de enunciados (utterances) que os usuários diriam para invocar essa intent (intenção). Você pode começar escrevendo as frases completas e depois identificar os slots.
Dentro do Alexa Skills Kit você vai encontrar uma grande biblioteca de intents (intenções) internas (também chamadas de built-in) que você pode usar em vez de criar as suas próprias. Você não precisa escrever os enunciados (utterances) para essas intenções, simplificando o desenvolvimento.
Você pode pesquisar a biblioteca completa de built-in intents no console do desenvolvedor.
Requisitos Do Nome Da Intenção
Existem algumas regras para darmos nomes a um intent (intenção).
- Pode conter apenas caracteres alfabéticos e sublinhados. O nome da intenção não é case sensitive, ou seja, não diferenciam maiúsculas de minúsculas.
- Não são permitidos números, espaços ou caracteres especiais.
- Não podem se sobrepor a nenhum nome de slot no esquema.
Repare que as built-in intents usam o namespace AMAZON, então eles são especificados usando ponto, como por exemplo: AMAZON.HelpIntent. Essa notação é válida apenas para especificar o namespace AMAZON. Pontos não devem ser usados em nomes de intents (intenção).
Por exemplo, LerHoroscopoDoZodiacoIntent é válido, enquanto Ler Horoscopo Do Zodiaco Intent, Zodiaco.LerHoroscopoIntent, LerHoroscopo2020Intent são inválidos.
Palavras Finais
Em resumo, o que é intent?
Uma intent representa uma ação que atende a uma solicitação do usuário. A Intenção pode, opcionalmente, ter argumentos chamados slots.
Slots são nossas variáveis e… serão assunto para outro artigo.
E se você quer saber mais sobre como desenvolver skills para Alexa, me acompanhe nesta jornada entrando para o Grupo VIP App Dev!
Deixe um comentário