Condividi tramite


Avvio rapido: inviare un messaggio SMS

Importante

Le funzionalità SMS dipendono dal numero di telefono usato e dal paese/area geografica in cui si opera come determinato dall'indirizzo di fatturazione di Azure. Per altre informazioni, vedere Idoneità alla sottoscrizione.

Nota

Condividere le proprie opinioni e i feedback su Servizi di comunicazione di Azure con Microsoft eseguendo questo breve sondaggio.


Introduzione a Servizi di comunicazione di Azure, con l'invio di messaggi SMS tramite il modulo Comunicazione nell’interfaccia della riga di comando di Azure.

Le procedure illustrate in questa guida di avvio rapido comportano l'addebito di qualche centesimo (USD) o meno nell'account Azure.

Prerequisiti

Controllo dei prerequisiti

  • In una finestra del terminale o di comando eseguire az --version per verificare se l’interfaccia della riga di comando di Azure è installata.

Configurazione

Installare il modulo di comunicazione

Eseguire il comando seguente in un terminale o in una finestra di comando per installare il modulo di comunicazione.

az extension add --name communication

Accedere all'interfaccia della riga di comando di Azure

Sarà necessario accedere all'interfaccia della riga di comando di Azure. È possibile accedere eseguendo il comando az login dal terminale e specificando le credenziali.

Verificare che sia in uso quella corretta

Se si hanno più sottoscrizioni nel proprio account, verificare che sia in uso quella corretta per questa esercitazione.

In un terminale o in una finestra dei comandi, eseguire il comando seguente per controllare la sottoscrizione corrente.

az account show

Se è necessario modificare la sottoscrizione, è possibile farlo eseguendo il comando seguente.

az account set --subscription "<yourSubcriptionId>"

È necessario sostituire <yourSubscriptionId> con l'ID sottoscrizione effettivo, disponibile nella sezione Sottoscrizioni nel portale di Azure.

(Facoltativo) Usare le operazioni SMS dell'interfaccia della riga di comando di Azure senza passare una stringa di connessione

È possibile configurare la variabile di ambiente AZURE_COMMUNICATION_CONNECTION_STRING per usare le operazioni SMS dell'interfaccia della riga di comando di Azure senza dover usare --connection_string per passare la stringa di connessione. Per configurare una variabile di ambiente, aprire una finestra della console e selezionare il sistema operativo dalle schede seguenti. Sostituire <yourConnectionString> con la stringa di connessione effettiva.

Aprire una finestra della console e immettere il comando seguente:

setx AZURE_COMMUNICATION_CONNECTION_STRING "<yourConnectionString>"

Dopo l'aggiunta della variabile di ambiente potrebbe essere necessario riavviare eventuali programmi in esecuzione che necessitano di leggere la variabile di ambiente, inclusa la finestra della console. Se ad esempio si usa Visual Studio come editor, riavviare Visual Studio prima di eseguire l'esempio.

Operazioni

Inviare un messaggio SMS 1:1

Per inviare un messaggio SMS a un singolo destinatario, chiamare il metodo send dal modulo SMS con un solo numero di telefono del destinatario.

az communication sms send --sender "<fromPhoneNumber>" --recipient "<toPhoneNumber>" --message "Hello world via SMS for Azure CLI!" --connection-string "<yourConnectionString>"

Effettuare queste sostituzioni nel codice:

  • Sostituire <fromPhoneNumber> con un numero di telefono con SMS abilitati associato alla risorsa Servizi di comunicazione.
  • Sostituire <toPhoneNumber> con un numero di telefono a cui inviare un messaggio.
  • Sostituire <yourConnectionString> con la stringa di connessione.

Avviso

Specificare i numeri di telefono in formato standard internazionale E.164, ad esempio +14255550123. Il valore di <fromPhoneNumber> può anche essere un codice breve, ad esempio 23456 o un ID mittente alfanumerico, ad esempio CONTOSO.

Inviare un messaggio SMS 1:N

Per inviare un messaggio SMS a un elenco di destinatari, chiamare il metodo send dal modulo SMS con più numeri di telefono del destinatario.

az communication sms send --sender "<fromPhoneNumber>" --recipient "<toPhoneNumber1>" "<toPhoneNumber2>" "<toPhoneNumber3>" --message "Hello world via SMS for Azure CLI!" --connection-string "<yourConnectionString>"

Effettuare queste sostituzioni nel codice:

  • Sostituire <fromPhoneNumber> con un numero di telefono con SMS abilitati associato alla risorsa Servizi di comunicazione.
  • Sostituire <toPhoneNumberN> con un numero di telefono N a cui inviare un messaggio.
  • Sostituire <yourConnectionString> con la stringa di connessione.

Avviso

Specificare i numeri di telefono in formato standard internazionale E.164, ad esempio +14255550123. Il valore di <fromPhoneNumber> può anche essere un codice breve, ad esempio 23456 o un ID mittente alfanumerico, ad esempio CONTOSO.

