Partilhar via


Guia de início rápido: envie mensagens do WhatsApp usando mensagens avançadas

Os Serviços de Comunicação do Azure permitem enviar e receber mensagens do WhatsApp. Neste início rápido, comece a integrar seu aplicativo com o SDK de Mensagens Avançadas de Comunicação do Azure e comece a enviar/receber mensagens do WhatsApp. A conclusão deste início rápido incorre num pequeno custo de alguns cêntimos USD ou menos na sua conta do Azure.

Pré-requisitos

Configuração

Criar o projeto .NET

Para criar seu projeto, siga o tutorial em Criar um aplicativo de console .NET usando o Visual Studio.

Para compilar o código, pressione Ctrl+F7.

Instalar o pacote

Instale o pacote NuGet Azure.Communication.Messages em seu projeto C#.

  1. Abra o Gerenciador de Pacotes NuGet em Project>Manage NuGet Packages....
  2. Procure o pacote Azure.Communication.Messages.
  3. Instale a versão mais recente.

Configurar a estrutura do aplicativo

Abra o arquivo Program.cs em um editor de texto.

Substitua o conteúdo do seu Program.cs pelo seguinte código:

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
        }
    }
}

Para usar os recursos de Mensagens Avançadas, adicionamos uma using diretiva para incluir o Azure.Communication.Messages namespace.

using Azure.Communication.Messages;

Modelo de objeto

As classes e interfaces a seguir lidam com alguns dos principais recursos do SDK de Mensagens Avançadas dos Serviços de Comunicação do Azure para .NET.

Nome Descrição
NotificationMessagesClient Essa classe se conecta ao seu recurso dos Serviços de Comunicação do Azure. Ele envia as mensagens.
MessageTemplate Essa classe define qual modelo você usa e o conteúdo das propriedades do modelo para sua mensagem.
TemplateNotificationContent Esta classe define o "quem" e o "o quê" da mensagem de modelo que você pretende enviar.
TextNotificationContent Essa classe define "quem" e "o quê" da mensagem de texto que você pretende enviar.
MediaNotificationContent Esta classe define "quem" e "o quê" da mensagem de mídia que você pretende enviar.

Exemplos de código

Siga estas etapas para adicionar os trechos de código necessários à função principal do seu arquivo Program.cs .

Autenticar o cliente

O NotificationMessagesClient é usado para se conectar ao seu recurso dos Serviços de Comunicação do Azure.

Para simplificar, este guia de início rápido usa uma cadeia de conexão para autenticar. Em ambientes de produção, recomendamos o uso de entidades de serviço.

Obtenha a cadeia de conexão do seu recurso dos Serviços de Comunicação do Azure no portal do Azure. À esquerda, navegue até a Keys guia. Copie o Connection string campo da chave primária. A cadeia de conexão está no formato endpoint=https://{your Azure Communication Services resource name}.communication.azure.com/;accesskey={secret key}.

Captura de ecrã que mostra um recurso dos Serviços de Comunicação do Azure no portal do Azure, visualizando o campo 'Cadeia de ligação' na secção 'Chave primária'.

Defina a variável COMMUNICATION_SERVICES_CONNECTION_STRING de ambiente para o valor da sua cadeia de conexão.
Abra uma janela do console e digite o seguinte comando:

setx COMMUNICATION_SERVICES_CONNECTION_STRING "<your connection string>"

Depois de adicionar a variável de ambiente, talvez seja necessário reiniciar todos os programas em execução que precisarão ler a variável de ambiente, incluindo a janela do console. Por exemplo, se você estiver usando o Visual Studio como editor, reinicie o Visual Studio antes de executar o exemplo.

Para obter mais informações sobre como definir uma variável de ambiente para seu sistema, siga as etapas em Armazenar sua cadeia de conexão em uma variável de ambiente.

Para instanciar um NotificationMessagesClient, adicione o seguinte código ao Main método:

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

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

Definir ID de registro do canal

O GUID do ID de registro do canal foi criado durante o registro do canal. Você pode procurá-lo no portal na guia Canais do seu recurso dos Serviços de Comunicação do Azure.

Captura de ecrã que mostra um recurso dos Serviços de Comunicação do Azure no portal do Azure, visualizando o separador 'Canais'. A atenção é colocada na ação de cópia do campo 'ID do canal'.

Atribua-o a uma variável chamada channelRegistrationId.

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

Definir lista de destinatários

Você precisa fornecer um número de telefone real que tenha uma conta do WhatsApp associada a ele. Esta conta do WhatsApp recebe o modelo, o texto e as mensagens de mídia enviadas neste início rápido. Para este início rápido, este número de telefone pode ser o seu número de telefone pessoal.

O número de telefone do destinatário não pode ser o número de telefone comercial (ID do remetente) associado ao registro do canal do WhatsApp. O ID do Remetente aparece como o remetente das mensagens de texto e mídia enviadas ao destinatário.

