Connettere un bot ad Alexa

SI APPLICA A: SDK v4

È possibile configurare il bot per comunicare con le persone tramite una competenza personalizzata di Alexa. Questo articolo descrive come creare una competenza Alexa usando la console per sviluppatori di Alexa, connettere il bot alla competenza Alexa in Azure e testare il bot in Alexa.

Prerequisiti

  • Una sottoscrizione di Azure. Se non se ne ha già uno, creare un account gratuito prima di iniziare.
  • Un bot pubblicato in Azure che si vuole connettere ad Alexa.
  • Un account Amazon.

Importante

Il bot deve usare Bot Framework SDK versione 4.8 o successiva. Se si dispone di un bot esistente, potrebbe essere necessario aggiornare la versione dell'SDK e ripubblicare il bot.

Creare una competenza di Alexa

  1. Accedere alla console per sviluppatori di Alexa e selezionare Crea competenza.

  2. Nella pagina successiva:

    1. Immettere un nome per la nuova competenza.
    2. Assicurarsi che Scegliere un modello da aggiungere alla competenza sia impostato su Personalizzato.
    3. Assicurarsi che Scegliere un metodo per ospitare le risorse back-end della competenza sia impostato su Effettuare il provisioning personalizzato.
    4. Selezionare Crea competenza.

    Choose model and hosting

  3. Nella pagina successiva:

    1. Assicurarsi che Choose a template (Scegli un modello ) sia impostato su Start from scratch (Inizia da zero)
    2. Selezionare Scegli.

    Choose a template

  4. Nel dashboard delle competenze in Modello di interazione selezionare Editor JSON.

  5. Nell'editor JSON:

    1. Sostituire il contenuto esistente con il codice JSON seguente.

      {
          "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. Per invocationName, modificare <your-skill-invocation-name> con il nome che gli utenti useranno per richiamare la competenza su Alexa. Ad esempio, se il nome di chiamata della competenza era "helper adattatore", un utente potrebbe pronunciare "Alexa, avviare l'helper dell'adattatore" per avviare la competenza.

    3. values Nella matrice in typessostituire le tre istanze di <example-phrase> con frasi che gli utenti possono pronunciare per attivare la competenza. Ad esempio, se un utente dice "Alexa, chiedere all'helper adattatore di fornire i dettagli dell'adattatore alexa", una frase di esempio potrebbe essere "dammi i dettagli dell'adattatore alexa".

  6. Selezionare Save Model (Salva modello) e quindi Build Model ( Compila modello). Questo aggiorna la configurazione della competenza su Alexa.

Configurare il bot in Azure

Per completare questo passaggio, è necessario l'ID competenza alexa. Ottenere l'ID dall'URL nel portale di Alexa o passando alla console per sviluppatori di Alexa e selezionando Copia ID competenza. L'ID competenza alexa deve essere un valore simile a "amzn1.ask.skill.<some-guid>".

  1. Apri il portale di Azure.
  2. Aprire il pannello delle risorse di Azure Bot per il bot.
  3. Aprire Canali e selezionare Alexa.
  4. In Configurazione canale Alexa immettere le informazioni copiate nel passaggio precedente.
    1. In Immettere l'ID competenza immettere l'ID competenza Alexa copiato dalla console per sviluppatori di Alexa.
    2. Selezionare Applica.
    3. Copiare l'URI dell'endpoint di servizio Alexa generato da Azure.

Aggiornare la registrazione del bot Alexa

  1. Accedere alla console per sviluppatori di Alexa.

  2. Trovare e aprire la pagina di configurazione della competenza.

  3. Selezionare Endpoint.

  4. Per Tipo di endpoint di servizio selezionare HTTPS.

  5. Per l'area predefinita:

    1. Immettere l'URI dell'endpoint di servizio Alexa copiato dal portale di Azure.
    2. Nell'elenco a discesa selezionare Endpoint di sviluppo personale è un sottodominio di un dominio con un certificato con caratteri jolly da un'autorità di certificazione.

    Set service endpoint and endpoint type

  6. Selezionare Salva endpoint.

Testare e pubblicare la competenza

Se si è proprietari di un dispositivo Alexa, è possibile testare la competenza prima di pubblicarla.

Per informazioni su come testare e pubblicare la competenza nella piattaforma, vedere la documentazione per sviluppatori di Alexa Skills Kit per informazioni sulle competenze personalizzate.

Informazioni aggiuntive

Per altre informazioni sulle competenze di Alexa, vedere la documentazione per sviluppatori amazon:

Autenticazione utente in Alexa

L'autenticazione utente in Alexa viene eseguita configurando e usando il collegamento dell'account nella competenza Alexa. Per altre informazioni, vedere Informazioni sul collegamento dell'account per le competenze di Alexa. È possibile richiedere il collegamento dell'account quando l'utente abilita la competenza oppure è possibile richiederlo come parte di un flusso di conversazione.

Se si aggiunge l'autenticazione utente come parte della conversazione:

  1. Allegare una scheda di accesso all'attività in uscita. Questa operazione verrà convertita in una scheda Alexa LinkAccount che richiede all'utente di accedere usando l'app Alexa.

  2. Se l'utente collega correttamente l'account all'app, un token sarà disponibile nelle richieste successive nei dati del canale.

Passaggi successivi