Introduzione a Servizi di comunicazione di Azure, con l'invio di messaggi SMS tramite l’SDK SMS di Servizi di comunicazione di Azure per C#.

Le procedure illustrate in questa guida di avvio rapido comportano l'addebito di qualche centesimo (USD) o meno nell'account Azure.

Nota

Trovare il codice finalizzato per questa guida introduttiva in GitHub.

Prerequisiti

Controllo dei prerequisiti

  • In una finestra del terminale o di comando eseguire il comando dotnet per verificare se l’SDK .NET è installato.
  • Per visualizzare i numeri di telefono associati alla risorsa di Servizi di comunicazione, accedere al portale di Azure e individuare la risorsa di Servizi di comunicazione. Nel riquadro di spostamento a sinistra selezionare Numeri di telefono.

Configurare l'ambiente dell'applicazione

Per configurare un ambiente per l'invio di messaggi, seguire questa procedura nelle sezioni seguenti.

Creare una nuova applicazione C#

  1. In una finestra di una console, ad esempio cmd, PowerShell o Bash, usare il comando dotnet new per creare una nuova app console con il nome SmsQuickstart. Questo comando crea un semplice progetto C# "Hello World" con un unico file di origine: Program.cs.

    dotnet new console -o SmsQuickstart
    
  2. Passare alla cartella dell'app appena creata e usare il comando dotnet build per compilare l'applicazione.

    cd SmsQuickstart
    dotnet build
    

Installare il pacchetto

  1. Rimanendo nella directory dell'applicazione, installare il pacchetto dell’SDK SMS di Servizi di comunicazione di Azure per .NET usando il comando seguente.

    dotnet add package Azure.Communication.Sms --version 1.0.0
    
  2. Aggiungere una direttiva using all'inizio di Program.cs per includere lo spazio dei nomi Azure.Communication.

    
    using System;
    using System.Collections.Generic;
    
    using Azure;
    using Azure.Communication;
    using Azure.Communication.Sms;
    
    

Modello a oggetti

Le classi e le interfacce seguenti gestiscono alcune delle principali funzionalità dell’SDK SMS di Servizi di comunicazione di Azure per C#.

Nome Descrizione
SmsClient Questa classe è necessaria per tutte le funzionalità SMS. È possibile crearne un'istanza con le informazioni della sottoscrizione e usarla per inviare messaggi SMS.
SmsSendOptions Questa classe fornisce opzioni per configurare i report di recapito. Se enable_delivery_report è impostato su True, viene generato un evento quando il recapito ha esito positivo.
SmsSendResult Questa classe contiene il risultato del servizio SMS.

Autenticare il client

Aprire Program.cs in un editor di testo e sostituire il corpo del metodo Main con il codice per inizializzare un oggetto SmsClient con la stringa di connessione. Il codice seguente recupera la stringa di connessione per la risorsa da una variabile di ambiente denominata COMMUNICATION_SERVICES_CONNECTION_STRING. Vedere come gestire la stringa di connessione della risorsa.

// This code retrieves your connection string
// from an environment variable.
string connectionString = Environment.GetEnvironmentVariable("COMMUNICATION_SERVICES_CONNECTION_STRING");

SmsClient smsClient = new SmsClient(connectionString);

Inviare un messaggio SMS 1:1

Per inviare un messaggio SMS a un singolo destinatario, chiamare la funzione Send o SendAsync da SmsClient. Aggiungere questo codice alla fine del metodo Main in Program.cs:

SmsSendResult sendResult = smsClient.Send(
    from: "<from-phone-number>",
    to: "<to-phone-number>",
    message: "Hello World via SMS"
);

Console.WriteLine($"Sms id: {sendResult.MessageId}");

Effettuare queste sostituzioni nel codice:

  • Sostituire <from-phone-number> con un numero di telefono con SMS abilitati associato alla risorsa Servizi di comunicazione.
  • Sostituire <to-phone-number> con il numero di telefono a cui inviare un messaggio.

Avviso

Specificare i numeri di telefono in formato standard internazionale E.164, ad esempio +14255550123. Il valore di <from-phone-number> può anche essere un codice breve, ad esempio 23456 o un ID mittente alfanumerico, ad esempio CONTOSO.

Inviare un messaggio SMS 1:N con opzioni

Per inviare un messaggio SMS a un elenco di destinatari, chiamare la funzione Send o SendAsync dal SmsClient con un elenco di numeri di telefono del destinatario. È anche possibile fornire parametri facoltativi per specificare se il report di recapito deve essere abilitato e impostare tag personalizzati.