O número de telefone deve incluir o código do país. Para obter mais informações sobre a formatação do número de telefone, consulte a documentação do WhatsApp para formatos de número de telefone.

Nota

Atualmente, apenas um número de telefone é suportado na lista de destinatários.

Crie a lista de destinatários da seguinte forma:

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

Exemplo:

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

Comece a enviar mensagens entre uma empresa e um usuário do WhatsApp

As conversas entre uma conta do WhatsApp Business e um usuário do WhatsApp podem ser iniciadas de duas maneiras:

  • A empresa envia uma mensagem modelo para o usuário do WhatsApp.
  • O usuário do WhatsApp envia qualquer mensagem para o número comercial.

Independentemente de como a conversa foi iniciada, uma empresa só pode enviar mensagens de modelo até que o usuário envie uma mensagem para a empresa. Somente depois que o usuário envia uma mensagem para a empresa, a empresa tem permissão para enviar mensagens de texto ou mídia para o usuário durante a conversa ativa. Quando a janela de conversa de 24 horas expirar, a conversa deve ser reiniciada. Para saber mais sobre conversas, consulte a definição em Plataforma WhatsApp Business.

(Opção 1) Iniciar uma conversa a partir da empresa - Enviar uma mensagem de modelo

Inicie uma conversa enviando uma mensagem modelo.

Primeiro, crie um MessageTemplate usando os valores de um modelo.

Nota

Para verificar quais modelos você tem disponíveis, consulte as instruções em Modelos de lista. Se não tiver um modelo para utilizar, avance para a Opção 2.

Aqui está a criação de MessageTemplate usando um modelo padrão, sample_template.
Se sample_template não estiver disponível para si, avance para a Opção 2. Para usuários avançados, consulte a página Modelos para entender como enviar um modelo diferente com a Opção 1.

O SDK de mensagens permite que a Contoso envie modelos de mensagens do WhatsApp para usuários do WhatsApp. Para enviar mensagens de modelo abaixo são necessários detalhes:

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

Para obter mais exemplos de como montar seu MessageTemplate e como criar seu próprio modelo, consulte o seguinte recurso:

Para obter mais requisitos do WhatsApp sobre modelos, consulte as referências da API da plataforma WhatsApp Business:

Monte e envie a mensagem do modelo:

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

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

Agora, o usuário precisa responder à mensagem de modelo. Na conta de usuário do WhatsApp, responda à mensagem modelo recebida da conta do WhatsApp Business. O conteúdo da mensagem é irrelevante para este cenário.

Importante

O destinatário deve responder à mensagem modelo para iniciar a conversa antes que a mensagem de texto ou de mídia possa ser entregue ao destinatário.

(Opção 2) Iniciar conversa do usuário

A outra opção para iniciar uma conversa entre uma conta do WhatsApp Business e um usuário do WhatsApp é fazer com que o usuário inicie a conversa. Para isso, a partir da sua conta pessoal do WhatsApp, envie uma mensagem para o número da sua empresa (ID do remetente).

Uma conversa do WhatsApp visualizada na web mostrando uma mensagem de usuário enviada para o número da conta do WhatsApp Business.

Enviar uma mensagem de texto para um usuário do WhatsApp

O SDK de mensagens permite que a Contoso envie mensagens de texto do WhatsApp, o que iniciou os usuários do WhatsApp. Para enviar mensagens de texto abaixo são necessários detalhes:

Importante

Para enviar uma mensagem de texto para um usuário do WhatsApp, o usuário do WhatsApp deve primeiro enviar uma mensagem para a conta do WhatsApp Business. Para obter mais informações, consulte Começar a enviar mensagens entre a empresa e o usuário do WhatsApp.

Neste exemplo, respondemos ao usuário do WhatsApp com o texto "Obrigado pelo seu feedback.\n Do SDK de mensagens de notificação".

Monte e envie a mensagem de texto:

// 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);

Enviar uma mensagem de mídia para um usuário do WhatsApp

O SDK de mensagens permite que a Contoso envie mensagens de imagem do WhatsApp para usuários do WhatsApp. Para enviar mensagens incorporadas de imagem abaixo são necessários detalhes:

Importante

Para enviar uma mensagem de texto para um usuário do WhatsApp, o usuário do WhatsApp deve primeiro enviar uma mensagem para a conta do WhatsApp Business. Para obter mais informações, consulte Começar a enviar mensagens entre a empresa e o usuário do WhatsApp.

Como exemplo, crie um URI:

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

Monte e envie a mensagem de mídia:

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

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

Executar o código

Crie e execute o seu programa.

