Share via


Guida introduttiva: Inviare messaggi WhatsApp con messaggi avanzati

Servizi di comunicazione di Azure consente di inviare e ricevere messaggi WhatsApp. In questa guida introduttiva, iniziare a integrare l'app con Azure Communication Advanced Messages SDK e iniziare a inviare/ricevere messaggi WhatsApp. Le procedure illustrate in questa guida di avvio rapido comportano l'addebito di qualche centesimo (USD) o meno nell'account Azure.

Prerequisiti

Configurazione

Creare il progetto .NET

Per creare il progetto, seguire l'esercitazione in Creare un'applicazione console .NET con Visual Studio.

Per compilare il codice, premere CTRL+F7.

Installare il pacchetto

Installare il pacchetto NuGet Azure.Communication.Messages nel progetto C#.

  1. Aprire il Gestione pacchetti NuGet all'indirizzo Project>Manage NuGet Packages....
  2. Cercare il pacchetto Azure.Communication.Messages.
  3. Installare la versione più recente.

Configurare il framework dell'app

Aprire il file Program.cs in un editor di testo.

Sostituire il contenuto del Program.cs con il codice seguente:

using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using Azure;
using Azure.Communication.Messages;

namespace AdvancedMessagingQuickstart
{
    class Program
    {
        public static async Task Main(string[] args)
        {
            Console.WriteLine("Azure Communication Services - Send WhatsApp Messages");

            // Quickstart code goes here
        }
    }
}

Per usare le funzionalità di messaggistica avanzata, aggiungiamo una using direttiva per includere lo spazio dei Azure.Communication.Messages nomi.

using Azure.Communication.Messages;

Modello a oggetti

Le classi e le interfacce seguenti gestiscono alcune delle principali funzionalità di Servizi di comunicazione di Azure Advance Messaging SDK per .NET.

Nome Descrizione
NotificationMessagesClient Questa classe si connette alla risorsa Servizi di comunicazione di Azure. Invia i messaggi.
MessageTemplate Questa classe definisce il modello usato e il contenuto delle proprietà del modello per il messaggio.
TemplateNotificationContent Questa classe definisce il "chi" e il "what" del messaggio del modello che si intende inviare.
TextNotificationContent Questa classe definisce "chi" e "cosa" del messaggio di testo che si intende inviare.
MediaNotificationContent Questa classe definisce il "chi" e il "what" del messaggio multimediale che si intende inviare.

Esempi di codice

Seguire questa procedura per aggiungere i frammenti di codice necessari alla funzione Main del file Program.cs .

Autenticare il client

Viene NotificationMessagesClient usato per connettersi alla risorsa Servizi di comunicazione di Azure.

Per semplicità, questa guida introduttiva usa un stringa di connessione per l'autenticazione. Negli ambienti di produzione è consigliabile usare le entità servizio.

Ottenere il stringa di connessione dalla risorsa Servizi di comunicazione di Azure nella portale di Azure. A sinistra passare alla Keys scheda. Copiare il Connection string campo per la chiave primaria. Il stringa di connessione è nel formato endpoint=https://{your Azure Communication Services resource name}.communication.azure.com/;accesskey={secret key}.

Screenshot che mostra una risorsa Servizi di comunicazione di Azure nella portale di Azure, visualizzando il campo

Impostare la variabile COMMUNICATION_SERVICES_CONNECTION_STRING di ambiente sul valore del stringa di connessione.
Aprire una finestra della console e immettere il comando seguente:

setx COMMUNICATION_SERVICES_CONNECTION_STRING "<your connection string>"

Dopo aver aggiunto la variabile di ambiente, potrebbe essere necessario riavviare tutti i programmi in esecuzione che dovranno 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.

Per altre informazioni su come impostare una variabile di ambiente per il sistema, seguire la procedura descritta in Archiviare il stringa di connessione in una variabile di ambiente.

Per creare un'istanza di NotificationMessagesClient, aggiungere il codice seguente al Main metodo :

// Retrieve connection string from environment variable
string connectionString = 
    Environment.GetEnvironmentVariable("COMMUNICATION_SERVICES_CONNECTION_STRING");

// Instantiate the client
var notificationMessagesClient = new NotificationMessagesClient(connectionString);

Impostare l'ID registrazione del canale

Il GUID DELL'ID di registrazione del canale è stato creato durante la registrazione del canale. È possibile cercarlo nel portale nella scheda Canali della risorsa Servizi di comunicazione di Azure.

Screenshot che mostra una risorsa Servizi di comunicazione di Azure nella portale di Azure, visualizzando la scheda

Assegnarlo a una variabile denominata channelRegistrationId.

var channelRegistrationId = new Guid("<your channel registration ID GUID>");

Impostare l'elenco dei destinatari

Devi fornire un numero di telefono reale che ha un account WhatsApp associato. Questo account WhatsApp riceve il modello, il testo e i messaggi multimediali inviati in questa guida introduttiva. Per questa guida introduttiva, questo numero di telefono potrebbe essere il numero di telefono personale.

Il numero di telefono del destinatario non può essere il numero di telefono aziendale (ID mittente) associato alla registrazione del canale WhatsApp. L'ID mittente viene visualizzato come mittente del testo e dei messaggi multimediali inviati al destinatario.

Il numero di telefono deve includere il codice paese. Per altre informazioni sulla formattazione dei numeri di telefono, vedi la documentazione di WhatsApp per Telefono formati numerici.

Nota

Nell'elenco dei destinatari è attualmente supportato un solo numero di telefono.

Creare l'elenco dei destinatari come segue:

var recipientList = new List<string> { "<to WhatsApp phone number>" };

Esempio:

// Example only
var recipientList = new List<string> { "+14255550199" };

Iniziare a inviare messaggi tra un'azienda e un utente WhatsApp

Le conversazioni tra un account WhatsApp Business e un utente WhatsApp possono essere avviate in uno dei due modi seguenti:

  • L'azienda invia un messaggio modello all'utente WhatsApp.
  • L'utente WhatsApp invia qualsiasi messaggio al numero di ufficio.

Indipendentemente dalla modalità di avvio della conversazione, un'azienda può inviare messaggi modello solo fino a quando l'utente non invia un messaggio all'azienda. Solo dopo che l'utente invia un messaggio all'azienda, l'azienda può inviare sms o messaggi multimediali all'utente durante la conversazione attiva. Una volta scaduta la finestra di conversazione di 24 ore, è necessario reinizializzare la conversazione. Per altre informazioni sulle conversazioni, vedi la definizione in WhatsApp Business Platform.