Response<IReadOnlyList<SmsSendResult>> response = smsClient.Send(
    from: "<from-phone-number>",
    to: new string[] { "<to-phone-number-1>", "<to-phone-number-2>" },
    message: "Weekly Promotion!",
    options: new SmsSendOptions(enableDeliveryReport: true) // OPTIONAL
    {
        Tag = "marketing", // custom tags
    });

IEnumerable<SmsSendResult> results = response.Value;
foreach (SmsSendResult result in results)
{
    Console.WriteLine($"Sms id: {result.MessageId}");
    Console.WriteLine($"Send Result Successful: {result.Successful}");
}

Effettuare queste sostituzioni nel codice:

  • Sostituire <from-phone-number> con un numero di telefono con SMS abilitati associato alla risorsa Servizi di comunicazione.
  • Sostituire <to-phone-number-1> e <to-phone-number-2> con i numeri di telefono a cui inviare un messaggio.

Avviso

Specificare i numeri di telefono in formato standard internazionale E.164, ad esempio +14255550123. Il valore di <from-phone-number> può anche essere un codice breve, ad esempio 23456 o un ID mittente alfanumerico, ad esempio CONTOSO.

Il parametro enableDeliveryReport è facoltativo ed è possibile usarlo per configurare i report di recapito. Questa funzionalità è utile per gli scenari in cui si vogliono generare eventi quando vengono recapitati messaggi SMS. Per configurare i report di recapito per i messaggi SMS, vedere la guida di avvio rapido Gestire gli eventi SMS.

È possibile usare il parametro Tag per applicare un tag al report di recapito.

Eseguire il codice

Eseguire l'applicazione dalla directory dell'applicazione con il comando dotnet run.

dotnet run

Codice di esempio

È possibile scaricare l'app di esempio da GitHub.

Iniziare a usare Servizi di comunicazione di Azure usando l’SKD SMS JavaScript di Servizi di comunicazione per inviare messaggi SMS.

Le procedure illustrate in questa guida di avvio rapido comportano l'addebito di qualche centesimo (USD) o meno nell'account Azure.

Nota

Trovare il codice finalizzato per questa guida introduttiva in GitHub.

Prerequisiti

Controllo dei prerequisiti

  • In un terminale o una finestra di comando eseguire node --version per verificare che Node.js sia installato.
  • Per visualizzare i numeri di telefono associati alla risorsa di Servizi di comunicazione, accedere al portale di Azure e individuare la risorsa di Servizi di comunicazione. Nel riquadro di spostamento a sinistra selezionare Numeri di telefono.

Configurare l'ambiente dell'applicazione

Per configurare un ambiente per l'invio di messaggi, seguire questa procedura nelle sezioni seguenti.

Creare una nuova applicazione Node.js

  1. Aprire la finestra del terminale o di comando, quindi eseguire il comando seguente per creare una nuova directory per l'app e passare a tale directory.

    mkdir sms-quickstart && cd sms-quickstart
    
  2. Eseguire il comando seguente per creare un file package.json con le impostazioni predefinite.

    npm init -y
    
  3. Usare un editor di testo per creare un file denominato send-sms.js nella directory radice del progetto.

Nelle sezioni seguenti, tutto il codice sorgente per questa guida di avvio rapido verrà aggiunto al file send-sms.js appena creato.

Installare il pacchetto

Usare il comando npm install per installare SDK SMS di Servizi di comunicazione di Azure per JavaScript.

npm install @azure/communication-sms --save

L'opzione --save elenca la libreria come dipendenza nel file package.json.

Modello a oggetti

Le classi e le interfacce seguenti gestiscono alcune delle principali funzionalità dell’SDK SMS di Servizi di comunicazione di Azure per Node.js.

Nome Descrizione
SmsClient Questa classe è necessaria per tutte le funzionalità SMS. È possibile crearne un'istanza con le informazioni della sottoscrizione e usarla per inviare messaggi SMS.
SmsSendRequest Questa interfaccia è il modello per la creazione della richiesta SMS. Viene usata per configurare i numeri di telefono del mittente e del destinatario e il contenuto dell'SMS.
SmsSendOptions Questa interfaccia fornisce opzioni per configurare i report di recapito. Se enableDeliveryReport è impostato su true, viene generato un evento quando il recapito ha esito positivo.
SmsSendResult Questa classe contiene il risultato del servizio SMS.

Autenticare il client

Per autenticare un client, importare SmsClient dall’SDK e crearne un'istanza con la stringa di connessione. È possibile recuperare la stringa di connessione per la risorsa da una variabile di ambiente. Ad esempio, il codice in questa sezione recupera la stringa di connessione dalla variabile di ambiente COMMUNICATION_SERVICES_CONNECTION_STRING. Vedere come gestire la stringa di connessione della risorsa.

Per importare il client e crearne un'istanza:

  1. Creare un file denominato send-sms.js.

  2. Aggiungere il codice seguente al file send-sms.js.

const { SmsClient } = require('@azure/communication-sms');