Para enviar uma mensagem de texto ou mídia para um usuário do WhatsApp, deve haver uma conversa ativa entre a conta do WhatsApp Business e o usuário do WhatsApp.
Se você não tiver uma conversa ativa, para fins deste início rápido, você deve adicionar uma espera entre o envio da mensagem de modelo e o envio da mensagem de texto. Esse atraso adicional dá tempo suficiente para responder à empresa na conta do WhatsApp do usuário. Para referência, o exemplo completo em Código de exemplo solicita a entrada manual do usuário antes de enviar a próxima mensagem.

Se for bem-sucedido, você receberá três mensagens na conta do WhatsApp do usuário.

  1. Para compilar o código, pressione Ctrl+F7.
  2. Para executar o programa sem depuração, pressione Ctrl+F5.

Código de exemplo 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");
        }
    }
}

Pré-requisitos

Configuração

Para configurar um ambiente para enviar mensagens, siga as etapas nas seções a seguir.

Criar uma nova aplicação Java

Abra seu terminal ou janela de comando e navegue até o diretório onde você gostaria de criar sua aplicação Java. Execute o seguinte comando para gerar o projeto Java a partir do modelo maven-archetype-quickstart.

mvn archetype:generate -DgroupId="com.communication.quickstart" -DartifactId="communication-quickstart" -DarchetypeArtifactId="maven-archetype-quickstart" -DarchetypeVersion="1.4" -DinteractiveMode="false"

A generate meta cria um diretório com o mesmo nome do artifactId valor. Neste diretório, o diretório src/main/java contém o código-fonte do projeto, o diretório src/test/java contém a fonte de teste e o arquivo pom.xml é o Project Object Model (POM) do projeto.

Instalar o pacote

Abra o arquivo pom.xml no editor de texto. Adicione o seguinte elemento de dependência ao grupo de dependências.

<dependency>
    <groupId>com.azure</groupId>
    <artifactId>azure-communication-messages</artifactId>
    <version>1.0.0</version>
</dependency>

Configurar a estrutura do aplicativo

Abra /src/main/java/com/communication/quickstart/App.java em um editor de texto, adicione diretivas de importação e remova a System.out.println("Hello world!"); instrução:

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.
    }
}

Modelo de objeto

As classes e interfaces a seguir lidam com alguns dos principais recursos do SDK de Mensagens Avançadas dos Serviços de Comunicação do Azure para Java.

Nome Descrição
NotificationMessagesClientBuilder Esta classe cria o cliente de mensagens de notificação. Você fornece a ele um ponto de extremidade e uma credencial.
NotificationMessagesClient Esta classe é necessária para enviar mensagens do WhatsApp e baixar arquivos de mídia.
NotificationMessagesAsyncClient Esta classe é necessária para enviar mensagens do WhatsApp e baixar arquivos de mídia de forma assíncrona.
SendMessageResult Esta classe contém o resultado do serviço de mensagens avançadas para enviar mensagem de notificação.
MessageTemplateClientBuilder Esta classe cria o Message Template Client. Você fornece a ele um ponto de extremidade e uma credencial.
MessageTemplateClient Esta classe é necessária para obter a lista de modelos do WhatsApp.
MessageTemplateAsyncClient Esta classe é necessária para obter a lista de modelos do WhatsApp de forma assíncrona.

Exemplos de código

Siga estas etapas para adicionar os trechos de código necessários à função principal do seu arquivo App.java .

Autenticar o cliente

Existem algumas opções diferentes disponíveis para autenticar um cliente de mensagem:

Para autenticar um cliente, instancie um NotificationMessagesClient ou MessageTemplateClient com sua cadeia de conexão. Você também pode inicializar o cliente com qualquer cliente HTTP personalizado que implemente a com.azure.core.http.HttpClient interface.

Para simplificar, este guia de início rápido usa uma cadeia de conexão para autenticar. Em ambientes de produção, recomendamos o uso de entidades de serviço.

Obtenha a cadeia de conexão do seu recurso dos Serviços de Comunicação do Azure no portal do Azure. À esquerda, navegue até a Keys guia. Copie o Connection string campo para o Primary key. A cadeia de conexão está no formato endpoint=https://{your Azure Communication Services resource name}.communication.azure.com/;accesskey={secret key}.

Captura de ecrã que mostra um recurso dos Serviços de Comunicação do Azure no portal do Azure, visualizando o campo 'Cadeia de ligação' na secção 'Chave primária'.

Defina a variável COMMUNICATION_SERVICES_CONNECTION_STRING de ambiente para o valor da sua cadeia de conexão.
Abra uma janela do console e digite o seguinte comando:

setx COMMUNICATION_SERVICES_CONNECTION_STRING "<your connection string>"

Para obter mais informações sobre como definir uma variável de ambiente para seu sistema, siga as etapas em Armazenar sua cadeia de conexão em uma variável de ambiente.

Para instanciar um NotificationMessagesClient, adicione o seguinte código ao main método:

// 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();

Definir ID de registro do canal

O GUID do ID de registro do canal foi criado durante o registro do canal. Você pode procurá-lo no portal na guia Canais do seu recurso dos Serviços de Comunicação do Azure.

Captura de ecrã que mostra um recurso dos Serviços de Comunicação do Azure no portal do Azure, visualizando o separador 'Canais'. A atenção é colocada na ação de cópia do campo 'ID do canal'.

Atribua-o a uma variável chamada channelRegistrationId.

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

Definir lista de destinatários

Você precisa fornecer um número de telefone real que tenha uma conta do WhatsApp associada a ele. Esta conta do WhatsApp recebe as mensagens de texto e mídia enviadas neste início rápido. Para este início rápido, este número de telefone pode ser o seu número de telefone pessoal.

O número de telefone do destinatário não pode ser o número de telefone comercial (ID do remetente) associado ao registro do canal do WhatsApp. O ID do Remetente aparece como o remetente das mensagens de texto e mídia enviadas ao destinatário.

O número de telefone deve incluir o código do país. Para obter mais informações sobre a formatação do número de telefone, consulte a documentação do WhatsApp para formatos de número de telefone.

Nota

Atualmente, apenas um número de telefone é suportado na lista de destinatários.

Crie a lista de destinatários da seguinte forma:

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

Exemplo:

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

Comece a enviar mensagens entre uma empresa e um usuário do WhatsApp

As conversas entre uma conta do WhatsApp Business e um usuário do WhatsApp podem ser iniciadas de duas maneiras:

  • A empresa envia uma mensagem modelo para o usuário do WhatsApp.
  • O usuário do WhatsApp envia qualquer mensagem para o número comercial.

Independentemente de como a conversa foi iniciada, uma empresa só pode enviar mensagens de modelo até que o usuário envie uma mensagem para a empresa. Somente depois que o usuário envia uma mensagem para a empresa, a empresa tem permissão para enviar mensagens de texto ou mídia para o usuário durante a conversa ativa. Quando a janela de conversa de 24 horas expirar, a conversa deve ser reiniciada. Para saber mais sobre conversas, consulte a definição em Plataforma WhatsApp Business.

(Opção 1) Iniciar uma conversa a partir da empresa - Enviar uma mensagem de modelo

Inicie uma conversa enviando uma mensagem modelo.

Primeiro, crie um MessageTemplate usando os valores de um modelo.

Nota

Para verificar quais modelos você tem disponíveis, consulte as instruções em Modelos de lista. Se não tiver um modelo para utilizar, avance para a Opção 2.

Aqui está a criação de MessageTemplate usando um modelo padrão, sample_template.
Se sample_template não estiver disponível para si, avance para a Opção 2. Para usuários avançados, consulte a página Modelos para entender como enviar um modelo diferente com a Opção 1.

O SDK de mensagens permite que a Contoso envie modelos de mensagens do WhatsApp para usuários do WhatsApp. Para enviar mensagens de modelo abaixo são necessários detalhes:

// 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());
}

Agora, o usuário precisa responder à mensagem de modelo. Na conta de usuário do WhatsApp, responda à mensagem modelo recebida da conta do WhatsApp Business. O conteúdo da mensagem é irrelevante para este cenário.

Importante

O destinatário deve responder à mensagem modelo para iniciar a conversa antes que a mensagem de texto ou de mídia possa ser entregue ao destinatário.

(Opção 2) Iniciar conversa do usuário

A outra opção para iniciar uma conversa entre uma conta do WhatsApp Business e um usuário do WhatsApp é fazer com que o usuário inicie a conversa. Para isso, a partir da sua conta pessoal do WhatsApp, envie uma mensagem para o número da sua empresa (ID do remetente).

Uma conversa do WhatsApp visualizada na web mostrando uma mensagem de usuário enviada para o número da conta do WhatsApp Business.

Enviar uma mensagem de texto para um usuário do WhatsApp

O SDK de mensagens permite que a Contoso envie mensagens de texto do WhatsApp, o que iniciou os usuários do WhatsApp. Para enviar mensagens de texto abaixo são necessários detalhes:

Importante

Para enviar uma mensagem de texto para um usuário do WhatsApp, o usuário do WhatsApp deve primeiro enviar uma mensagem para a conta do WhatsApp Business. Para obter mais informações, consulte Começar a enviar mensagens entre a empresa e o usuário do WhatsApp.

Neste exemplo, respondemos ao usuário do WhatsApp com o texto "Obrigado pelo seu feedback.\n Do SDK de mensagens de notificação".

Monte e envie a mensagem de texto:

// 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());
}

Enviar uma mensagem de mídia para um usuário do WhatsApp

O SDK de mensagens permite que a Contoso envie mensagens de imagem do WhatsApp para usuários do WhatsApp. Para enviar mensagens incorporadas de imagem abaixo são necessários detalhes:

Importante

Para enviar uma mensagem de texto para um usuário do WhatsApp, o usuário do WhatsApp deve primeiro enviar uma mensagem para a conta do WhatsApp Business. Para obter mais informações, consulte Começar a enviar mensagens entre a empresa e o usuário do WhatsApp.

Como exemplo, crie um URI:

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

Monte e envie a mensagem de mídia:

// 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());
}

Executar o código

  1. Navegue até o diretório que contém o arquivo pom.xml e compile o projeto usando o mvn comando.

    mvn compile
    
  2. Execute o aplicativo executando o seguinte mvn comando.

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

Código de exemplo completo

Encontre o código finalizado para este início rápido no GitHub.

Pré-requisitos

Configuração

Para configurar um ambiente para enviar mensagens, siga as etapas nas seções a seguir.

Criar uma nova aplicação Node.js

  1. Crie um novo diretório para seu aplicativo e navegue até ele abrindo o terminal ou a janela de comando e, em seguida, execute o seguinte comando.

    mkdir advance-messages-quickstart && cd advance-messages-quickstart
    
  2. Execute o seguinte comando para criar um arquivo package.json com as configurações padrão.

    npm init -y
    
  3. Use um editor de texto para criar um arquivo chamado send-messages.js no diretório raiz do projeto.

  4. Adicione o seguinte trecho de código ao arquivo 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);
    });
    

Nas seções a seguir, você adicionou todo o código-fonte desse início rápido ao arquivo de send-messages.js que você criou.

Instalar o pacote

Use o npm install comando para instalar o SDK de Mensagens Avançadas dos Serviços de Comunicação do Azure para JavaScript.

npm install @azure-rest/communication-messages --save

A --save opção lista a biblioteca como uma dependência em seu arquivo package.json .

Modelo de objeto

As classes e interfaces a seguir lidam com alguns dos principais recursos do SDK de Mensagens Avançadas dos Serviços de Comunicação do Azure para JavaScript.

Nome Descrição
MessageClient Essa classe se conecta ao seu recurso dos Serviços de Comunicação do Azure. Ele envia as mensagens.
MessageTemplate Essa classe define qual modelo você usa e o conteúdo das propriedades do modelo para sua mensagem.

Exemplos de código

Siga estas etapas para adicionar os trechos de código necessários à função principal do seu arquivo send-messages.js .

Autenticar o cliente

O código a seguir recupera a cadeia de conexão para o recurso de uma variável de ambiente nomeada COMMUNICATION_SERVICES_CONNECTION_STRING usando o pacote dotenv.

Para simplificar, este guia de início rápido usa uma cadeia de conexão para autenticar. Em ambientes de produção, recomendamos o uso de entidades de serviço.

Obtenha a cadeia de conexão do seu recurso dos Serviços de Comunicação do Azure no portal do Azure. À esquerda, navegue até a Keys guia. Copie o Connection string campo para o Primary key. A cadeia de conexão está no formato endpoint=https://{your Azure Communication Services resource name}.communication.azure.com/;accesskey={secret key}.

Captura de ecrã que mostra um recurso dos Serviços de Comunicação do Azure no portal do Azure, visualizando o campo 'Cadeia de ligação' na secção 'Chave primária'.

Defina a variável COMMUNICATION_SERVICES_CONNECTION_STRING de ambiente para o valor da sua cadeia de conexão.
Abra uma janela do console e digite o seguinte comando:

setx COMMUNICATION_SERVICES_CONNECTION_STRING "<your connection string>"

Para obter mais informações sobre como definir uma variável de ambiente para seu sistema, siga as etapas em Armazenar sua cadeia de conexão em uma variável de ambiente.

Para instanciar um MessageClient, adicione o seguinte código ao Main método:

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);

Definir ID de registro do canal

O GUID do ID de registro do canal foi criado durante o registro do canal. Você pode procurá-lo no portal na guia Canais do seu recurso dos Serviços de Comunicação do Azure.

Captura de ecrã que mostra um recurso dos Serviços de Comunicação do Azure no portal do Azure, visualizando o separador 'Canais'. A atenção é colocada na ação de cópia do campo 'ID do canal'.

Atribua-o a uma variável chamada channelRegistrationId.

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

Definir lista de destinatários

Você precisa fornecer um número de telefone real que tenha uma conta do WhatsApp associada a ele. Esta conta do WhatsApp recebe o modelo, o texto e as mensagens de mídia enviadas neste início rápido. Para este início rápido, este número de telefone pode ser o seu número de telefone pessoal.

O número de telefone do destinatário não pode ser o número de telefone comercial (ID do remetente) associado ao registro do canal do WhatsApp. O ID do Remetente aparece como o remetente das mensagens de texto e mídia enviadas ao destinatário.