(Opzione 1) Avviare una conversazione dall'azienda - Inviare un messaggio modello

Avviare una conversazione inviando un messaggio modello.

Prima di tutto, creare un MessageTemplate usando i valori per un modello.

Nota

Per verificare quali modelli sono disponibili, vedere le istruzioni in Elencare i modelli. Se non si dispone di un modello da usare, passare all'opzione 2.

Ecco la creazione di MessageTemplate usando un modello predefinito, sample_template.
Se sample_template non è disponibile, passare all'opzione 2. Per gli utenti avanzati, vedere la pagina Modelli per comprendere come inviare un modello diverso con l'opzione 1.

Messages SDK consente a Contoso di inviare messaggi WhatsApp modello agli utenti di WhatsApp. Per inviare messaggi modello sotto i dettagli sono necessari:

// Assemble the template content
string templateName = "sample_template";
string templateLanguage = "en_us";
var messageTemplate = new MessageTemplate(templateName, templateLanguage);

Per altri esempi di come assemblare MessageTemplate e come creare un modello personalizzato, vedere la risorsa seguente:

Per ulteriori requisiti di WhatsApp sui modelli, fai riferimento alle informazioni di riferimento sull'API WhatsApp Business Platform:

Assemblare quindi inviare il messaggio del modello:

// Assemble template message
var templateContent = 
    new TemplateNotificationContent(channelRegistrationId, recipientList, messageTemplate);

// Send template message
Response<SendMessageResult> sendTemplateMessageResult = 
    await notificationMessagesClient.SendAsync(templateContent);

Ora, l'utente deve rispondere al messaggio del modello. Dall'account utente WhatsApp, rispondi al messaggio del modello ricevuto dall'account WhatsApp Business. Il contenuto del messaggio è irrilevante per questo scenario.

Importante

Il destinatario deve rispondere al messaggio modello per avviare la conversazione prima che sia possibile recapitare testo o messaggio multimediale al destinatario.

(Opzione 2) Avviare la conversazione dall'utente

L'altra opzione per avviare una conversazione tra un account WhatsApp Business e un utente WhatsApp consiste nell'avviare la conversazione. A tale scopo, dal tuo account WhatsApp personale, invia un messaggio al tuo numero di ufficio (ID mittente).

Una conversazione WhatsApp visualizzata sul Web che mostra un messaggio utente inviato al numero di account WhatsApp Business.

Inviare un SMS a un utente WhatsApp

Messages SDK consente a Contoso di inviare sms a WhatsApp, che ha avviato gli utenti di WhatsApp. Per inviare sms di seguito sono necessari i dettagli:

Importante

Per inviare un SMS a un utente WhatsApp, l'utente WhatsApp deve prima inviare un messaggio all'account WhatsApp Business. Per altre informazioni, vedi Start sending messages between business and WhatsApp user.For more information, see Start sending messages between business and WhatsApp user.

In questo esempio rispondiamo all'utente WhatsApp con il testo "Grazie per il tuo feedback.\n Da Notification Messaging SDK".

Assemblare quindi inviare il messaggio di testo:

// Assemble text message
var textContent = 
    new TextNotificationContent(channelRegistrationId, recipientList, "Thanks for your feedback.\n From Notification Messaging SDK");

// Send text message
Response<SendMessageResult> sendTextMessageResult = 
    await notificationMessagesClient.SendAsync(textContent);

Inviare un messaggio multimediale a un utente WhatsApp

Messages SDK consente a Contoso di inviare messaggi WhatsApp immagine agli utenti di WhatsApp. Per inviare messaggi incorporati immagine sotto i dettagli sono necessari:

Importante

Per inviare un SMS a un utente WhatsApp, l'utente WhatsApp deve prima inviare un messaggio all'account WhatsApp Business. Per altre informazioni, vedi Start sending messages between business and WhatsApp user.For more information, see Start sending messages between business and WhatsApp user.

Ad esempio, creare un URI:

var uri = new Uri("https://aka.ms/acsicon1");

Assemblare quindi inviare il messaggio multimediale:

// Assemble media message
var mediaContent = 
    new MediaNotificationContent(channelRegistrationId, recipientList, uri);

// Send media message
Response<SendMessageResult> sendMediaMessageResult = 
    await notificationMessagesClient.SendAsync(mediaContent);

Eseguire il codice

Compilare ed eseguire il programma.

Per inviare un sms o un messaggio multimediale a un utente WhatsApp, deve esserci una conversazione attiva tra l'account WhatsApp Business e l'utente WhatsApp.
Se non si ha una conversazione attiva, ai fini di questa guida introduttiva, è necessario aggiungere un'attesa tra l'invio del messaggio modello e l'invio del messaggio di testo. Questo ritardo aggiunto ti dà abbastanza tempo per rispondere all'azienda sul account WhatsApp dell'utente. Per riferimento, l'esempio completo in Codice di esempio richiede l'input manuale dell'utente prima di inviare il messaggio successivo.

Se ha esito positivo, ricevi tre messaggi sull'account WhatsApp dell'utente.

  1. Per compilare il codice, premere CTRL+F7.
  2. Per eseguire il programma senza eseguire il debug, premere CTRL+F5.

Codice di esempio completo

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Azure;
using Azure.Communication.Messages;