// This code retrieves your connection string
// from an environment variable.
const connectionString = process.env['COMMUNICATION_SERVICES_CONNECTION_STRING'];

// Instantiate the SMS client.
const smsClient = new SmsClient(connectionString);

Inviare un messaggio SMS 1:N

Per inviare un messaggio SMS a un elenco di destinatari, chiamare la funzione send dal SmsClient con un elenco di numeri di telefono del destinatario. Se si vuole inviare un messaggio a un singolo destinatario, includere un solo numero nell'elenco. Aggiungere questo codice alla fine di send-sms.js:

async function main() {
  const sendResults = await smsClient.send({
    from: "<from-phone-number>",
    to: ["<to-phone-number-1>", "<to-phone-number-2>"],
    message: "Hello World 👋🏻 via SMS"
  });

  // Individual messages can encounter errors during sending.
  // Use the "successful" property to verify the status.
  for (const sendResult of sendResults) {
    if (sendResult.successful) {
      console.log("Success: ", sendResult);
    } else {
      console.error("Something went wrong when trying to send this message: ", sendResult);
    }
  }
}

main();

Effettuare queste sostituzioni nel codice:

  • Sostituire <from-phone-number> con un numero di telefono con SMS abilitati associato alla risorsa Servizi di comunicazione.
  • Sostituire <to-phone-number-1> e <to-phone-number-2> con i numeri di telefono a cui inviare un messaggio.

Avviso

Specificare i numeri di telefono in formato standard internazionale E.164, ad esempio +14255550123. Il valore di <from-phone-number> può anche essere un codice breve, ad esempio 23456 o un ID mittente alfanumerico, ad esempio CONTOSO.

Inviare un messaggio SMS 1:N con opzioni

È anche possibile fornire un oggetto facoltativo per specificare se il report di recapito deve essere abilitato e impostare tag personalizzati.


async function main() {
  const sendResults = await smsClient.send({
    from: "<from-phone-number>",
    to: ["<to-phone-number-1>", "<to-phone-number-2>"],
    message: "Weekly Promotion!"
  }, {
    // Optional parameters
    enableDeliveryReport: true,
    tag: "marketing"
  });

  // Individual messages can encounter errors during sending.
  // Use the "successful" property to verify the status.
  for (const sendResult of sendResults) {
    if (sendResult.successful) {
      console.log("Success: ", sendResult);
    } else {
      console.error("Something went wrong when trying to send this message: ", sendResult);
    }
  }
}

main();

Effettuare queste sostituzioni nel codice:

  • Sostituire <from-phone-number> con un numero di telefono con SMS abilitati associato alla risorsa Servizi di comunicazione.
  • Sostituire <to-phone-number-1> e <to-phone-number-2> con i numeri di telefono a cui inviare un messaggio.

Avviso

Specificare i numeri di telefono in formato standard internazionale E.164, ad esempio +14255550123. Il valore di <from-phone-number> può anche essere un codice breve, ad esempio 23456 o un ID mittente alfanumerico, ad esempio CONTOSO.

Il parametro enableDeliveryReport è facoltativo ed è possibile usarlo per configurare i report di recapito. Questa funzionalità è utile per gli scenari in cui si vogliono generare eventi quando vengono recapitati messaggi SMS. Per configurare i report di recapito per i messaggi SMS, vedere la guida di avvio rapido Gestire gli eventi SMS. tag è facoltativo. È possibile usarlo per applicare un tag al report di recapito.

Eseguire il codice

Usare il comando node per eseguire il codice aggiunto al file send-sms.js.


node ./send-sms.js

Introduzione a Servizi di comunicazione di Azure, con l'invio di messaggi SMS tramite l’SDK SMS di Servizi di comunicazione di Azure per Python.

Le procedure illustrate in questa guida di avvio rapido comportano l'addebito di qualche centesimo (USD) o meno nell'account Azure.

Nota

Trovare il codice finalizzato per questa guida introduttiva in GitHub.

Prerequisiti

Controllo dei prerequisiti

  • In una finestra del terminale o di comando eseguire il comando python --version per verificare se Python è installato.
  • Per visualizzare i numeri di telefono associati alla risorsa di Servizi di comunicazione, accedere al portale di Azure e individuare la risorsa di Servizi di comunicazione. Nel riquadro di spostamento a sinistra selezionare Numeri di telefono.

Configurare l'ambiente dell'applicazione

Per configurare un ambiente per l'invio di messaggi, seguire questa procedura nelle sezioni seguenti.

Creare una nuova applicazione Python

  1. Aprire la finestra del terminale o di comando. Usare quindi il seguente comando per creare una nuova directory per l'app e passare a tale directory.

    mkdir sms-quickstart && cd sms-quickstart
    
  2. Usare un editor di testo per creare un file denominato start-sms.py nella directory radice del progetto e aggiungere la struttura per il programma, inclusa la gestione delle eccezioni di base.

    import os
    from azure.communication.sms import SmsClient
    
    try:
        # Quickstart code goes here.
    except Exception as ex:
        print('Exception:')
        print(ex)
    