O número de telefone deve incluir o código do país. Para obter mais informações sobre a formatação do número de telefone, consulte a documentação do WhatsApp para formatos de número de telefone.

Nota

Atualmente, apenas um número de telefone é suportado na lista de destinatários.

Crie a lista de destinatários da seguinte forma:

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

Exemplo:

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

Comece a enviar mensagens entre uma empresa e um usuário do WhatsApp

As conversas entre uma conta do WhatsApp Business e um usuário do WhatsApp podem ser iniciadas de duas maneiras:

  • A empresa envia uma mensagem modelo para o usuário do WhatsApp.
  • O usuário do WhatsApp envia qualquer mensagem para o número comercial.

Independentemente de como a conversa foi iniciada, uma empresa só pode enviar mensagens de modelo até que o usuário envie uma mensagem para a empresa. Somente depois que o usuário envia uma mensagem para a empresa, a empresa tem permissão para enviar mensagens de texto ou mídia para o usuário durante a conversa ativa. Quando a janela de conversa de 24 horas expirar, a conversa deve ser reiniciada. Para saber mais sobre conversas, consulte a definição em Plataforma WhatsApp Business.

(Opção 1) Iniciar uma conversa a partir da empresa - Enviar uma mensagem de modelo

Inicie uma conversa enviando uma mensagem modelo.

Primeiro, crie um MessageTemplate usando os valores de um modelo.

Nota

Para verificar quais modelos você tem disponíveis, consulte as instruções em Modelos de lista. Se não tiver um modelo para utilizar, avance para a Opção 2.

Aqui está a criação de MessageTemplate usando um modelo padrão, sample_template.
Se sample_template não estiver disponível para si, avance para a Opção 2. Para usuários avançados, consulte a página Modelos para entender como enviar um modelo diferente com a Opção 1.

O SDK de mensagens permite que a Contoso envie modelos de mensagens do WhatsApp para usuários do WhatsApp. Para enviar mensagens de modelo abaixo são necessários detalhes:

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

Para obter mais exemplos de como montar seu MessageTemplate e como criar seu próprio modelo, consulte o seguinte recurso:

Para obter mais requisitos do WhatsApp sobre modelos, consulte as referências da API da plataforma WhatsApp Business:

// 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");
}

Agora, o usuário precisa responder à mensagem de modelo. Na conta de usuário do WhatsApp, responda à mensagem modelo recebida da conta do WhatsApp Business. O conteúdo da mensagem é irrelevante para este cenário.

Importante

O destinatário deve responder à mensagem modelo para iniciar a conversa antes que a mensagem de texto ou de mídia possa ser entregue ao destinatário.

(Opção 2) Iniciar conversa do usuário

A outra opção para iniciar uma conversa entre uma conta do WhatsApp Business e um usuário do WhatsApp é fazer com que o usuário inicie a conversa. Para isso, a partir da sua conta pessoal do WhatsApp, envie uma mensagem para o número da sua empresa (ID do remetente).

Uma conversa do WhatsApp visualizada na web mostrando uma mensagem de usuário enviada para o número da conta do WhatsApp Business.

Enviar uma mensagem de texto para um usuário do WhatsApp

O SDK de mensagens permite que a Contoso envie mensagens de texto do WhatsApp, o que iniciou os usuários do WhatsApp. Para enviar mensagens de texto abaixo são necessários detalhes:

Importante

Para enviar uma mensagem de texto para um usuário do WhatsApp, o usuário do WhatsApp deve primeiro enviar uma mensagem para a conta do WhatsApp Business. Para obter mais informações, consulte Começar a enviar mensagens entre a empresa e o usuário do WhatsApp.

Neste exemplo, respondemos ao usuário do WhatsApp com o texto "Obrigado pelo seu feedback.\n Do SDK de mensagens de notificação".

Monte e envie a mensagem de mídia:

// 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");
}

Enviar uma mensagem de mídia para um usuário do WhatsApp

O SDK de mensagens permite que a Contoso envie mensagens de imagem do WhatsApp para usuários do WhatsApp. Para enviar mensagens incorporadas de imagem abaixo são necessários detalhes:

Importante

Para enviar uma mensagem de texto para um usuário do WhatsApp, o usuário do WhatsApp deve primeiro enviar uma mensagem para a conta do WhatsApp Business. Para obter mais informações, consulte Começar a enviar mensagens entre a empresa e o usuário do WhatsApp.

Para enviar uma mensagem de mídia, forneça um URL para uma imagem. Por exemplo,

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

Monte e envie a mensagem de mídia:

// 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");
}

Executar o código

Use o comando node para executar o código adicionado ao arquivo send-messages.js.

node ./send-messages.js

Código de exemplo completo

Pode transferir a aplicação de exemplo do GitHub.

Pré-requisitos

Configuração