namespace AdvancedMessagingQuickstart
{
    class Program
    {
        public static async Task Main(string[] args)
        {
            Console.WriteLine("Azure Communication Services - Send WhatsApp Messages\n");

            string connectionString = Environment.GetEnvironmentVariable("COMMUNICATION_SERVICES_CONNECTION_STRING");
            NotificationMessagesClient notificationMessagesClient = 
                new NotificationMessagesClient(connectionString);

            var channelRegistrationId = new Guid("<Your Channel ID>");
            var recipientList = new List<string> { "<Recipient's WhatsApp Phone Number>" };

            // Send sample template sample_template
            string templateName = "sample_template";
            string templateLanguage = "en_us";
            MessageTemplate sampleTemplate = new MessageTemplate(templateName, templateLanguage);
            TemplateNotificationContent templateContent = 
                new TemplateNotificationContent(channelRegistrationId, recipientList, sampleTemplate);
            Response<SendMessageResult> sendTemplateMessageResult = 
                await notificationMessagesClient.SendAsync(templateContent);

            PrintResult(sendTemplateMessageResult);
            Console.WriteLine("Template message sent.\nWait until the WhatsApp user responds " +
                "to the template message, then press any key to continue.\n");
            Console.ReadKey();

            // Send a text message
            string messageText = "Thanks for your feedback.";
            TextNotificationContent textContent =
                new TextNotificationContent(channelRegistrationId, recipientList, messageText);
            Response<SendMessageResult> sendTextMessageResult =
                await notificationMessagesClient.SendAsync(textContent);

            PrintResult(sendTextMessageResult);
            Console.WriteLine($"Text message sent to my phoneNumber.\nPress any key to continue.\n");
            Console.ReadKey();

            // Send a media message
            Uri uri = new Uri("https://aka.ms/acsicon1");
            MediaNotificationContent mediaContent =
                new MediaNotificationContent(channelRegistrationId, recipientList, uri);
            Response<SendMessageResult> sendMediaMessageResult =
                await notificationMessagesClient.SendAsync(mediaContent);

            PrintResult(sendMediaMessageResult);
            Console.WriteLine("Media message sent.\nPress any key to exit.\n");
            Console.ReadKey();
        }

        public static void PrintResult(Response<SendMessageResult> result)
        {
            Console.WriteLine($"Response: {result.GetRawResponse().Status} " +
                $"({result.GetRawResponse().ReasonPhrase})");
            Console.WriteLine($"Date: " +
                $"{result.GetRawResponse().Headers.First(header => header.Name == "Date").Value}");
            Console.WriteLine($"ClientRequestId: {result.GetRawResponse().ClientRequestId}");
            Console.WriteLine($"MS-CV: " +
                $"{result.GetRawResponse().Headers.First(header => header.Name == "MS-CV").Value}");
            foreach (var receipts in result.Value.Receipts)
            {
                Console.WriteLine($"MessageId: {receipts.MessageId}");
            }
            Console.WriteLine($"\n");
        }
    }
}

Prerequisiti

Configurazione

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.

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 artifactId valore. 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 .

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-messages</artifactId>
    <version>1.0.0</version>
</dependency>

Configurare il framework dell'app

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

package com.communication.quickstart;

import com.azure.communication.messages.*;
import com.azure.communication.messages.models.*;

import java.util.ArrayList;
import java.util.List;
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à di Servizi di comunicazione di Azure Advance Messaging SDK per Java.

Nome Descrizione
NotificationMessagesClientBuilder Questa classe crea il client di messaggi di notifica. È possibile specificare un endpoint e una credenziale.
NotificationMessagesClient Questa classe è necessaria per inviare messaggi WhatsApp e scaricare file multimediali.
NotificationMessagesAsyncClient Questa classe è necessaria per inviare messaggi WhatsApp e scaricare file multimediali in modo asincrono.
SendMessageResult Questa classe contiene il risultato del servizio di messaggistica avanzata per l'invio del messaggio di notifica.
MessageTemplateClientBuilder Questa classe crea il client del modello di messaggio. È possibile specificare un endpoint e una credenziale.
MessageTemplateClient Questa classe è necessaria per ottenere l'elenco dei modelli WhatsApp.
MessageTemplateAsyncClient Questa classe è necessaria per ottenere l'elenco di modelli WhatsApp in modo asincrono.

Esempi di codice

Seguire questa procedura per aggiungere i frammenti di codice necessari alla funzione principale del file App.java .

Autenticare il client

Sono disponibili alcune opzioni diverse per l'autenticazione di un client di messaggi:

Per autenticare un client, creare un'istanza NotificationMessagesClient di o MessageTemplateClient con il stringa di connessione. È anche possibile inizializzare il client con qualsiasi client HTTP personalizzato che implementa l'interfaccia com.azure.core.http.HttpClient .

Per semplicità, questa guida introduttiva usa un stringa di connessione per l'autenticazione. Negli ambienti di produzione è consigliabile usare le entità servizio.

Ottenere il stringa di connessione dalla risorsa Servizi di comunicazione di Azure nella portale di Azure. A sinistra passare alla Keys scheda. Copiare il Connection string campo per .Primary key Il stringa di connessione è nel formato endpoint=https://{your Azure Communication Services resource name}.communication.azure.com/;accesskey={secret key}.

Screenshot che mostra una risorsa Servizi di comunicazione di Azure nella portale di Azure, visualizzando il campo

Impostare la variabile COMMUNICATION_SERVICES_CONNECTION_STRING di ambiente sul valore del stringa di connessione.
Aprire una finestra della console e immettere il comando seguente:

setx COMMUNICATION_SERVICES_CONNECTION_STRING "<your connection string>"

Per altre informazioni su come impostare una variabile di ambiente per il sistema, seguire la procedura descritta in Archiviare il stringa di connessione in una variabile di ambiente.

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

// You can get your connection string from your resource in the Azure portal.
String connectionString = System.getenv("COMMUNICATION_SERVICES_CONNECTION_STRING");

NotificationMessagesClient notificationClient = new NotificationMessagesClientBuilder()
    .connectionString(connectionString)
    .buildClient();

Impostare l'ID registrazione del canale

Il GUID DELL'ID di registrazione del canale è stato creato durante la registrazione del canale. È possibile cercarlo nel portale nella scheda Canali della risorsa Servizi di comunicazione di Azure.

Screenshot che mostra una risorsa Servizi di comunicazione di Azure nella portale di Azure, visualizzando la scheda

Assegnarlo a una variabile denominata channelRegistrationId.

String channelRegistrationId = "<your channel registration id GUID>";

Impostare l'elenco dei destinatari

Devi fornire un numero di telefono reale che ha un account WhatsApp associato. Questo account WhatsApp riceve il testo e i messaggi multimediali inviati in questa guida introduttiva. Per questa guida introduttiva, questo numero di telefono potrebbe essere il numero di telefono personale.

Il numero di telefono del destinatario non può essere il numero di telefono aziendale (ID mittente) associato alla registrazione del canale WhatsApp. L'ID mittente viene visualizzato come mittente del testo e dei messaggi multimediali inviati al destinatario.

Il numero di telefono deve includere il codice paese. Per altre informazioni sulla formattazione dei numeri di telefono, vedi la documentazione di WhatsApp per Telefono formati numerici.