Nelle sezioni seguenti, tutto il codice sorgente per questa guida di avvio rapido verrà aggiunto al file send-sms.py appena creato.

Installare il pacchetto

Rimanendo nella directory dell'applicazione, installare il pacchetto dell’SDK SMS di Servizi di comunicazione di Azure per Python usando il comando seguente.

pip install azure-communication-sms

Modello a oggetti

Le classi e le interfacce seguenti gestiscono alcune delle principali funzionalità dell’SDK SMS di Servizi di comunicazione di Azure per Python.

Nome Descrizione
SmsClient Questa classe è necessaria per tutte le funzionalità SMS. È possibile crearne un'istanza con le informazioni della sottoscrizione e usarla per inviare messaggi SMS.
SmsSendResult Questa classe contiene il risultato del servizio SMS.

Autenticare il client

Creare un'istanza di SmsClient con la stringa di connessione. Vedere come gestire la stringa di connessione della risorsa.

# Create the SmsClient object that you use to send SMS messages.
sms_client = SmsClient.from_connection_string(<connection_string>)

Per semplicità, questa guida introduttiva usa stringhe di connessione, ma negli ambienti di produzione è consigliabile usare le entità servizio.

Inviare un messaggio SMS 1:1

Per inviare un messaggio SMS a un singolo destinatario, chiamare il metodo send dal SmsClient con un solo numero di telefono del destinatario. È anche possibile fornire parametri facoltativi per specificare se il report di recapito deve essere abilitato e impostare tag personalizzati. Aggiungere questo codice alla fine del blocco try in send-sms.py:


# Call send() with SMS values.
sms_responses = sms_client.send(
    from_="<from-phone-number>",
    to="<to-phone-number>",
    message="Hello World via SMS",
    enable_delivery_report=True, # optional property
    tag="custom-tag") # optional property

Effettuare queste sostituzioni nel codice:

  • Sostituire <from-phone-number> con un numero di telefono con SMS abilitati associato al servizio di comunicazione.
  • Sostituire <to-phone-number> con il numero di telefono a cui inviare un messaggio.

Avviso

Specificare i numeri di telefono in formato standard internazionale E.164, ad esempio +14255550123. Il valore di <from-phone-number> può anche essere un codice breve, ad esempio 23456 o un ID mittente alfanumerico, ad esempio CONTOSO.

Inviare un messaggio SMS 1:N

Per inviare un messaggio SMS a un elenco di destinatari, chiamare il metodo send dal SmsClient con un elenco di numeri di telefono del destinatario. È anche possibile fornire parametri facoltativi per specificare se il report di recapito deve essere abilitato e impostare tag personalizzati. Aggiungere questo codice alla fine del blocco try in send-sms.py:


# Call send() with SMS values.
sms_responses = sms_client.send(
    from_="<from-phone-number>",
    to=["<to-phone-number-1>", "<to-phone-number-2>"],
    message="Hello World via SMS",
    enable_delivery_report=True, # optional property
    tag="custom-tag") # optional property

Effettuare queste sostituzioni nel codice:

  • Sostituire <from-phone-number> con un numero di telefono con SMS abilitati associato al servizio di comunicazione.
  • Sostituire <to-phone-number-1> e <to-phone-number-2> con i numeri di telefono a cui inviare un messaggio.

Avviso

Specificare i numeri di telefono in formato standard internazionale E.164, ad esempio +14255550123. Il valore di <from-phone-number> può anche essere un codice breve, ad esempio 23456 o un ID mittente alfanumerico, ad esempio CONTOSO.

Parametri facoltativi

Il parametro enable_delivery_report è facoltativo ed è possibile usarlo per configurare i report di recapito. Questa funzionalità è utile per gli scenari in cui si vogliono generare eventi quando vengono recapitati messaggi SMS. Per configurare i report di recapito per i messaggi SMS, vedere la guida di avvio rapido Gestire gli eventi SMS.

Il parametro tag è facoltativo ed è possibile usarlo per aggiungere un tag al report di recapito.

Eseguire il codice

Eseguire l'applicazione dalla directory dell'applicazione con il comando python.

python send-sms.py

Lo script Python completo dovrebbe essere simile al codice seguente:


import os
from azure.communication.sms import SmsClient

try:
    # Create the SmsClient object that you use to send SMS messages.
    sms_client = SmsClient.from_connection_string("<connection string>")
    # Call send() with SMS values.
    sms_responses = sms_client.send(
       from_="<from-phone-number>",
       to="<to-phone-number>",
       message="Hello World via SMS",
       enable_delivery_report=True, # optional property
       tag="custom-tag") # optional property