Criar uma aplicação Python nova

Em uma janela de terminal ou console, crie uma nova pasta para seu aplicativo e navegue até ela.

mkdir messages-quickstart && cd messages-quickstart

Instalar o pacote

Você precisa usar a biblioteca de cliente do Azure Communication Messages para Python versão 1.0.0 ou superior.

Em um prompt do console, execute o seguinte comando:

pip install azure-communication-messages

Configurar a estrutura do aplicativo

Crie um novo arquivo chamado messages-quickstart.py e adicione a estrutura básica do programa.

type nul > messages-quickstart.py   

Estrutura básica do programa

import os

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

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

Modelo de objeto

As classes e interfaces a seguir lidam com alguns dos principais recursos do SDK de Mensagens dos Serviços de Comunicação do Azure para Python.

Nome Descrição
NotificationMessagesClient Essa classe se conecta ao seu recurso dos Serviços de Comunicação do Azure. Ele envia as mensagens.
MessageTemplate Essa classe define qual modelo você usa e o conteúdo das propriedades do modelo para sua mensagem.
TemplateNotificationContent Esta classe define o "quem" e o "o quê" da mensagem de modelo que você pretende enviar.
TextNotificationContent Essa classe define "quem" e "o quê" da mensagem de texto que você pretende enviar.
ImageNotificationContent Esta classe define "quem" e "o quê" da mensagem de mídia de imagem que você pretende enviar.

Exemplos de código

Siga estas etapas para adicionar os trechos de código necessários ao programa messages-quickstart.py python.

Autenticar o cliente

O envio de mensagens é feito usando NotificationMessagesClient. NotificationMessagesClient é autenticado usando sua cadeia de conexão adquirida do recurso Serviços de Comunicação do Azure no portal do Azure. Para obter mais informações sobre cadeias de conexão, consulte access-your-connection-strings-and-service-endpoints.

Obtenha a cadeia de conexão do Recurso de Comunicação do Azure no portal do Azure, conforme indicado na captura de tela. À esquerda, navegue até a Keys guia. Copie o Connection string campo da chave primária. A cadeia de conexão está no formato endpoint=https://{your Azure Communication Services resource name}.communication.azure.com/;accesskey={secret key}.

Captura de ecrã que mostra um recurso dos Serviços de Comunicação do Azure no portal do Azure, visualizando o campo 'Chave Primária' na secção 'Chaves'.

Defina a variável COMMUNICATION_SERVICES_CONNECTION_STRING de ambiente para o valor da sua cadeia de conexão.
Abra uma janela do console e digite o seguinte comando:

setx COMMUNICATION_SERVICES_CONNECTION_STRING "<your connection string>"

Depois de adicionar a variável de ambiente, talvez seja necessário reiniciar todos os programas em execução que precisarão ler a variável de ambiente, incluindo a janela do console. Por exemplo, se você estiver usando o Visual Studio como editor, reinicie o Visual Studio antes de executar o exemplo.

Para obter mais informações sobre como definir uma variável de ambiente para seu sistema, siga as etapas em Armazenar sua cadeia de conexão em uma variável de 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)

Definir ID de registro do canal

O GUID do ID de registro do canal foi criado durante o registro do canal. Você pode procurá-lo no portal na guia Canais do seu recurso dos Serviços de Comunicação do Azure.

Captura de ecrã que mostra um recurso dos Serviços de Comunicação do Azure no portal do Azure, visualizando o separador 'Canais'. A atenção é colocada na ação de cópia do campo 'ID do canal'.

Atribua-o a uma variável chamada channelRegistrationId.

    channelRegistrationId = os.getenv("WHATSAPP_CHANNEL_ID_GUID")

Definir lista de destinatários

Você precisa fornecer um número de telefone real que tenha uma conta do WhatsApp associada a ele. Esta conta do WhatsApp recebe o modelo, o texto e as mensagens de mídia enviadas neste início rápido. Para este início rápido, este número de telefone pode ser o seu número de telefone pessoal.

O número de telefone do destinatário não pode ser o número de telefone comercial (ID do remetente) associado ao registro do canal do WhatsApp. O ID do Remetente aparece como o remetente das mensagens de texto e mídia enviadas ao destinatário.

O número de telefone deve incluir o código do país. Para obter mais informações sobre a formatação do número de telefone, consulte a documentação do WhatsApp para formatos de número de telefone.

Nota

Atualmente, apenas um número de telefone é suportado na lista de destinatários.

Defina a lista de destinatários da seguinte forma:

    phone_number = os.getenv("RECIPIENT_WHATSAPP_PHONE_NUMBER")

Exemplo de uso:

    # Example only
    to=[self.phone_number],

Comece a enviar mensagens entre uma empresa e um usuário do WhatsApp

