Conectar um bot ao Alexa

APLICA-SE A: SDK v4

Você pode configurar seu bot para se comunicar com as pessoas por meio de uma habilidade personalizada do Alexa. Este artigo descreve como criar uma habilidade do Alexa usando o Alexa Developer Console, conectar seu bot à sua habilidade Alexa no Azure e testar seu bot no Alexa.

Pré-requisitos

  • Uma subscrição do Azure. Se ainda não tiver uma, crie uma conta gratuita antes de começar.
  • Um bot publicado no Azure que você deseja conectar ao Alexa.
  • Uma conta da Amazon.

Importante

Seu bot deve usar o Bot Framework SDK versão 4.8 ou posterior. Se você tiver um bot existente, talvez seja necessário atualizar sua versão do SDK e republicá-lo.

Criar uma habilidade Alexa

  1. Faça login no Alexa Developer Console e selecione Criar habilidade.

  2. Na página seguinte:

    1. Introduza um nome para a sua nova habilidade.
    2. Certifique-se de que Escolha um modelo para adicionar à sua habilidade está definido como Personalizado.
    3. Certifique-se de que Escolha um método para hospedar os recursos de back-end da sua habilidade esteja definido como Provisionar o seu próprio.
    4. Selecione Criar habilidade.

    Choose model and hosting

  3. Na página seguinte:

    1. Certifique-se de que Escolha um modelo está definido como Iniciar do zero
    2. Selecione Selecionar.

    Choose a template

  4. No painel de habilidades, em Modelo de Interação, selecione Editor JSON.

  5. No editor JSON:

    1. Substitua o conteúdo existente pelo seguinte 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, altere <your-skill-invocation-name> para o nome que os usuários usarão para invocar sua habilidade na Alexa. Por exemplo, se o nome da invocação da habilidade fosse "auxiliar do adaptador", um usuário poderia dizer "Alexa, auxiliar do adaptador de inicialização" para iniciar a habilidade.

    3. values Na matriz em types, substitua as três instâncias de <example-phrase> por frases que os usuários podem dizer para acionar sua habilidade. Por exemplo, se um usuário disser "Alexa, peça ao auxiliar do adaptador para me fornecer detalhes do adaptador alexa", um exemplo de frase pode ser "me dê detalhes do adaptador alexa".

  6. Selecione Salvar modelo e, em seguida, selecione Construir modelo. Isso atualiza a configuração da sua habilidade na Alexa.

Configurar seu bot no Azure

Para concluir esta etapa, você precisará do seu ID de habilidade do Alexa. Obtenha o ID a partir do URL no portal do Alexa ou acessando o Alexa Developer Console e selecionando Copiar ID de habilidade. Seu Alexa Skill ID deve ser um valor como "amzn1.ask.skill.<algum guid>".

  1. Abra o portal do Azure.
  2. Abra a folha de recursos do Bot do Azure para seu bot.
  3. Abra Canais e selecione Alexa.
  4. Em Configuração do canal Alexa, insira as informações copiadas na etapa anterior.
    1. Em Enter skill Id, insira o ID de habilidade do Alexa que você copiou do Alexa Developer Console.
    2. Selecione Aplicar.
    3. Copie o URI do ponto de extremidade do serviço Alexa gerado pelo Azure.

Atualize seu registro no bot Alexa

  1. Faça login no Alexa Developer Console.

  2. Encontre e abra a página de configuração da sua habilidade.

  3. Selecione o Ponto Final.

  4. Em Service Endpoint Type, selecione HTTPS.

  5. Para a região padrão:

    1. Insira o URI do ponto de extremidade do serviço Alexa copiado do portal do Azure.
    2. Na lista suspensa, selecione Meu ponto de extremidade de desenvolvimento é um subdomínio de um domínio que tem um certificado curinga de uma autoridade de certificação.

    Set service endpoint and endpoint type

  6. Selecione Salvar pontos de extremidade.

Teste e publique suas habilidades

Se você possui um dispositivo Alexa, pode testar sua habilidade antes de publicá-lo.

Consulte a documentação do desenvolvedor do Alexa Skills Kit para obter habilidades de modelo de voz personalizado para obter informações sobre como testar e publicar sua habilidade na plataforma deles.

Informações adicionais

Para obter mais informações sobre as habilidades do Alexa, consulte a documentação do desenvolvedor da Amazon:

Autenticação do usuário no Alexa

A autenticação do usuário no Alexa é feita configurando e usando o Vinculamento de conta na habilidade Alexa. Para obter mais informações, consulte Compreender a vinculação de contas para Alexa Skills. Você pode exigir a vinculação de conta quando o usuário habilita a habilidade, ou você pode exigi-la como parte de um fluxo de conversa.

Se você adicionar autenticação de usuário como parte da conversa:

  1. Anexe um cartão de entrada na atividade de saída. Isso será convertido em um cartão Alexa LinkAccount que solicita que o usuário faça login usando o aplicativo Alexa.

  2. Se o usuário vincular com êxito sua conta ao aplicativo, um token estará disponível em solicitações subsequentes nos dados do canal.

Próximos passos