Nota

Nell'elenco dei destinatari è attualmente supportato un solo numero di telefono.

Creare l'elenco dei destinatari come segue:

List<String> recipientList = new ArrayList<>();
recipientList.add("<to WhatsApp phone number>");

Esempio:

// Example only
List<String> recipientList = new ArrayList<>();
recipientList.add("+14255550199");

Iniziare a inviare messaggi tra un'azienda e un utente WhatsApp

Le conversazioni tra un account WhatsApp Business e un utente WhatsApp possono essere avviate in uno dei due modi seguenti:

  • L'azienda invia un messaggio modello all'utente WhatsApp.
  • L'utente WhatsApp invia qualsiasi messaggio al numero di ufficio.

Indipendentemente dalla modalità di avvio della conversazione, un'azienda può inviare messaggi modello solo fino a quando l'utente non invia un messaggio all'azienda. Solo dopo che l'utente invia un messaggio all'azienda, l'azienda può inviare sms o messaggi multimediali all'utente durante la conversazione attiva. Una volta scaduta la finestra di conversazione di 24 ore, è necessario reinizializzare la conversazione. Per altre informazioni sulle conversazioni, vedi la definizione in WhatsApp Business Platform.

(Opzione 1) Avviare una conversazione dall'azienda - Inviare un messaggio modello

Avviare una conversazione inviando un messaggio modello.

Prima di tutto, creare un MessageTemplate usando i valori per un modello.

Nota

Per verificare quali modelli sono disponibili, vedere le istruzioni in Elencare i modelli. Se non si dispone di un modello da usare, passare all'opzione 2.

Ecco la creazione di MessageTemplate usando un modello predefinito, sample_template.
Se sample_template non è disponibile, passare all'opzione 2. Per gli utenti avanzati, vedere la pagina Modelli per comprendere come inviare un modello diverso con l'opzione 1.

Messages SDK consente a Contoso di inviare messaggi WhatsApp modello agli utenti di WhatsApp. Per inviare messaggi modello sotto i dettagli sono necessari:

// Assemble the template content
String templateName = "sample_template";
String templateLanguage = "en_us";
MessageTemplate messageTemplate = new MessageTemplate(templateName, templateLanguage);

// Assemble template message
TemplateNotificationContent templateContent = new TemplateNotificationContent(channelRegistrationId, recipientList, messageTemplate);

// Send template message
SendMessageResult templateMessageResult = notificationClient.send(templateContent);

// Process result
for (MessageReceipt messageReceipt : templateMessageResult.getReceipts()) {
    System.out.println("Message sent to:" + messageReceipt.getTo() + " and message id:" + messageReceipt.getMessageId());
}

Ora, l'utente deve rispondere al messaggio del modello. Dall'account utente WhatsApp, rispondi al messaggio del modello ricevuto dall'account WhatsApp Business. Il contenuto del messaggio è irrilevante per questo scenario.

Importante

Il destinatario deve rispondere al messaggio modello per avviare la conversazione prima che sia possibile recapitare testo o messaggio multimediale al destinatario.

(Opzione 2) Avviare la conversazione dall'utente

L'altra opzione per avviare una conversazione tra un account WhatsApp Business e un utente WhatsApp consiste nell'avviare la conversazione. A tale scopo, dal tuo account WhatsApp personale, invia un messaggio al tuo numero di ufficio (ID mittente).

Una conversazione WhatsApp visualizzata sul Web che mostra un messaggio utente inviato al numero di account WhatsApp Business.

Inviare un SMS a un utente WhatsApp

Messages SDK consente a Contoso di inviare sms a WhatsApp, che ha avviato gli utenti di WhatsApp. Per inviare sms di seguito sono necessari i dettagli:

Importante

Per inviare un SMS a un utente WhatsApp, l'utente WhatsApp deve prima inviare un messaggio all'account WhatsApp Business. Per altre informazioni, vedi Start sending messages between business and WhatsApp user.For more information, see Start sending messages between business and WhatsApp user.

In questo esempio rispondiamo all'utente WhatsApp con il testo "Grazie per il tuo feedback.\n Da Notification Messaging SDK".

Assemblare quindi inviare il messaggio di testo:

// Assemble text message
TextNotificationContent textContent = new TextNotificationContent(channelRegistrationId, recipientList, "“Thanks for your feedback.\n From Notification Messaging SDK");

// Send text message
SendMessageResult textMessageResult = notificationClient.send(textContent);

// Process result
for (MessageReceipt messageReceipt : textMessageResult.getReceipts()) {
    System.out.println("Message sent to:" + messageReceipt.getTo() + " and message id:" + messageReceipt.getMessageId());
}

Inviare un messaggio multimediale a un utente WhatsApp

Messages SDK consente a Contoso di inviare messaggi WhatsApp immagine agli utenti di WhatsApp. Per inviare messaggi incorporati immagine sotto i dettagli sono necessari:

Importante

Per inviare un SMS a un utente WhatsApp, l'utente WhatsApp deve prima inviare un messaggio all'account WhatsApp Business. Per altre informazioni, vedi Start sending messages between business and WhatsApp user.For more information, see Start sending messages between business and WhatsApp user.

Ad esempio, creare un URI:

String mediaUrl = "https://aka.ms/acsicon1";

Assemblare quindi inviare il messaggio multimediale:

// Assemble media message
MediaNotificationContent mediaContent = new MediaNotificationContent(channelRegistrationId, recipientList, mediaUrl);

// Send media message
SendMessageResult mediaMessageResult = notificationClient.send(mediaContent);

// Process result
for (MessageReceipt messageReceipt : mediaMessageResult.getReceipts()) {
    System.out.println("Message sent to:" + messageReceipt.getTo() + " and message id:" + messageReceipt.getMessageId());
}

Eseguire il codice

  1. Passare alla directory contenente il file pom.xml e compilare il progetto usando il mvn comando .

    mvn compile
    
  2. Eseguire l'app eseguendo il comando seguente mvn .

    mvn exec:java -D"exec.mainClass"="com.communication.quickstart.App" -D"exec.cleanupDaemonThreads"="false"
    

Codice di esempio completo

Trovare il codice finalizzato per questa guida introduttiva in GitHub.

Prerequisiti

Configurazione

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