except Exception as ex:
    print('Exception:')
    print(ex)

Introduzione a Servizi di comunicazione di Azure, con l'invio di messaggi SMS tramite l’SDK SMS di Servizi di comunicazione di Azure per Java.

Le procedure illustrate in questa guida di avvio rapido comportano l'addebito di qualche centesimo (USD) o meno nell'account Azure.

Nota

Trovare il codice finalizzato per questa guida introduttiva in GitHub.

Prerequisiti

Controllo dei prerequisiti

  • In una finestra del terminale o di comando eseguire mvn -v per verificare se Maven è installato.
  • Per visualizzare i numeri di telefono associati alla risorsa di Servizi di comunicazione, accedere al portale di Azure e individuare la risorsa di Servizi di comunicazione. Nel riquadro di spostamento a sinistra selezionare Numeri di telefono.

Configurare l'ambiente dell'applicazione

Per configurare un ambiente per l'invio di messaggi, seguire questa procedura nelle sezioni seguenti.

Creare una nuova applicazione Java

Aprire la finestra del terminale o di comando e passare alla directory in cui creare l'applicazione Java. Eseguire il comando seguente per generare il progetto Java dal modello maven-archetype-quickstart.

  • Prompt dei comandi
mvn archetype:generate -DgroupId=com.communication.quickstart -DartifactId=communication-quickstart -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false
  • PowerShell
mvn archetype:generate "-DgroupId=com.communication.quickstart" "-DartifactId=communication-quickstart" "-DarchetypeArtifactId=maven-archetype-quickstart" "-DarchetypeVersion=1.4" "-DinteractiveMode=false"

L'obiettivo generate crea una directory con lo stesso nome del valore artifactId. In questa directory, la directory src/main/java contiene il codice sorgente del progetto, la directory src/test/java contiene l'origine di test e il file pom.xml è il modello a oggetti del progetto (POM).

Installare il pacchetto

Aprire il file pom.xml nell'editor di testo. Aggiungere l'elemento di dipendenza seguente al gruppo di dipendenze.

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-communication-sms</artifactId>
    <version>1.0.1</version>
</dependency>

Configurare il framework dell'app

Aprire /src/main/java/com/communication/quickstart/App.java in un editor di testo, aggiungere le direttive import e rimuovere l'istruzione System.out.println("Hello world!");:

package com.communication.quickstart;

import com.azure.communication.sms.models.*;
import com.azure.core.credential.AzureKeyCredential;
import com.azure.communication.sms.*;
import com.azure.core.util.Context;
import java.util.Arrays;

public class App
{
    public static void main( String[] args )
    {
        // Quickstart code goes here.
    }
}

Modello a oggetti

Le classi e le interfacce seguenti gestiscono alcune delle principali funzionalità dell’SDK SMS di Servizi di comunicazione di Azure per Java.

Nome Descrizione
SmsClientBuilder Questa classe crea l'oggetto SmsClient. Specificare un endpoint, le credenziali e un client HTTP.
SmsClient Questa classe è necessaria per tutte le funzionalità SMS. Viene usata per inviare messaggi SMS.
SmsSendOptions Questa classe fornisce opzioni per l’aggiunta di tag personalizzati e la configurazione dei report di recapito. Se deliveryReportEnabled è impostato su True, viene generato un evento quando il recapito ha esito positivo.
SmsSendResult Questa classe contiene il risultato del servizio SMS.

Autenticare il client

Per autenticare un client, creare un'istanza di SmsClient con la stringa di connessione. Per le credenziali, usare Key dal portale di Azure. Vedere come gestire la stringa di connessione della risorsa. Inoltre, è possibile inizializzare il client con qualsiasi client HTTP personalizzato che implementi l'interfaccia com.azure.core.http.HttpClient.

Per creare un'istanza di un cliente, aggiungere il codice seguente al metodo main:

// You can get your endpoint and access key from your resource in the Azure portal.
String endpoint = "https://<resource-name>.communication.azure.com/";
AzureKeyCredential azureKeyCredential = new AzureKeyCredential("<access-key-credential>");

SmsClient smsClient = new SmsClientBuilder()
                .endpoint(endpoint)
                .credential(azureKeyCredential)
                .buildClient();

È anche possibile specificare l'intera stringa di connessione usando la funzione connectionString invece di fornire l'endpoint e la chiave di accesso.

// You can get your connection string from your resource in the Azure portal.
String connectionString = "endpoint=https://<resource-name>.communication.azure.com/;accesskey=<access-key>";

SmsClient smsClient = new SmsClientBuilder()
            .connectionString(connectionString)
            .buildClient();

Inviare un messaggio SMS 1:1

Per inviare un messaggio SMS a un singolo destinatario, chiamare il metodo send dal SmsClient con un solo numero di telefono del destinatario. È anche possibile fornire parametri facoltativi per specificare se il report di recapito deve essere abilitato e impostare tag personalizzati.

SmsSendResult sendResult = smsClient.send(
                "<from-phone-number>",
                "<to-phone-number>",
                "Weekly Promotion");

System.out.println("Message Id: " + sendResult.getMessageId());
System.out.println("Recipient Number: " + sendResult.getTo());
System.out.println("Send Result Successful:" + sendResult.isSuccessful());

Effettuare queste sostituzioni nel codice:

  • Sostituire <from-phone-number> con un numero di telefono con SMS abilitati associato alla risorsa Servizi di comunicazione.
  • Sostituire <to-phone-number> con un numero di telefono a cui inviare un messaggio.

Avviso

Specificare i numeri di telefono in formato standard internazionale E.164, ad esempio +14255550123. Il valore di <from-phone-number> può anche essere un codice breve, ad esempio 23456 o un ID mittente alfanumerico, ad esempio CONTOSO.

Inviare un messaggio SMS 1:N con opzioni

Per inviare un messaggio SMS a un elenco di destinatari, chiamare il metodo send con un elenco di numeri di telefono del destinatario. È anche possibile fornire parametri facoltativi per specificare se il report di recapito deve essere abilitato e impostare tag personalizzati.

SmsSendOptions options = new SmsSendOptions();
options.setDeliveryReportEnabled(true);
options.setTag("Marketing");

Iterable<SmsSendResult> sendResults = smsClient.sendWithResponse(
    "<from-phone-number>",
    Arrays.asList("<to-phone-number1>", "<to-phone-number2>"),
    "Weekly Promotion",
    options /* Optional */,
    Context.NONE).getValue();

for (SmsSendResult result : sendResults) {
    System.out.println("Message Id: " + result.getMessageId());
    System.out.println("Recipient Number: " + result.getTo());
    System.out.println("Send Result Successful:" + result.isSuccessful());
}

Effettuare queste sostituzioni nel codice:

  • Sostituire <from-phone-number> con un numero di telefono con SMS abilitati associato alla risorsa Servizi di comunicazione
  • Sostituire <to-phone-number-1> e <to-phone-number-2> con i numeri di telefono a cui inviare un messaggio.

Avviso

Specificare i numeri di telefono in formato standard internazionale E.164, ad esempio +14255550123. Il valore di <from-phone-number> può anche essere un codice breve, ad esempio 23456 o un ID mittente alfanumerico, ad esempio CONTOSO.

Il metodo setDeliveryReportEnabled viene usato per configurare la creazione di report di recapito. Questa funzionalità è utile per gli scenari in cui si vogliono generare eventi quando vengono recapitati messaggi SMS. Per configurare i report di recapito per i messaggi SMS, vedere la guida di avvio rapido Gestire gli eventi SMS.

È possibile usare il metodo setTag per applicare un tag al report di recapito.

Eseguire il codice

  1. Passare alla directory che contiene il file pom.xml e compilare il progetto tramite il comando mvn.

    
    mvn compile
    
    
  2. Compilare il pacchetto.

    
    mvn package
    
    
  3. Eseguire il comando mvn seguente per eseguire l'app.

    • Prompt dei comandi
    
    mvn exec:java -Dexec.mainClass="com.communication.quickstart.App" -Dexec.cleanupDaemonThreads=false
    
    
    • PowerShell
    mvn exec:java "-Dexec.mainClass=com.communication.quickstart.App" "-Dexec.cleanupDaemonThreads=false"
    

Usando il connettore SMS di Servizi di comunicazione di Azure e App per la logica di Azure, è possibile creare flussi di lavoro automatizzati in grado di inviare messaggi SMS. Questa guida di avvio rapido illustra come inviare automaticamente messaggi SMS in risposta a un evento trigger, che rappresenta il primo passaggio del flusso di lavoro di un'app per la logica. Un evento trigger può essere un messaggio di posta elettronica in arrivo, la pianificazione di una ricorrenza, un evento della risorsa Griglia di eventi di Azure o qualsiasi altro trigger supportato da App per la logica di Azure.

Screenshot che mostra Progettazione app per la logica nel portale di Azure, con un esempio di app per la logica che usa l'azione Invia SMS per il connettore di Servizi di comunicazione di Azure.

Anche se questa guida di avvio rapido illustra come usare il connettore per rispondere a un trigger, è anche possibile usarlo per rispondere ad altre azioni, che costituiscono i passaggi che seguono il trigger in un flusso di lavoro. Se non si ha familiarità con App per la logica, vedere Che cos'è App per la logica di Azure prima di iniziare.

Nota

Le procedure illustrate in questa guida di avvio rapido comportano l'addebito di qualche centesimo (USD) o meno nell'account Azure.

Prerequisiti

Importante

Le funzionalità SMS e PSTN dipendono dal numero di telefono usato e dal paese/area geografica in cui si opera come determinato dall'indirizzo di fatturazione di Azure. Per altre informazioni, vedere la documentazione relativa all'idoneità alla sottoscrizione.

Aggiungere un'azione SMS

Per aggiungere l'azione Invia SMS come nuovo passaggio del flusso di lavoro usando il connettore SMS di Servizi di comunicazione di Azure, seguire questa procedura nel portale di Azure con il flusso di lavoro dell'app per la logica aperto in Progettazione app per la logica:

  1. Nella finestra di progettazione, nel passaggio in cui aggiungere la nuova azione, selezionare Nuovo passaggio. In alternativa, per aggiungere la nuova azione tra passaggi, spostare il puntatore sulla freccia tra questi passaggi, selezionare il segno più (+), quindi selezionare Aggiungi un'azione.

  2. Nella casella di ricerca Scegliere un'operazione immettere Azure Communication Services. Nell'elenco di azioni selezionare Invia SMS.

    Screenshot che mostra Progettazione app per la logica e il connettore di Servizi di comunicazione di Azure con l'azione Invia SMS selezionata.

  3. Ora creare una connessione alla risorsa di Servizi di comunicazione.

    1. All'interno della stessa sottoscrizione:

      1. Specificare un nome per la connessione.

      2. Selezionare la risorsa di Servizi di comunicazione di Azure.

      3. Seleziona Crea.

      Screenshot che mostra la configurazione dell'azione Invia SMS con le informazioni di esempio.

    2. Uso della stringa di connessione dalla risorsa Servizi di comunicazione:

      1. Specificare un nome per la connessione.

      2. Selezionare l’autenticazione ConnectionString Authentication nell'elenco a discesa.

      3. Immettere la stringa di connessione della risorsa Servizi di comunicazione.

      4. Seleziona Crea.

      Screenshot che mostra la configurazione dell'autenticazione della stringa di connessione.

    3. Uso dell'entità servizio (fare riferimento alla creazione dell'entità servizio):

      1. Specificare un nome per la connessione.

      2. Selezionare Autenticazione dell'entità servizio (applicazione Microsoft Entra) nell'elenco a discesa.

      3. Immettere l'ID tenant, l'ID client e il segreto client dell'entità servizio.

      4. Immettere il valore dell'URL dell'endpoint di Servizi di comunicazione della risorsa Servizi di comunicazione.

      5. Seleziona Crea.

      Screenshot che mostra la configurazione dell'autenticazione dell’entità servizio.

  4. Nell'azione Invia SMS specificare le informazioni seguenti:

    • I numeri di telefono di origine e di destinazione. A scopo di test, è possibile usare il proprio numero di telefono come destinazione.

    • Il contenuto del messaggio da inviare, ad esempio "Hello from Logic Apps!".

    Ecco un'azione Invia SMS con le informazioni di esempio:

    Screenshot che mostra l'azione Invia SMS con le informazioni di esempio.

  5. Al termine, nella barra degli strumenti di progettazione, seleziona Salva.

Eseguire quindi il flusso di lavoro per i test.

Testare il flusso di lavoro

Per avviare manualmente il flusso di lavoro, selezionare Esegui nella barra degli strumenti della finestra di progettazione. In alternativa, è possibile attendere che il trigger venga attivato. In entrambi i casi, il flusso di lavoro dovrà inviare un messaggio SMS al numero di telefono di destinazione specificato. Per altre informazioni, vedere Come eseguire il flusso di lavoro.

Pulire le risorse del flusso di lavoro

Per pulire il flusso di lavoro dell'app per la logica e le risorse correlate, vedere come pulire le risorse di App per la logica.

Risoluzione dei problemi

Per la risoluzione dei problemi correlati al recapito di SMS, è possibile abilitare la creazione di report di recapito con Griglia di eventi per acquisire i dettagli di recapito.

Pulire le risorse

Se si vuole pulire e rimuovere una sottoscrizione a Servizi di comunicazione, è possibile eliminare la risorsa o il gruppo di risorse. L'eliminazione del gruppo di risorse comporta anche l'eliminazione di tutte le altre risorse associate. Altre informazioni sulla pulizia delle risorse.

Verifica gratuita

Per utilizzare un nuovo numero verde per l'invio di messaggi SMS, è obbligatorio sottoporsi a un processo di verifica gratuita. Per indicazioni su come completare la verifica del numero verde, vedere Avvio rapido per l'invio di una verifica gratuita. Si noti che solo i numeri verdi verificati sono autorizzati a inviare traffico SMS. Il traffico SMS proveniente da numeri verdi non verificati indirizzato a numeri di telefono statunitensi e CA verrà bloccato.

Passaggi successivi

In questa guida di avvio rapido si è appreso come inviare messaggi SMS tramite Servizi di comunicazione di Azure.