As conversas entre uma conta do WhatsApp Business e um usuário do WhatsApp podem ser iniciadas de duas maneiras:

  • A empresa envia uma mensagem modelo para o usuário do WhatsApp.
  • O usuário do WhatsApp envia qualquer mensagem para o número comercial.

Independentemente de como a conversa foi iniciada, uma empresa só pode enviar mensagens de modelo até que o usuário envie uma mensagem para a empresa. Somente depois que o usuário envia uma mensagem para a empresa, a empresa tem permissão para enviar mensagens de texto ou mídia para o usuário durante a conversa ativa. Quando a janela de conversa de 24 horas expirar, a conversa deve ser reiniciada. Para saber mais sobre conversas, consulte a definição em Plataforma WhatsApp Business.

(Opção 1) Iniciar uma conversa a partir da empresa - Enviar uma mensagem de modelo

Inicie uma conversa enviando uma mensagem modelo.

Primeiro, crie um MessageTemplate usando os valores de um modelo.

Nota

Para verificar quais modelos você tem disponíveis, consulte as instruções em Modelos de lista. Se não tiver um modelo para utilizar, avance para a Opção 2.

Aqui está a criação de MessageTemplate usando um modelo padrão, sample_template.
Se sample_template não estiver disponível para si, avance para a Opção 2. Para usuários avançados, consulte a página Modelos para entender como enviar um modelo diferente com a Opção 1.

O SDK de mensagens permite que a Contoso envie modelos de mensagens do WhatsApp para usuários do WhatsApp. Para enviar mensagens de modelo abaixo são necessários detalhes:

Para obter mais exemplos de como montar seu MessageTemplate e como criar seu próprio modelo, consulte o seguinte recurso:

Para obter mais requisitos do WhatsApp sobre modelos, consulte as referências da API da plataforma WhatsApp Business:

Para enviar uma mensagem modelo do WhatsApp, adicione o código abaixo na função 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")

Adicione send_template_message() chamada ao método principal.

    # Calling send_template_message()
    messages.send_template_message()

Agora, o usuário precisa responder à mensagem de modelo. Na conta de usuário do WhatsApp, responda à mensagem modelo recebida da conta do WhatsApp Business. O conteúdo da mensagem é irrelevante para este cenário.

Importante

O destinatário deve responder à mensagem modelo para iniciar a conversa antes que a mensagem de texto ou de mídia possa ser entregue ao destinatário.

(Opção 2) Iniciar conversa do usuário

A outra opção para iniciar uma conversa entre uma conta do WhatsApp Business e um usuário do WhatsApp é fazer com que o usuário inicie a conversa. Para isso, a partir da sua conta pessoal do WhatsApp, envie uma mensagem para o número da sua empresa (ID do remetente).

Uma conversa do WhatsApp visualizada na web mostrando uma mensagem de usuário enviada para o número da conta do WhatsApp Business.

Enviar uma mensagem de texto para um usuário do WhatsApp

O SDK de mensagens permite que a Contoso envie mensagens de texto do WhatsApp, o que iniciou os usuários do WhatsApp. Para enviar mensagens de texto abaixo são necessários detalhes:

Importante

Para enviar uma mensagem de texto para um usuário do WhatsApp, o usuário do WhatsApp deve primeiro enviar uma mensagem para a conta do WhatsApp Business. Para obter mais informações, consulte Começar a enviar mensagens entre a empresa e o usuário do WhatsApp.

Neste exemplo, respondemos ao usuário do WhatsApp com o texto "Obrigado pelo seu feedback.\n Do SDK de mensagens de notificação".

    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")

Atualize o método principal para executar send_text_message()

    #Calling send_text_message()
    messages.send_text_message()

Enviar uma mensagem de mídia para um usuário do WhatsApp

O SDK de mensagens permite que a Contoso envie mensagens de imagem do WhatsApp para usuários do WhatsApp. Para enviar mensagens incorporadas de imagem abaixo são necessários detalhes:

Importante

Para enviar uma mensagem de texto para um usuário do WhatsApp, o usuário do WhatsApp deve primeiro enviar uma mensagem para a conta do WhatsApp Business. Para obter mais informações, consulte Começar a enviar mensagens entre a empresa e o usuário do WhatsApp.

Um exemplo de media_uri usado no envio de mensagens de mídia do WhatsApp.

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")

Atualize o método principal para executar send_image_message()

    # Calling send_image_message()
    messages.send_image_message()

Executar o código

Para executar o código, certifique-se de que está no diretório onde messages-quickstart.py se encontra o ficheiro.

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>>

Código de exemplo 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()

Outros Exemplos

Você pode revisar e baixar outros códigos de exemplo para o Python Messages SDK no GitHub.

Próximos passos

Neste guia de início rápido, você experimentou o Advanced Messaging for WhatsApp SDK. Em seguida, você também pode querer ver os seguintes artigos: