Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Os Serviços de Comunicação do Azure permitem enviar e receber mensagens do WhatsApp. Este artigo descreve como integrar seu aplicativo ao SDK de Mensagens Avançadas de Comunicação do Azure para começar a enviar e receber mensagens de reação do WhatsApp. A conclusão deste artigo implica um pequeno custo de alguns cêntimos de USD ou menos na sua conta do Azure.
Pré-requisitos
- Conta do WhatsApp Business registrada com seu recurso dos Serviços de Comunicação do Azure.
- Número de telefone ativo do WhatsApp para receber mensagens.
- Ambiente de desenvolvimento .NET, como Visual Studio, Visual Studio Code ou .NET CLI.
Configurar ambiente
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#.
- Abra o Gerenciador de Pacotes NuGet em
Project
>Manage NuGet Packages...
. - Procure o pacote
Azure.Communication.Messages
. - Instale a versão mais recente.
Configurar a estrutura do aplicativo
Abra o Program.cs
ficheiro num editor de texto.
Substitua os conteúdos de 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 - Advanced Messages quickstart samples.");
// Quickstart code goes here
}
}
}
Para usar os recursos de Mensagens Avançadas, adicione 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 da classe | Descrição |
---|---|
NotificationMessagesClient |
Conecta-se ao seu recurso dos Serviços de Comunicação do Azure. Ele envia as mensagens. |
ReactionNotificationContent |
Define o conteúdo da mensagem de reação. |
Nota
Para obter mais informações, consulte a referência do SDK do Azure para .NET Azure.Communication.Messages Namespace.
Configuração comum
Para configurar seu aplicativo, conclua as seguintes etapas:
- Autentique o cliente.
- Defina o ID de registro do canal.
- Definir lista de destinatários.
- Comece a enviar mensagens entre uma empresa e um usuário do WhatsApp.
Autenticar o cliente
O SDK de mensagens usa o NotificationMessagesClient
para enviar mensagens. O NotificationMessagesClient
método autentica 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.
Para simplificar, este artigo 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}
.
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
Você criou o GUID do ID de registro do canal durante o registro do canal. Encontre-o no portal na guia Canais do seu recurso dos Serviços de Comunicação do Azure.
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 ativo associado a uma conta do WhatsApp. Esta conta do WhatsApp recebe o modelo, o texto e as mensagens de mídia enviadas neste início rápido.
Para este exemplo, você pode usar 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.
Uma empresa não pode iniciar uma conversa interativa. Uma empresa só pode enviar uma mensagem interativa depois de receber uma mensagem do utilizador. A empresa só pode enviar mensagens interativas para o usuário durante a conversa ativa. Quando a janela de conversa de 24 horas expirar, apenas o usuário poderá reiniciar a conversa interativa. Para obter mais informações sobre conversas, consulte a definição em WhatsApp Business Platform.
Para iniciar uma conversa interativa a partir da sua conta pessoal do WhatsApp, envie uma mensagem para o número da sua empresa (ID do remetente).
Exemplos de código
Siga estas etapas para adicionar os trechos de código necessários ao método Main em seu Program.cs
arquivo.
Enviar uma mensagem de reação para um usuário do WhatsApp
O SDK dos Serviços de Comunicação do Azure permite que a Contoso envie mensagens de reação aos usuários do WhatsApp quando iniciada pelos usuários. Para enviar uma mensagem de reação, você precisa:
- NotificationMessagesClient autenticado.
- ID do canal do WhatsApp.
- Número de telefone do destinatário no formato E.164.
- Emoji representando a reação.
- ID da mensagem original à qual a mensagem que está a ser reagida.
Tipo de Ação | Descrição |
---|---|
ReactionNotificationContent |
Classe que define o conteúdo da mensagem de reação. |
Emoji |
Especifica a reação de emoji, como 😄. |
MessageId |
ID da mensagem a que está a ser respondida. |
Neste exemplo, a empresa envia uma mensagem de reação para o usuário do WhatsApp:
Monte o conteúdo da reação:
var reactionNotificationContent = new ReactionNotificationContent(channelRegistrationId, recipientList, "\uD83D\uDE00", "<ReplyMessageIdGuid>");
Envie a mensagem de reação:
var reactionResponse = await notificationMessagesClient.SendAsync(reactionNotificationContent);
Executar o código
- Para compilar o código, pressione Ctrl+F7.
- Para executar o programa sem depuração, pressione Ctrl+F5.
Código de exemplo completo
Nota
Substitua todas as variáveis de espaço reservado no código por seus valores.
using Azure;
using Azure.Communication.Messages;
namespace AdvancedMessagingQuickstart
{
class Program
{
public static async Task Main(string[] args)
{
Console.WriteLine("Azure Communication Services - Send WhatsApp Reaction 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 a reaction message
var emojiReaction = "\uD83D\uDE00"; // 😄 emoji
var replyMessageId = "<ReplyMessageIdGuid>"; // Message ID of the original message
var reactionNotificationContent = new ReactionNotificationContent(channelRegistrationId, recipientList, emojiReaction, replyMessageId);
var reactionResponse = await notificationMessagesClient.SendAsync(reactionNotificationContent);
Console.WriteLine("Reaction message sent.\nPress any key to exit.\n");
Console.ReadKey();
}
}
}
Pré-requisitos
- Conta do WhatsApp Business registrada com seu recurso dos Serviços de Comunicação do Azure.
- Número de telefone ativo do WhatsApp para receber mensagens.
- Java Development Kit (JDK) versão 8 ou posterior.
- Apache Maven.
Configurar ambiente
Para configurar um ambiente para enviar mensagens, conclua as etapas nas seções a seguir.
Criar uma nova aplicação Java
Abra um terminal ou janela de comando e navegue até o diretório onde você deseja criar seu aplicativo Java. Execute o seguinte comando para gerar o projeto Java a partir do maven-archetype-quickstart
modelo.
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 src/main/java
diretório contém o código-fonte do projeto, o src/test/java
diretório contém a fonte de teste e o pom.xml
arquivo é o Project Object Model (POM) do projeto.
Instalar o pacote
Abra o arquivo no editor de pom.xml
texto. Adicione o seguinte elemento de dependência ao grupo de dependências.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-messages</artifactId>
</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 dos Serviços de Comunicação do Azure para Java.
Nome da classe | Descrição |
---|---|
NotificationMessagesClient |
Conecta-se ao seu recurso dos Serviços de Comunicação do Azure. Ele envia as mensagens. |
ReactionNotificationContent |
Define o conteúdo de reação das mensagens com emoji e ID de mensagem de resposta. |
Nota
Para obter mais informações, consulte a referência do SDK do Azure para Java em com.azure.communication.messages Package.
Configuração comum
Siga estas etapas para adicionar trechos de código necessários à função principal do seu App.java
arquivo.
- Comece a enviar mensagens entre uma empresa e um usuário do WhatsApp.
- Autentique o cliente.
- Defina o ID de registro do canal.
- Definir lista de destinatários.
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.
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 artigo 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}
.
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.
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 artigo. Para este artigo, 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");
Exemplos de código
Siga estas etapas para adicionar trechos de código necessários à função principal do seu App.java
arquivo.
- Envie uma mensagem de reação para uma mensagem de usuário do WhatsApp.
Enviar uma mensagem de reação para uma mensagem de usuário do WhatsApp
O SDK de Mensagens permite que a Contoso envie mensagens de reação do WhatsApp, quando iniciadas por usuários do WhatsApp. Para enviar mensagens de texto:
- ID do canal do WhatsApp.
- Número de telefone do destinatário no formato E16.
- Sequência de escape Unicode do emoji.
- ID da mensagem à qual você deseja aplicar o emoji.
Importante
Para enviar uma reação à mensagem do usuário, 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.
Monte e envie a reação a uma mensagem:
// Assemble reaction to a message
String emoji = "\uD83D\uDE00";
ReactionNotificationContent reaction = new ReactionNotificationContent("<CHANNEL_ID>", recipients, emoji, "<REPLY_MESSAGE_ID>");
// Send reaction to a message
SendMessageResult textMessageResult = notificationClient.send(reaction);
// Process result
for (MessageReceipt messageReceipt : textMessageResult.getReceipts()) {
System.out.println("Message sent to:" + messageReceipt.getTo() + " and message id:" + messageReceipt.getMessageId());
}
Executar o código
Abra o diretório que contém o
pom.xml
arquivo e compile o projeto usando omvn
comando.mvn compile
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 exemplo no GitHub em Java Messages SDK.
Pré-requisitos
- Conta do WhatsApp Business registrada com seu recurso dos Serviços de Comunicação do Azure.
- Número de telefone ativo do WhatsApp para receber mensagens.
-
Node.js versões Ative LTS e Maintenance LTS (recomenda-se 8.11.1 e 10.14.1).
- Em um terminal ou janela de comando, execute
node --version
para verificar se Node.js está instalado.
- Em um terminal ou janela de comando, execute
Configuração
Criar uma nova aplicação Node.js
Crie um novo diretório para seu aplicativo e abra-o em um terminal ou janela de comando.
Execute o seguinte comando.
mkdir advance-messages-quickstart && cd advance-messages-quickstart
Execute o seguinte comando para criar um
package.json
arquivo com as configurações padrão.npm init -y
Use um editor de texto para criar um arquivo chamado
send-messages.js
no diretório raiz do projeto.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); });
Conclua a seção a seguir para adicionar o código-fonte deste exemplo ao send-messages.js
arquivo 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 dos Serviços de Comunicação do Azure para JavaScript.
Nome da classe | Descrição |
---|---|
NotificationMessagesClient |
Conecta-se ao seu recurso dos Serviços de Comunicação do Azure. Ele envia as mensagens. |
ReactionNotificationContent |
Define o conteúdo da mensagem de reação. |
Nota
Para obter mais informações, consulte o pacote de referência do SDK do Azure para JavaScript @Azure-rest/communication-messages
Configuração comum
Siga estas etapas para adicionar trechos de código necessários ao seu send-messages.js
arquivo.
- Comece a enviar mensagens entre uma empresa e um usuário do WhatsApp.
- Autentique o cliente.
- Defina o ID de registro do canal.
- Definir lista de destinatários.
- Comece a enviar mensagens entre uma empresa e um usuário do WhatsApp.
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.
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 artigo 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}
.
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 NotificationClient, adicione o seguinte código ao Main
método:
const NotificationClient = require("@azure-rest/communication-messages").default;
// Set Connection string
const connectionString = process.env["COMMUNICATION_SERVICES_CONNECTION_STRING"];
// Instantiate the client
const client = NotificationClient(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.
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 artigo. Para este artigo, 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"];
Exemplos de código
Siga estas etapas para adicionar trechos de código necessários ao seu send-messages.js
arquivo.
- Envie uma mensagem de reação para uma mensagem de usuário do WhatsApp.
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.
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 artigo 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}
.
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 NotificationClient, adicione o seguinte código ao Main
método:
const NotificationClient = require("@azure-rest/communication-messages").default;
// Set Connection string
const connectionString = process.env["COMMUNICATION_SERVICES_CONNECTION_STRING"];
// Instantiate the client
const client = NotificationClient(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.
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 artigo. Para este artigo, 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"];
Enviar uma mensagem de reação para uma mensagem de usuário do WhatsApp
O SDK de Mensagens permite que a Contoso envie mensagens de reação do WhatsApp, quando iniciadas por usuários do WhatsApp. Para enviar mensagens de texto:
- ID do canal do WhatsApp.
- Número de telefone do destinatário no formato E16.
- Emoji.
- ID da mensagem à qual você deseja aplicar o emoji.
Importante
Para enviar uma reação à mensagem do usuário, 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, a empresa envia uma reação à mensagem do usuário:
/**
* @summary Send a reaction message
*/
const { AzureKeyCredential } = require("@azure/core-auth");
const NotificationClient = require("@azure-rest/communication-messages").default,
{ isUnexpected } = require("@azure-rest/communication-messages");
// Load the .env file if it exists
require("dotenv").config();
async function main() {
const credential = new AzureKeyCredential(process.env.ACS_ACCESS_KEY || "");
const endpoint = process.env.ACS_URL || "";
const client = NotificationClient(endpoint, credential);
console.log("Sending message...");
const result = await client.path("/messages/notifications:send").post({
contentType: "application/json",
body: {
channelRegistrationId: process.env.CHANNEL_ID || "",
to: [process.env.RECIPIENT_PHONE_NUMBER || ""],
kind: "reaction",
emoji: "😍",
messageId: "<incoming_message_id>",
},
});
console.log("Response: " + JSON.stringify(result, null, 2));
if (isUnexpected(result)) {
throw new Error("Failed to send message");
}
const response = result;
response.body.receipts.forEach((receipt) => {
console.log("Message sent to:" + receipt.to + " with message id:" + receipt.messageId);
});
}
main().catch((error) => {
console.error("Encountered an error while sending message: ", error);
throw error;
});
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
Encontre o código finalizado para este exemplo no GitHub em JavaScript Messages SDK.
Pré-requisitos
Conta do WhatsApp Business registrada com seu recurso dos Serviços de Comunicação do Azure.
Número de telefone ativo do WhatsApp para receber mensagens.
Python 3.7+ para o seu sistema operacional.
Configurar o ambiente
Criar uma aplicação Python nova
Em uma janela de terminal ou console, crie uma nova pasta para seu aplicativo e abra-a.
mkdir messages-quickstart && cd messages-quickstart
Instalar o pacote
Use a biblioteca de cliente do Azure Communication Messages para Python 1.1.0 ou superior.
Em um prompt do console, execute o seguinte comando:
pip install azure-communication-messages
Para InteractiveMessages, Reactions e Stickers, use abaixo a versão Beta :
pip install azure-communication-messages==1.2.0b1
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 da classe | Descrição |
---|---|
NotificationMessagesClient |
Conecta-se ao seu recurso dos Serviços de Comunicação do Azure. Ele envia as mensagens. |
ReactionNotificationContent |
Define o conteúdo de reação das mensagens com emoji e ID de mensagem de resposta. |
Nota
Para obter mais informações, consulte o Pacote de mensagens de referência do SDK do Azure para Python.
Configuração comum
Siga estas etapas para adicionar trechos de código necessários ao messages-quickstart.py
programa python.
- Autentique o cliente.
- Defina o ID de registro do canal.
- Definir lista de destinatários.
Autenticar o cliente
O envio de mensagens usa NotificationMessagesClient. NotificationMessagesClient autentica-se usando a sua cadeia de ligação adquirida do recurso de 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}
.
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
Você criou o GUID do ID de registro do canal durante o registro do canal. Encontre-o no portal na guia Canais do seu recurso dos Serviços de Comunicação do Azure.
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 ativo associado a uma conta do WhatsApp. Esta conta do WhatsApp recebe o modelo, o texto e as mensagens de mídia enviadas neste artigo.
Para este exemplo, você pode usar 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.
Uma empresa não pode iniciar uma conversa interativa. Uma empresa só pode enviar uma mensagem interativa depois de receber uma mensagem do utilizador. A empresa só pode enviar mensagens interativas para o usuário durante a conversa ativa. Quando a janela de conversa de 24 horas expirar, apenas o usuário poderá reiniciar a conversa interativa. Para obter mais informações sobre conversas, consulte a definição em WhatsApp Business Platform.
Para iniciar uma conversa interativa a partir da sua conta pessoal do WhatsApp, envie uma mensagem para o número da sua empresa (ID do remetente).
Exemplos de código
Siga estas etapas para adicionar trechos de código necessários ao messages-quickstart.py
programa python.
- Envie uma mensagem de reação para uma mensagem de usuário do WhatsApp.
Enviar uma mensagem de reação para uma mensagem de usuário do WhatsApp
O SDK de Mensagens permite que a Contoso envie mensagens de reação do WhatsApp, quando iniciadas por usuários do WhatsApp. Para enviar mensagens de texto:
ID do canal do WhatsApp.
O conteúdo de reação pode ser criado usando determinadas propriedades:
Tipo de ação Descrição ReaçãoNotificaçãoConteúdo Esta classe define o título do conteúdo do grupo e a matriz do grupo. Emoji Esta propriedade define o unicode para o caractere emoji. ID da mensagem de resposta Esta propriedade define a ID da mensagem a ser respondida com emoji.
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, a empresa envia uma reação à mensagem do usuário:
def send_reaction_message(self):
from azure.communication.messages import NotificationMessagesClient
from azure.communication.messages.models import ReactionNotificationContent
messaging_client = NotificationMessagesClient.from_connection_string(self.connection_string)
video_options = ReactionNotificationContent(
channel_registration_id=self.channel_id,
to=[self.phone_number],
emoji="\uD83D\uDE00",
message_id="<<ReplyMessageIdGuid>>",
)
# calling send() with whatsapp message details
message_responses = messaging_client.send(video_options)
response = message_responses.receipts[0]
print("Message with message ID {} was successful sent to {}".format(response.message_id, response.to))
Para executar send_reaction_message()
o , atualize o método principal:
#Calling send_reaction_message()
messages.send_reaction_message()
Executar o código
Para executar o código, certifique-se de que você está no diretório onde o reaction-messages-quickstart.py
arquivo está localizado.
python reaction-messages-quickstart.py
Azure Communication Services - Advanced Messages Quickstart
WhatsApp Reaction Message with message ID <<GUID>> was successfully sent to <<ToRecipient>>
Código de exemplo completo
Nota
Substitua todas as variáveis de espaço reservado no código por seus valores.
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_reaction_message(self):
from azure.communication.messages import NotificationMessagesClient
from azure.communication.messages.models import ReactionNotificationContent
messaging_client = NotificationMessagesClient.from_connection_string(self.connection_string)
video_options = ReactionNotificationContent(
channel_registration_id=self.channel_id,
to=[self.phone_number],
emoji="\uD83D\uDE00",
message_id="<<ReplyMessageIdGuid>>",
)
# calling send() with whatsapp message details
message_responses = messaging_client.send(video_options)
response = message_responses.receipts[0]
print("WhatsApp Reaction Message with message ID {} was successful sent to {}".format(response.message_id, response.to))
if __name__ == '__main__':
messages = MessagesQuickstart()
messages.send_reaction_message()
Outras amostras
Você pode revisar e baixar outros códigos de exemplo no GitHub em Python Messages SDK.
Próximos passos
Para obter mais informações, consulte:
- Manipule eventos de mensagens avançadas.
- Envie mensagens de modelo do WhatsApp.
- Envie mensagens de mídia do WhatsApp.