Creare una nuova applicazione Node.js

  1. Creare una nuova directory per l'app e passarvi aprendo il terminale o la finestra di comando, quindi eseguire il comando seguente.

    mkdir advance-messages-quickstart && cd advance-messages-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-messages.js nella directory radice del progetto.

  4. Aggiungere il frammento di codice seguente al file send-messages.js.

    async function main() {
        // Quickstart code goes here.
    }
    
    main().catch((error) => {
        console.error("Encountered an error while sending message: ", error);
        process.exit(1);
    });
    

Nelle sezioni seguenti è stato aggiunto tutto il codice sorgente per questa guida introduttiva al file di send-messages.js creato.

Installare il pacchetto

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

npm install @azure-rest/communication-messages --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à di Servizi di comunicazione di Azure Advance Messaging SDK per JavaScript.

Nome Descrizione
MessageClient Questa classe si connette alla risorsa Servizi di comunicazione di Azure. Invia i messaggi.
MessageTemplate Questa classe definisce il modello usato e il contenuto delle proprietà del modello per il messaggio.

Esempi di codice

Seguire questa procedura per aggiungere i frammenti di codice necessari alla funzione principale del file send-messages.js .

Autenticare il client

Il codice seguente recupera il stringa di connessione per la risorsa da una variabile di ambiente denominata COMMUNICATION_SERVICES_CONNECTION_STRING usando il pacchetto dotenv.

Per semplicità, questa guida introduttiva usa un stringa di connessione per l'autenticazione. Negli ambienti di produzione è consigliabile usare le entità servizio.

Ottenere il stringa di connessione dalla risorsa Servizi di comunicazione di Azure nella portale di Azure. A sinistra passare alla Keys scheda. Copiare il Connection string campo per .Primary key Il stringa di connessione è nel formato endpoint=https://{your Azure Communication Services resource name}.communication.azure.com/;accesskey={secret key}.

Screenshot che mostra una risorsa Servizi di comunicazione di Azure nella portale di Azure, visualizzando il campo

Impostare la variabile COMMUNICATION_SERVICES_CONNECTION_STRING di ambiente sul valore del stringa di connessione.
Aprire una finestra della console e immettere il comando seguente:

setx COMMUNICATION_SERVICES_CONNECTION_STRING "<your connection string>"

Per altre informazioni su come impostare una variabile di ambiente per il sistema, seguire la procedura descritta in Archiviare il stringa di connessione in una variabile di ambiente.

Per creare un'istanza di MessageClient, aggiungere il codice seguente al Main metodo :

const MessageClient = require("@azure-rest/communication-messages").default;

// Set Connection string
const connectionString = process.env["COMMUNICATION_SERVICES_CONNECTION_STRING"];

// Instantiate the client
const client = MessageClient(connectionString);

Impostare l'ID registrazione del canale

Il GUID DELL'ID di registrazione del canale è stato creato durante la registrazione del canale. È possibile cercarlo nel portale nella scheda Canali della risorsa Servizi di comunicazione di Azure.

Screenshot che mostra una risorsa Servizi di comunicazione di Azure nella portale di Azure, visualizzando la scheda

Assegnarlo a una variabile denominata channelRegistrationId.

const channelRegistrationId = "<your channel registration id GUID>";

Impostare l'elenco dei destinatari

Devi fornire un numero di telefono reale che ha un account WhatsApp associato. Questo account WhatsApp riceve il modello, il testo e i messaggi multimediali inviati in questa guida introduttiva. Per questa guida introduttiva, questo numero di telefono potrebbe essere il numero di telefono personale.

Il numero di telefono del destinatario non può essere il numero di telefono aziendale (ID mittente) associato alla registrazione del canale WhatsApp. L'ID mittente viene visualizzato come mittente del testo e dei messaggi multimediali inviati al destinatario.

Il numero di telefono deve includere il codice paese. Per altre informazioni sulla formattazione dei numeri di telefono, vedi la documentazione di WhatsApp per Telefono formati numerici.

Nota

Nell'elenco dei destinatari è attualmente supportato un solo numero di telefono.

Creare l'elenco dei destinatari come segue:

const recipientList = ["<to WhatsApp phone number>"];

Esempio:

// Example only
const recipientList = ["+14255550199"];

Iniziare a inviare messaggi tra un'azienda e un utente WhatsApp

Le conversazioni tra un account WhatsApp Business e un utente WhatsApp possono essere avviate in uno dei due modi seguenti:

  • L'azienda invia un messaggio modello all'utente WhatsApp.
  • L'utente WhatsApp invia qualsiasi messaggio al numero di ufficio.

Indipendentemente dalla modalità di avvio della conversazione, un'azienda può inviare messaggi modello solo fino a quando l'utente non invia un messaggio all'azienda. Solo dopo che l'utente invia un messaggio all'azienda, l'azienda può inviare sms o messaggi multimediali all'utente durante la conversazione attiva. Una volta scaduta la finestra di conversazione di 24 ore, è necessario reinizializzare la conversazione. Per altre informazioni sulle conversazioni, vedi la definizione in WhatsApp Business Platform.

(Opzione 1) Avviare una conversazione dall'azienda - Inviare un messaggio modello

Avviare una conversazione inviando un messaggio modello.

Prima di tutto, creare un MessageTemplate usando i valori per un modello.

Nota

Per verificare quali modelli sono disponibili, vedere le istruzioni in Elencare i modelli. Se non si dispone di un modello da usare, passare all'opzione 2.

Ecco la creazione di MessageTemplate usando un modello predefinito, sample_template.
Se sample_template non è disponibile, passare all'opzione 2. Per gli utenti avanzati, vedere la pagina Modelli per comprendere come inviare un modello diverso con l'opzione 1.

Messages SDK consente a Contoso di inviare messaggi WhatsApp modello agli utenti di WhatsApp. Per inviare messaggi modello sotto i dettagli sono necessari:

// Assemble the template content
const template = {
    name: "sample_template",
    language: "en_US"
};

Per altri esempi di come assemblare MessageTemplate e come creare un modello personalizzato, vedere la risorsa seguente:

Per ulteriori requisiti di WhatsApp sui modelli, fai riferimento alle informazioni di riferimento sull'API WhatsApp Business Platform:

// Send template message
const templateMessageResult = await client.path("/messages/notifications:send").post({
    contentType: "application/json",
    body: {
        channelRegistrationId: channelRegistrationId,
        to: recipientList,
        kind: "template",
        template: template
    }
});

// Process result
if (templateMessageResult.status === "202") {
    templateMessageResult.body.receipts.forEach((receipt) => {
        console.log("Message sent to:"+receipt.to+" with message id:"+receipt.messageId);
    });
} else {
    throw new Error("Failed to send message");
}

Ora, l'utente deve rispondere al messaggio del modello. Dall'account utente WhatsApp, rispondi al messaggio del modello ricevuto dall'account WhatsApp Business. Il contenuto del messaggio è irrilevante per questo scenario.

Importante

Il destinatario deve rispondere al messaggio modello per avviare la conversazione prima che sia possibile recapitare testo o messaggio multimediale al destinatario.

(Opzione 2) Avviare la conversazione dall'utente

L'altra opzione per avviare una conversazione tra un account WhatsApp Business e un utente WhatsApp consiste nell'avviare la conversazione. A tale scopo, dal tuo account WhatsApp personale, invia un messaggio al tuo numero di ufficio (ID mittente).

Una conversazione WhatsApp visualizzata sul Web che mostra un messaggio utente inviato al numero di account WhatsApp Business.

Inviare un SMS a un utente WhatsApp

Messages SDK consente a Contoso di inviare sms a WhatsApp, che ha avviato gli utenti di WhatsApp. Per inviare sms di seguito sono necessari i dettagli:

Importante

Per inviare un SMS a un utente WhatsApp, l'utente WhatsApp deve prima inviare un messaggio all'account WhatsApp Business. Per altre informazioni, vedi Start sending messages between business and WhatsApp user.For more information, see Start sending messages between business and WhatsApp user.

In questo esempio rispondiamo all'utente WhatsApp con il testo "Grazie per il tuo feedback.\n Da Notification Messaging SDK".

Assemblare e inviare il messaggio multimediale:

// Send text message
const textMessageResult = await client.path("/messages/notifications:send").post({
    contentType: "application/json",
    body: {
        channelRegistrationId: channelRegistrationId,
        to: recipientList,
        kind: "text",
        content: "Thanks for your feedback.\n From Notification Messaging SDK"
    }
});

// Process result
if (textMessageResult.status === "202") {
    textMessageResult.body.receipts.forEach((receipt) => {
        console.log("Message sent to:"+receipt.to+" with message id:"+receipt.messageId);
    });
} else {
    throw new Error("Failed to send message");
}

Inviare un messaggio multimediale a un utente WhatsApp

Messages SDK consente a Contoso di inviare messaggi WhatsApp immagine agli utenti di WhatsApp. Per inviare messaggi incorporati immagine sotto i dettagli sono necessari:

Importante

Per inviare un SMS a un utente WhatsApp, l'utente WhatsApp deve prima inviare un messaggio all'account WhatsApp Business. Per altre informazioni, vedi Start sending messages between business and WhatsApp user.For more information, see Start sending messages between business and WhatsApp user.

Per inviare un messaggio multimediale, fornire un URL a un'immagine. Ad esempio,

const url = "https://aka.ms/acsicon1";

Assemblare e inviare il messaggio multimediale:

// Send media message
const mediaMessageResult = await client.path("/messages/notifications:send").post({
    contentType: "application/json",
    body: {
        channelRegistrationId: channelRegistrationId,
        to: recipientList,
        kind: "image",
        mediaUri: url
    }
});

// Process result
if (mediaMessageResult.status === "202") {
    mediaMessageResult.body.receipts.forEach((receipt) => {
        console.log("Message sent to:"+receipt.to+" with message id:"+receipt.messageId);
    });
} else {
    throw new Error("Failed to send message");
}

Eseguire il codice

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

node ./send-messages.js

Codice di esempio completo

È possibile scaricare l'app di esempio da GitHub.

Prerequisiti

Configurazione

Creare una nuova applicazione Python

In una finestra del terminale o della console creare una nuova cartella per l'applicazione e passarvi.

mkdir messages-quickstart && cd messages-quickstart

Installare il pacchetto

È necessario usare la libreria client messaggi di comunicazione di Azure per Python versione 1.0.0 o successiva.

Da un prompt della console eseguire il comando seguente:

pip install azure-communication-messages

Configurare il framework dell'app

Creare un nuovo file denominato messages-quickstart.py e aggiungere la struttura del programma di base.

type nul > messages-quickstart.py   

Struttura di base del programma

import os

class MessagesQuickstart(object):
    print("Azure Communication Services - Advanced Messages SDK Quickstart")

if __name__ == '__main__':
    messages = MessagesQuickstart()

Modello a oggetti

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

Nome Descrizione
NotificationMessagesClient Questa classe si connette alla risorsa Servizi di comunicazione di Azure. Invia i messaggi.
MessageTemplate Questa classe definisce il modello usato e il contenuto delle proprietà del modello per il messaggio.
TemplateNotificationContent Questa classe definisce il "chi" e il "what" del messaggio del modello che si intende inviare.
TextNotificationContent Questa classe definisce "chi" e "cosa" del messaggio di testo che si intende inviare.
ImageNotificationContent Questa classe definisce il "chi" e il "cosa" del messaggio multimediale di immagine che si intende inviare.

Esempi di codice

Seguire questa procedura per aggiungere i frammenti di codice necessari al programma python messages-quickstart.py.

Autenticare il client

L'invio dei messaggi viene eseguito tramite NotificationMessagesClient. NotificationMessagesClient viene autenticato usando il stringa di connessione acquisito dalla risorsa Servizi di comunicazione di Azure nel portale di Azure. Per altre informazioni sulle stringa di connessione, vedere access-your-connection-strings-and-service-endpoints.

Ottenere l'stringa di connessione delle risorse di comunicazione di Azure da portale di Azure come indicato nello screenshot. A sinistra passare alla Keys scheda. Copiare il Connection string campo per la chiave primaria. Il stringa di connessione è nel formato endpoint=https://{your Azure Communication Services resource name}.communication.azure.com/;accesskey={secret key}.

Screenshot che mostra una risorsa Servizi di comunicazione di Azure nella portale di Azure, visualizzando il campo

Impostare la variabile COMMUNICATION_SERVICES_CONNECTION_STRING di ambiente sul valore del stringa di connessione.
Aprire una finestra della console e immettere il comando seguente:

setx COMMUNICATION_SERVICES_CONNECTION_STRING "<your connection string>"

Dopo aver aggiunto la variabile di ambiente, potrebbe essere necessario riavviare tutti i programmi in esecuzione che dovranno 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.

Per altre informazioni su come impostare una variabile di ambiente per il sistema, seguire la procedura descritta in Archiviare il stringa di connessione in una variabile di ambiente.

    # Get a connection string to our Azure Communication Services resource.
    connection_string = os.getenv("COMMUNICATION_SERVICES_CONNECTION_STRING")
    
    def send_template_message(self):
        from azure.communication.messages import NotificationMessagesClient

        # Create NotificationMessagesClient Client
        messaging_client = NotificationMessagesClient.from_connection_string(self.connection_string)

Impostare l'ID registrazione del canale

Il GUID DELL'ID di registrazione del canale è stato creato durante la registrazione del canale. È possibile cercarlo nel portale nella scheda Canali della risorsa Servizi di comunicazione di Azure.

Screenshot che mostra una risorsa Servizi di comunicazione di Azure nella portale di Azure, visualizzando la scheda

Assegnarlo a una variabile denominata channelRegistrationId.

    channelRegistrationId = os.getenv("WHATSAPP_CHANNEL_ID_GUID")

Impostare l'elenco dei destinatari

Devi fornire un numero di telefono reale che ha un account WhatsApp associato. Questo account WhatsApp riceve il modello, il testo e i messaggi multimediali inviati in questa guida introduttiva. Per questa guida introduttiva, questo numero di telefono potrebbe essere il numero di telefono personale.

Il numero di telefono del destinatario non può essere il numero di telefono aziendale (ID mittente) associato alla registrazione del canale WhatsApp. L'ID mittente viene visualizzato come mittente del testo e dei messaggi multimediali inviati al destinatario.

Il numero di telefono deve includere il codice paese. Per altre informazioni sulla formattazione dei numeri di telefono, vedi la documentazione di WhatsApp per Telefono formati numerici.

Nota

Nell'elenco dei destinatari è attualmente supportato un solo numero di telefono.

Impostare l'elenco dei destinatari come segue:

    phone_number = os.getenv("RECIPIENT_WHATSAPP_PHONE_NUMBER")

Esempio di utilizzo:

    # Example only
    to=[self.phone_number],

Iniziare a inviare messaggi tra un'azienda e un utente WhatsApp

Le conversazioni tra un account WhatsApp Business e un utente WhatsApp possono essere avviate in uno dei due modi seguenti:

  • L'azienda invia un messaggio modello all'utente WhatsApp.
  • L'utente WhatsApp invia qualsiasi messaggio al numero di ufficio.

Indipendentemente dalla modalità di avvio della conversazione, un'azienda può inviare messaggi modello solo fino a quando l'utente non invia un messaggio all'azienda. Solo dopo che l'utente invia un messaggio all'azienda, l'azienda può inviare sms o messaggi multimediali all'utente durante la conversazione attiva. Una volta scaduta la finestra di conversazione di 24 ore, è necessario reinizializzare la conversazione. Per altre informazioni sulle conversazioni, vedi la definizione in WhatsApp Business Platform.

(Opzione 1) Avviare una conversazione dall'azienda - Inviare un messaggio modello

Avviare una conversazione inviando un messaggio modello.

Prima di tutto, creare un MessageTemplate usando i valori per un modello.

Nota

Per verificare quali modelli sono disponibili, vedere le istruzioni in Elencare i modelli. Se non si dispone di un modello da usare, passare all'opzione 2.

Ecco la creazione di MessageTemplate usando un modello predefinito, sample_template.
Se sample_template non è disponibile, passare all'opzione 2. Per gli utenti avanzati, vedere la pagina Modelli per comprendere come inviare un modello diverso con l'opzione 1.

Messages SDK consente a Contoso di inviare messaggi WhatsApp modello agli utenti di WhatsApp. Per inviare messaggi modello sotto i dettagli sono necessari:

Per altri esempi di come assemblare MessageTemplate e come creare un modello personalizzato, vedere la risorsa seguente:

Per ulteriori requisiti di WhatsApp sui modelli, fai riferimento alle informazioni di riferimento sull'API WhatsApp Business Platform:

Per inviare il messaggio del modello WhatsApp, aggiungere il codice seguente nella funzione send_template_message(self).

        input_template: MessageTemplate = MessageTemplate(
            name="<<template_name>>",
            language="<<template_language>>")
        template_options = TemplateNotificationContent(
            channel_registration_id=self.channelRegistrationId,
            to=[self.phone_number],
            template=input_template
        )

        # calling send() with whatsapp template details
        message_responses = messaging_client.send(template_options)
        response = message_responses.receipts[0]
        
        if (response is not None):
            print("WhatsApp Templated Message with message id {} was successfully sent to {}."
            .format(response.message_id, response.to))
        else:
            print("Message failed to send")

Aggiungere send_template_message() chiamata al metodo main.

    # Calling send_template_message()
    messages.send_template_message()

Ora, l'utente deve rispondere al messaggio del modello. Dall'account utente WhatsApp, rispondi al messaggio del modello ricevuto dall'account WhatsApp Business. Il contenuto del messaggio è irrilevante per questo scenario.

Importante

Il destinatario deve rispondere al messaggio modello per avviare la conversazione prima che sia possibile recapitare testo o messaggio multimediale al destinatario.

(Opzione 2) Avviare la conversazione dall'utente

L'altra opzione per avviare una conversazione tra un account WhatsApp Business e un utente WhatsApp consiste nell'avviare la conversazione. A tale scopo, dal tuo account WhatsApp personale, invia un messaggio al tuo numero di ufficio (ID mittente).

Una conversazione WhatsApp visualizzata sul Web che mostra un messaggio utente inviato al numero di account WhatsApp Business.

Inviare un SMS a un utente WhatsApp

Messages SDK consente a Contoso di inviare sms a WhatsApp, che ha avviato gli utenti di WhatsApp. Per inviare sms di seguito sono necessari i dettagli:

Importante

Per inviare un SMS a un utente WhatsApp, l'utente WhatsApp deve prima inviare un messaggio all'account WhatsApp Business. Per altre informazioni, vedi Start sending messages between business and WhatsApp user.For more information, see Start sending messages between business and WhatsApp user.

In questo esempio rispondiamo all'utente WhatsApp con il testo "Grazie per il tuo feedback.\n Da Notification Messaging SDK".

    def send_text_message(self):
        from azure.communication.messages import NotificationMessagesClient
        from azure.communication.messages.models import ( TextNotificationContent)

        # Create NotificationMessagesClient Client
        messaging_client = NotificationMessagesClient.from_connection_string(self.connection_string)
        text_options = TextNotificationContent (
            channel_registration_id=self.channelRegistrationId,
            to= [self.phone_number],
            content="Thanks for your feedback.\n From Notification Messaging SDK",
        )
        
        # calling send() with whatsapp message details
        message_responses = messaging_client.send(text_options)
        response = message_responses.receipts[0]
        
        if (response is not None):
            print("WhatsApp Text Message with message id {} was successfully sent to {}."
            .format(response.message_id, response.to))
        else:
            print("Message failed to send")

Aggiornare il metodo main per eseguire send_text_message()

    #Calling send_text_message()
    messages.send_text_message()

Inviare un messaggio multimediale a un utente WhatsApp

Messages SDK consente a Contoso di inviare messaggi WhatsApp immagine agli utenti di WhatsApp. Per inviare messaggi incorporati immagine sotto i dettagli sono necessari:

Importante

Per inviare un SMS a un utente WhatsApp, l'utente WhatsApp deve prima inviare un messaggio all'account WhatsApp Business. Per altre informazioni, vedi Start sending messages between business and WhatsApp user.For more information, see Start sending messages between business and WhatsApp user.

Un esempio di media_uri usato per l'invio di messaggi WhatsApp multimediali.

input_media_uri: str = "https://aka.ms/acsicon1"

    def send_image_message(self):
        from azure.communication.messages import NotificationMessagesClient
        from azure.communication.messages.models import ( ImageNotificationContent)

        # Create NotificationMessagesClient Client
        messaging_client = NotificationMessagesClient.from_connection_string(self.connection_string)
        input_media_uri: str = "https://aka.ms/acsicon1"
        image_message_options = ImageNotificationContent(
            channel_registration_id=self.channelRegistrationId,
            to=[self.phone_number],
            media_uri=input_media_uri
        )

        # calling send() with whatsapp image message
        message_responses = messaging_client.send(image_message_options)
        response = message_responses.receipts[0]
        
        if (response is not None):
            print("WhatsApp Image containing Message with message id {} was successfully sent to {}"
            .format(response.message_id, response.to))
        else:
            print("Message failed to send")

Aggiornare il metodo main per eseguire send_image_message()

    # Calling send_image_message()
    messages.send_image_message()

Eseguire il codice

Per eseguire il codice, assicurarsi di essere nella directory in cui si trova il messages-quickstart.py file.

python messages-quickstart.py
Azure Communication Services - Advanced Messages Quickstart
WhatsApp Templated Message with message id <<GUID>> was successfully sent to <<ToRecipient>>
WhatsApp Text Message with message id <<GUID>> was successfully sent to <<ToRecipient>>
WhatsApp Image containing Message with message id <<GUID>> was successfully sent to <<ToRecipient>>

Codice di esempio completo

import os

class MessagesQuickstart(object):
    print("Azure Communication Services - Advanced Messages SDK Quickstart using connection string.")
    # Advanced Messages SDK implementations goes in this section.
   
    connection_string = os.getenv("COMMUNICATION_SERVICES_CONNECTION_STRING")
    phone_number = os.getenv("RECIPIENT_PHONE_NUMBER")
    channelRegistrationId = os.getenv("WHATSAPP_CHANNEL_ID")

    def send_template_message(self):
        from azure.communication.messages import NotificationMessagesClient
        from azure.communication.messages.models import ( TemplateNotificationContent , MessageTemplate )

        # client creation
        messaging_client = NotificationMessagesClient.from_connection_string(self.connection_string)
        input_template: MessageTemplate = MessageTemplate(
            name="<<TEMPLATE_NAME>>",
            language="<<LANGUAGE>>")
        template_options = TemplateNotificationContent(
            channel_registration_id=self.channelRegistrationId,
            to=[self.phone_number],
            template=input_template
        )

        # calling send() with WhatsApp template details.
        message_responses = messaging_client.send(template_options)
        response = message_responses.receipts[0]
        
        if (response is not None):
            print("WhatsApp Templated Message with message id {} was successfully sent to {}"
            .format(response.message_id, response.to))
        else:
            print("Message failed to send")

    def send_text_message(self):
        from azure.communication.messages import NotificationMessagesClient
        from azure.communication.messages.models import ( TextNotificationContent )

        # client creation
        messaging_client = NotificationMessagesClient.from_connection_string(self.connection_string)

        text_options = TextNotificationContent (
            channel_registration_id=self.channelRegistrationId,
            to= [self.phone_number],
            content="Hello World via ACS Advanced Messaging SDK.",
        )
        
        # calling send() with WhatsApp message details
        message_responses = messaging_client.send(text_options)
        response = message_responses.receipts[0]
        
        if (response is not None):
            print("WhatsApp Text Message with message id {} was successfully sent to {}"
            .format(response.message_id, response.to))
        else:
            print("Message failed to send")

    def send_image_message(self):
        from azure.communication.messages import NotificationMessagesClient
        from azure.communication.messages.models import ( ImageNotificationContent)

        # Create NotificationMessagesClient Client
        messaging_client = NotificationMessagesClient.from_connection_string(self.connection_string)
        input_media_uri: str = "https://aka.ms/acsicon1"
        image_message_options = ImageNotificationContent(
            channel_registration_id=self.channelRegistrationId,
            to=[self.phone_number],
            media_uri=input_media_uri
        )

        # calling send() with whatsapp image message
        message_responses = messaging_client.send(image_message_options)
        response = message_responses.receipts[0]
        
        if (response is not None):
            print("WhatsApp Image containing Message with message id {} was successfully sent to {}"
            .format(response.message_id, response.to))
        else:
            print("Message failed to send")

if __name__ == '__main__':
    messages = MessagesQuickstart()
    messages.send_template_message()
    messages.send_text_message()
    messages.send_image_message()

Altri esempi

È possibile esaminare e scaricare altri codici di esempio per Python Messages SDK in GitHub.

Passaggi successivi

In this quickstart, you tried out the Advanced Messaging for WhatsApp SDK. Successivamente, è anche possibile visualizzare gli articoli seguenti: