Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Azure Communication Services le permite enviar y recibir mensajes de WhatsApp. En este artículo se describe cómo integrar la aplicación con el SDK de mensajes avanzados de Comunicación de Azure para empezar a enviar y recibir mensajes de reacción de WhatsApp. Completar este artículo conlleva un pequeño costo de unos pocos centavos de USD o menos en su cuenta de Azure.
Requisitos previos
- Cuenta de WhatsApp Business registrada con su recurso Azure Communication Services.
- Número de teléfono de WhatsApp activo para recibir mensajes.
- Entorno de desarrollo de .NET, como Visual Studio, Visual Studio Code, o CLI de .NET.
Configuración de entorno
Crear el proyecto .NET
Para crear su proyecto, siga el tutorial en Crear una aplicación de consola .NET con Visual Studio.
Para compilar su código, presione Ctrl+F7.
Instalar el paquete
Instale el paquete Azure.Communication.Messages NuGet en su proyecto C#.
- Abra el Administrador de paquetes NuGet en
Project
>Manage NuGet Packages...
. - Buscar el paquete
Azure.Communication.Messages
. - Instale la última versión.
Instalación del marco de la aplicación
Abra el archivo Program.cs
en un editor de texto.
Reemplace el contenido de Program.cs
por el código siguiente:
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 las características de mensajería avanzada, agregue una directiva using
para incluir el espacio de nombres Azure.Communication.Messages
.
using Azure.Communication.Messages;
Modelo de objetos
Las siguientes clases e interfaces controlan algunas de las características principales del SDK de mensajería avanzada de Azure Communication Services para .NET.
Class Name (Nombre de clase) | Descripción |
---|---|
NotificationMessagesClient |
Se conecta al recurso de Azure Communication Services. Envía los mensajes. |
ReactionNotificationContent |
Define el contenido del mensaje de reacción. |
Nota:
Para obtener más información, consulte la referencia Azure SDK para .NET Espacio de nombres de Azure.Communication.Messages.
Configuración común
Para configurar la aplicación, complete los pasos siguientes:
- Autenticar el cliente.
- Establecer Id. de registro de canal.
- Establecer lista de destinatarios.
- Comience a enviar mensajes entre una empresa y un usuario de WhatsApp.
Autenticar el cliente
El SDK de mensajes usa el NotificationMessagesClient
para enviar mensajes. El método NotificationMessagesClient
se autentica mediante la cadena de conexión adquirida desde el recurso de Azure Communication Services en Azure Portal. Para obtener más información acerca de las cadenas de conexión, consulte access-your-connection-strings-and-service-endpoints.
Para simplificar, en este artículo se usa una cadena de conexión para autenticarse. En entornos de producción, se recomienda utilizar los servicios principales.
Obtenga la cadena de conexión del recurso de Azure Communication Services en Azure Portal. A la izquierda, navegue hasta la pestaña Keys
. Copie el campo Connection string
para la clave primaria. La cadena de conexión tiene el formato endpoint=https://{your Azure Communication Services resource name}.communication.azure.com/;accesskey={secret key}
.
Establezca la variable de entorno COMMUNICATION_SERVICES_CONNECTION_STRING
en el valor de la cadena de conexión.
Abra una ventana de consola y escriba el siguiente comando:
setx COMMUNICATION_SERVICES_CONNECTION_STRING "<your connection string>"
Tras agregar la variable de entorno, es posible que tenga que reiniciar todos los programas en ejecución que necesiten leer la variable de entorno, incluida la ventana de la consola. Por ejemplo, si usa Visual Studio como editor, reinícielo antes de ejecutar el ejemplo.
Para obtener más información sobre cómo configurar una variable de entorno para su sistema, siga los pasos indicados en Almacene su cadena de conexión en una variable de entorno.
Para crear una instancia un NotificationMessagesClient
, agregue el siguiente código al método Main
:
// Retrieve connection string from environment variable
string connectionString =
Environment.GetEnvironmentVariable("COMMUNICATION_SERVICES_CONNECTION_STRING");
// Instantiate the client
var notificationMessagesClient = new NotificationMessagesClient(connectionString);
Establecimiento del identificador de registro de canales
Ha creado el GUID de identificador de registro de canal durante registro de canal. Encuéntrelo en el portal, en la pestaña Canales de su recurso Azure Communication Services.
Asígnelo a una variable llamada channelRegistrationId.
var channelRegistrationId = new Guid("<your channel registration ID GUID>");
Establecimiento de la lista de destinatarios
Debe proporcionar un número de teléfono activo asociado a una cuenta de WhatsApp. Esta cuenta de WhatsApp recibe la plantilla, el texto y los mensajes multimedia enviados en este inicio rápido.
En este ejemplo, puede usar su número de teléfono personal.
El número de teléfono del destinatario no puede ser el número de teléfono del trabajo (id. de remitente) asociado al registro de canales de WhatsApp. El id. de remitente aparece como remitente de los mensajes de texto y multimedia enviados al destinatario.
El número de teléfono debe incluir el código de país. Para obtener más información sobre el formato del número de teléfono, consulte la documentación de WhatsApp para Formatos de número de teléfono.
Nota:
Actualmente solo se admite un número de teléfono en la lista de destinatarios.
Cree la lista de destinatarios de la siguiente manera:
var recipientList = new List<string> { "<to WhatsApp phone number>" };
Ejemplo:
// Example only
var recipientList = new List<string> { "+14255550199" };
Comience a enviar mensajes entre una empresa y un usuario de WhatsApp
Las conversaciones entre una cuenta empresarial de WhatsApp y un usuario de WhatsApp se pueden iniciar de una de estas dos maneras:
- La empresa envía un mensaje de plantilla al usuario de WhatsApp.
- El usuario de WhatsApp envía cualquier mensaje al número del trabajo.
Una empresa no puede iniciar una conversación interactiva. Una empresa solo puede enviar un mensaje interactivo después de recibir un mensaje del usuario. La empresa solo puede enviar mensajes interactivos al usuario durante la conversación activa. Una vez que expire la ventana de conversación de 24 horas, solo el usuario puede reiniciar la conversación interactiva. Para obtener más información acerca de las conversaciones, consulte la definición en Plataforma de WhatsApp Business.
Para iniciar una conversación interactiva desde su cuenta personal de WhatsApp, envíe un mensaje al número de negocio (id. de remitente).
Ejemplos de código
Siga estos pasos para agregar los fragmentos de código necesarios al método Main en el archivo Program.cs
.
Enviar un mensaje de reacción a un usuario de WhatsApp
El SDK de Azure Communication Services permite a Contoso enviar mensajes de reacción a los usuarios de WhatsApp cuando los inician. Para enviar un mensaje de reacción, necesita:
- NotificationMessagesClient autenticado.
- Id. de canal de WhatsApp.
- Número de teléfono del destinatario en formato E.164.
- Emoji que representa la reacción.
- Id. de mensaje del mensaje original al que se está reaccionando.
Tipo de acción | Descripción |
---|---|
ReactionNotificationContent |
Clase que define el contenido del mensaje de reacción. |
Emoji |
Especifica la reacción emoji, como 😄. |
MessageId |
Identificador del mensaje al que se va a responder. |
En este ejemplo, la empresa envía un mensaje de reacción al usuario de WhatsApp:
Ensamblar el contenido de la reacción:
var reactionNotificationContent = new ReactionNotificationContent(channelRegistrationId, recipientList, "\uD83D\uDE00", "<ReplyMessageIdGuid>");
Envíe el mensaje de reacción:
var reactionResponse = await notificationMessagesClient.SendAsync(reactionNotificationContent);
Ejecución del código
- Para compilar su código, presione Ctrl+F7.
- Para ejecutar el programa sin depurar, presione Ctrl+F5.
Ejemplo completo de código
Nota:
Reemplace todas las variables de marcador de posición en el código por sus 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();
}
}
}
Requisitos previos
- Cuenta de WhatsApp Business registrada con su recurso Azure Communication Services.
- Número de teléfono de WhatsApp activo para recibir mensajes.
- Kit de desarrollo de Java (JDK) versión 8 o posterior.
- Apache Maven.
Configuración de entorno
Para configurar un entorno para enviar mensajes, complete los pasos descritos en las secciones siguientes.
Creación de una aplicación Java
Abra un terminal o una ventana de comandos y vaya al directorio donde desea crear la aplicación Java. Ejecute el siguiente comando para generar el proyecto de Java a partir de la plantilla de maven-archetype-quickstart
.
mvn archetype:generate -DgroupId="com.communication.quickstart" -DartifactId="communication-quickstart" -DarchetypeArtifactId="maven-archetype-quickstart" -DarchetypeVersion="1.4" -DinteractiveMode="false"
El objetivo generate
crea un directorio con el mismo nombre que el valor artifactId
. En este directorio, el directorio src/main/java
contiene el código fuente del proyecto, el directorio src/test/java
contiene el origen de prueba y el archivo pom.xml
es el modelo de objetos de proyecto (POM) del proyecto.
Instalar el paquete
Abra el archivo pom.xml
en el editor de texto. Agregue el siguiente elemento de dependencia al grupo de dependencias.
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-communication-messages</artifactId>
</dependency>
Instalación del marco de la aplicación
Abra /src/main/java/com/communication/quickstart/App.java
en un editor de texto, agregue directivas de importación y quite la instrucción System.out.println("Hello world!");
:
package com.communication.quickstart;
import com.azure.communication.messages.*;
import com.azure.communication.messages.models.*;
import java.util.ArrayList;
import java.util.List;
public class App
{
public static void main( String[] args )
{
// Quickstart code goes here.
}
}
Modelo de objetos
Las siguientes clases e interfaces controlan algunas de las características principales del SDK de mensajes de Azure Communication Services para Java.
Class Name (Nombre de clase) | Descripción |
---|---|
NotificationMessagesClient |
Se conecta al recurso de Azure Communication Services. Envía los mensajes. |
ReactionNotificationContent |
Defina el contenido de reacción de los mensajes con emoji y identificador de mensaje de respuesta. |
Nota:
Para más información, consulte la referencia del SDK de Azure para Java en com.azure.communication.messages Package.
Configuración común
Siga estos pasos para agregar fragmentos de código necesarios a la función principal del archivo App.java
.
- Comience a enviar mensajes entre una empresa y un usuario de WhatsApp.
- Autenticar el cliente.
- Establecer Id. de registro de canal.
- Establecer lista de destinatarios.
Comience a enviar mensajes entre una empresa y un usuario de WhatsApp
Las conversaciones entre una cuenta empresarial de WhatsApp y un usuario de WhatsApp se pueden iniciar de una de estas dos maneras:
- La empresa envía un mensaje de plantilla al usuario de WhatsApp.
- El usuario de WhatsApp envía cualquier mensaje al número del trabajo.
Independientemente de cómo se haya iniciado la conversación, una empresa solo puede enviar mensajes de plantilla hasta que el usuario envíe un mensaje a la empresa. Solo después de que el usuario envíe un mensaje a la empresa, ésta podrá enviarle mensajes de texto o multimedia durante la conversación activa. Una vez transcurrido el plazo de 24 horas, la conversación debe reiniciarse. Para obtener más información sobre las conversaciones, consulte la definición en Plataforma de WhatsApp Business.
Autenticar el cliente
Existen varias opciones para autenticar a un cliente de mensajes:
Para autenticar a un cliente, cree una instancia NotificationMessagesClient
o MessageTemplateClient
con su cadena de conexión. También puede iniciar el cliente con cualquier cliente HTTP personalizado que implemente la interfaz com.azure.core.http.HttpClient
.
Para simplificar, en este artículo se usa una cadena de conexión para autenticarse. En entornos de producción, se recomienda utilizar los servicios principales.
Obtenga la cadena de conexión del recurso de Azure Communication Services en Azure Portal. A la izquierda, navegue hasta la pestaña Keys
. Copie el campo Connection string
para el Primary key
. La cadena de conexión tiene el formato endpoint=https://{your Azure Communication Services resource name}.communication.azure.com/;accesskey={secret key}
.
Establezca la variable de entorno COMMUNICATION_SERVICES_CONNECTION_STRING
en el valor de la cadena de conexión.
Abra una ventana de consola y escriba el siguiente comando:
setx COMMUNICATION_SERVICES_CONNECTION_STRING "<your connection string>"
Para obtener más información sobre cómo configurar una variable de entorno para su sistema, siga los pasos indicados en Almacene su cadena de conexión en una variable de entorno.
Para crear una instancia de NotificationMessagesClient, agregue el siguiente código al método main
:
// 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();
Establecimiento del identificador de registro de canales
El Id. GUID de registro de canal se creó durante el registro del canal. Puede buscarlo en el portal en la pestaña Canales del recurso de Azure Communication Services.
Asígnelo a una variable llamada channelRegistrationId.
String channelRegistrationId = "<your channel registration id GUID>";
Establecimiento de la lista de destinatarios
Debe proporcionar un número de teléfono real que tenga una cuenta de WhatsApp asociada. Esta cuenta de WhatsApp recibe los mensajes de texto y multimedia enviados en este artículo. Para este artículo, este número de teléfono puede ser su número de teléfono personal.
El número de teléfono del destinatario no puede ser el número de teléfono del trabajo (id. de remitente) asociado al registro de canales de WhatsApp. El id. de remitente aparece como remitente de los mensajes de texto y multimedia enviados al destinatario.
El número de teléfono debe incluir el código de país. Para obtener más información sobre el formato del número de teléfono, consulte la documentación de WhatsApp sobre formatos de número de teléfono.
Nota:
Actualmente solo se admite un número de teléfono en la lista de destinatarios.
Cree la lista de destinatarios de la siguiente manera:
List<String> recipientList = new ArrayList<>();
recipientList.add("<to WhatsApp phone number>");
Ejemplo:
// Example only
List<String> recipientList = new ArrayList<>();
recipientList.add("+14255550199");
Ejemplos de código
Siga estos pasos para agregar fragmentos de código necesarios a la función principal del archivo App.java
.
Enviar mensajes de reacción a un mensaje de usuario de WhatsApp
El SDK de mensajes permite a Contoso enviar mensajes de WhatsApp de reacción cuando lo inician los usuarios de WhatsApp. Para enviar mensajes de texto:
- Id. de canal de WhatsApp.
- Número de teléfono del destinatario en formato E16.
- Secuencia de escape Unicode del emoji.
- Id. de mensaje al que desea aplicar el emoji.
Importante
Para enviar una reacción al mensaje de usuario, el usuario de WhatsApp primero debe enviar un mensaje a la cuenta empresarial de WhatsApp. Para obtener más información, consulte Empezar a enviar mensajes entre la empresa y el usuario de WhatsApp.
Ensamblar y enviar la reacción a un mensaje:
// 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());
}
Ejecución del código
Abra en el directorio que contiene el archivo
pom.xml
y compile el proyecto mediante el comandomvn
.mvn compile
Ejecute la aplicación ejecutando el siguiente comando
mvn
.mvn exec:java -D"exec.mainClass"="com.communication.quickstart.App" -D"exec.cleanupDaemonThreads"="false"
Ejemplo completo de código
Busque el código finalizado de este ejemplo en GitHub en el SDK de mensajes de Java.
Requisitos previos
- Cuenta de WhatsApp Business registrada con su recurso Azure Communication Services.
- Número de teléfono de WhatsApp activo para recibir mensajes.
-
Node.js Se recomiendan las versiones de LTS y Mantenimiento LTS activas (8.11.1 y 10.14.1).
- En una ventana de terminal o de comandos, ejecute
node --version
para comprobar que Node.js está instalado.
- En una ventana de terminal o de comandos, ejecute
Instalación
Creación de una aplicación Node.js
Cree un directorio para la aplicación y ábralo en un terminal o ventana de comandos.
Ejecute el siguiente comando:
mkdir advance-messages-quickstart && cd advance-messages-quickstart
Ejecute el siguiente comando para crear un archivo
package.json
con la configuración predeterminada.npm init -y
Use un editor de texto para crear un archivo denominado
send-messages.js
en el directorio raíz del proyecto.Agregue el siguiente fragmento de código al archivo
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); });
Complete la siguiente sección para agregar el código fuente de este ejemplo al archivo send-messages.js
que ha creado.
Instalar el paquete
Utilice el comando npm install
para instalar el SDK de la Mensajería avanzada de Azure Communication Services para JavaScript.
npm install @azure-rest/communication-messages --save
La opción --save
muestra la biblioteca como dependencia en el archivo package.json.
Modelo de objetos
Las siguientes clases e interfaces controlan algunas de las características principales del SDK de mensajes de Azure Communication Services para JavaScript.
Class Name (Nombre de clase) | Descripción |
---|---|
NotificationMessagesClient |
Se conecta al recurso de Azure Communication Services. Envía los mensajes. |
ReactionNotificationContent |
Define el contenido del mensaje de reacción. |
Nota:
Para más información, consulte la referencia del SDK de Azure para JavaScript Paquete @Azure-rest/communication-messages
Configuración común
Siga estos pasos para agregar fragmentos de código necesarios al archivo send-messages.js
.
- Comience a enviar mensajes entre una empresa y un usuario de WhatsApp.
- Autenticar el cliente.
- Establecer Id. de registro de canal.
- Establecer lista de destinatarios.
- Comience a enviar mensajes entre una empresa y un usuario de WhatsApp.
Comience a enviar mensajes entre una empresa y un usuario de WhatsApp
Las conversaciones entre una cuenta empresarial de WhatsApp y un usuario de WhatsApp se pueden iniciar de una de estas dos maneras:
- La empresa envía un mensaje de plantilla al usuario de WhatsApp.
- El usuario de WhatsApp envía cualquier mensaje al número del trabajo.
Independientemente de cómo se haya iniciado la conversación, una empresa solo puede enviar mensajes de plantilla hasta que el usuario envíe un mensaje a la empresa. Solo después de que el usuario envíe un mensaje a la empresa, ésta podrá enviarle mensajes de texto o multimedia durante la conversación activa. Una vez transcurrido el plazo de 24 horas, la conversación debe reiniciarse. Para obtener más información sobre las conversaciones, consulte la definición en Plataforma de WhatsApp Business.
Autenticar el cliente
El código siguiente recupera la cadena de conexión del recurso de una variable de entorno denominada COMMUNICATION_SERVICES_CONNECTION_STRING
mediante el paquete dotenv.
Para simplificar, en este artículo se usa una cadena de conexión para autenticarse. En entornos de producción, se recomienda utilizar los servicios principales.
Obtenga la cadena de conexión del recurso de Azure Communication Services en Azure Portal. A la izquierda, navegue hasta la pestaña Keys
. Copie el campo Connection string
para el Primary key
. La cadena de conexión tiene el formato endpoint=https://{your Azure Communication Services resource name}.communication.azure.com/;accesskey={secret key}
.
Establezca la variable de entorno COMMUNICATION_SERVICES_CONNECTION_STRING
en el valor de la cadena de conexión.
Abra una ventana de consola y escriba el siguiente comando:
setx COMMUNICATION_SERVICES_CONNECTION_STRING "<your connection string>"
Para obtener más información sobre cómo configurar una variable de entorno para su sistema, siga los pasos indicados en Almacene su cadena de conexión en una variable de entorno.
Para crear una instancia de NotificationClient, agregue el código siguiente al método Main
:
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);
Establecimiento del identificador de registro de canales
El Id. GUID de registro de canal se creó durante el registro del canal. Puede buscarlo en el portal en la pestaña Canales del recurso de Azure Communication Services.
Asígnelo a una variable llamada channelRegistrationId.
const channelRegistrationId = "<your channel registration id GUID>";
Establecimiento de la lista de destinatarios
Debe proporcionar un número de teléfono real que tenga una cuenta de WhatsApp asociada. Esta cuenta de WhatsApp recibe los mensajes multimedia, texto y plantilla enviados en este artículo. Para este artículo, este número de teléfono puede ser su número de teléfono personal.
El número de teléfono del destinatario no puede ser el número de teléfono del trabajo (id. de remitente) asociado al registro de canales de WhatsApp. El id. de remitente aparece como remitente de los mensajes de texto y multimedia enviados al destinatario.
El número de teléfono debe incluir el código de país. Para obtener más información sobre el formato del número de teléfono, consulte la documentación de WhatsApp sobre formatos de número de teléfono.
Nota:
Actualmente solo se admite un número de teléfono en la lista de destinatarios.
Cree la lista de destinatarios de la siguiente manera:
const recipientList = ["<to WhatsApp phone number>"];
Ejemplo:
// Example only
const recipientList = ["+14255550199"];
Ejemplos de código
Siga estos pasos para agregar fragmentos de código necesarios al archivo send-messages.js
.
Comience a enviar mensajes entre una empresa y un usuario de WhatsApp
Las conversaciones entre una cuenta empresarial de WhatsApp y un usuario de WhatsApp se pueden iniciar de una de estas dos maneras:
- La empresa envía un mensaje de plantilla al usuario de WhatsApp.
- El usuario de WhatsApp envía cualquier mensaje al número del trabajo.
Independientemente de cómo se haya iniciado la conversación, una empresa solo puede enviar mensajes de plantilla hasta que el usuario envíe un mensaje a la empresa. Solo después de que el usuario envíe un mensaje a la empresa, ésta podrá enviarle mensajes de texto o multimedia durante la conversación activa. Una vez transcurrido el plazo de 24 horas, la conversación debe reiniciarse. Para obtener más información sobre las conversaciones, consulte la definición en Plataforma de WhatsApp Business.
Autenticar el cliente
El código siguiente recupera la cadena de conexión del recurso de una variable de entorno denominada COMMUNICATION_SERVICES_CONNECTION_STRING
mediante el paquete dotenv.
Para simplificar, en este artículo se usa una cadena de conexión para autenticarse. En entornos de producción, se recomienda utilizar los servicios principales.
Obtenga la cadena de conexión del recurso de Azure Communication Services en Azure Portal. A la izquierda, navegue hasta la pestaña Keys
. Copie el campo Connection string
para el Primary key
. La cadena de conexión tiene el formato endpoint=https://{your Azure Communication Services resource name}.communication.azure.com/;accesskey={secret key}
.
Establezca la variable de entorno COMMUNICATION_SERVICES_CONNECTION_STRING
en el valor de la cadena de conexión.
Abra una ventana de consola y escriba el siguiente comando:
setx COMMUNICATION_SERVICES_CONNECTION_STRING "<your connection string>"
Para obtener más información sobre cómo configurar una variable de entorno para su sistema, siga los pasos indicados en Almacene su cadena de conexión en una variable de entorno.
Para crear una instancia de NotificationClient, agregue el código siguiente al método Main
:
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);
Establecimiento del identificador de registro de canales
El Id. GUID de registro de canal se creó durante el registro del canal. Puede buscarlo en el portal en la pestaña Canales del recurso de Azure Communication Services.
Asígnelo a una variable llamada channelRegistrationId.
const channelRegistrationId = "<your channel registration id GUID>";
Establecimiento de la lista de destinatarios
Debe proporcionar un número de teléfono real que tenga una cuenta de WhatsApp asociada. Esta cuenta de WhatsApp recibe los mensajes multimedia, texto y plantilla enviados en este artículo. Para este artículo, este número de teléfono puede ser su número de teléfono personal.
El número de teléfono del destinatario no puede ser el número de teléfono del trabajo (id. de remitente) asociado al registro de canales de WhatsApp. El id. de remitente aparece como remitente de los mensajes de texto y multimedia enviados al destinatario.
El número de teléfono debe incluir el código de país. Para obtener más información sobre el formato del número de teléfono, consulte la documentación de WhatsApp sobre formatos de número de teléfono.
Nota:
Actualmente solo se admite un número de teléfono en la lista de destinatarios.
Cree la lista de destinatarios de la siguiente manera:
const recipientList = ["<to WhatsApp phone number>"];
Ejemplo:
// Example only
const recipientList = ["+14255550199"];
Enviar mensajes de reacción a un mensaje de usuario de WhatsApp
El SDK de mensajes permite a Contoso enviar mensajes de WhatsApp de reacción cuando lo inician los usuarios de WhatsApp. Para enviar mensajes de texto:
- Id. de canal de WhatsApp.
- Número de teléfono del destinatario en formato E16.
- Emoji.
- Id. de mensaje al que desea aplicar el emoji.
Importante
Para enviar una reacción al mensaje de usuario, el usuario de WhatsApp primero debe enviar un mensaje a la cuenta empresarial de WhatsApp. Para obtener más información, consulte Empezar a enviar mensajes entre la empresa y el usuario de WhatsApp.
En este ejemplo, la empresa envía una reacción al mensaje de usuario:
/**
* @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;
});
Ejecución del código
Utilice el comando node para ejecutar el código que ha agregado al archivo send-messages.js.
node ./send-messages.js
Ejemplo completo de código
Busque el código finalizado de este ejemplo en GitHub en el SDK de mensajes de JavaScript.
Requisitos previos
Cuenta de WhatsApp Business registrada con su recurso Azure Communication Services.
Número de teléfono de WhatsApp activo para recibir mensajes.
Python 3.7+ para su sistema operativo.
Configuración del entorno
Creación de una nueva aplicación de Python
En una ventana de terminal o consola, cree una carpeta para la aplicación y ábrala.
mkdir messages-quickstart && cd messages-quickstart
Instalar el paquete
Use la biblioteca cliente de mensajes de comunicación de Azure para Python 1.1.0 o superior.
Desde un símbolo del sistema de consola, ejecute el siguiente comando:
pip install azure-communication-messages
Para InteractiveMessages, Reacciones y Pegatinas, use a continuación la versiónBeta:
pip install azure-communication-messages==1.2.0b1
Instalación del marco de la aplicación
Cree un archivo llamado messages-quickstart.py
y agregue la estructura básica del programa.
type nul > messages-quickstart.py
Estructura básica del programa
import os
class MessagesQuickstart(object):
print("Azure Communication Services - Advanced Messages SDK Quickstart")
if __name__ == '__main__':
messages = MessagesQuickstart()
Modelo de objetos
Las siguientes clases e interfaces controlan algunas de las características principales del SDK de mensajes de Azure Communication Services para Python.
Class Name (Nombre de clase) | Descripción |
---|---|
NotificationMessagesClient |
Se conecta al recurso de Azure Communication Services. Envía los mensajes. |
ReactionNotificationContent |
Defina el contenido de reacción de los mensajes con emoji y identificador de mensaje de respuesta. |
Nota:
Para más información, consulte la referencia del SDK de Azure para Python Paquete de mensajes.
Configuración común
Siga estos pasos para agregar fragmentos de código necesarios al programa de python messages-quickstart.py
.
Autenticar el cliente
El envío de mensajes utiliza NotificationMessagesClient. NotificationMessagesClient se autentica mediante la cadena de conexión adquirida desde el recurso de Azure Communication Services en Azure Portal.F
Para más información sobre las cadenas de conexión, consulte access-your-connection-strings-and-service-endpoints.
Obtenga la cadena de conexión de Recursos de comunicación de Azure desde Azure Portal como se indica en el recorte de pantalla. A la izquierda, navegue hasta la pestaña Keys
. Copie el campo Connection string
para la clave primaria. La cadena de conexión tiene el formato endpoint=https://{your Azure Communication Services resource name}.communication.azure.com/;accesskey={secret key}
.
Establezca la variable de entorno COMMUNICATION_SERVICES_CONNECTION_STRING
en el valor de la cadena de conexión.
Abra una ventana de consola y escriba el siguiente comando:
setx COMMUNICATION_SERVICES_CONNECTION_STRING "<your connection string>"
Tras agregar la variable de entorno, es posible que tenga que reiniciar todos los programas en ejecución que necesiten leer la variable de entorno, incluida la ventana de la consola. Por ejemplo, si usa Visual Studio como editor, reinícielo antes de ejecutar el ejemplo.
Para obtener más información sobre cómo configurar una variable de entorno para su sistema, siga los pasos indicados en Almacene su cadena de conexión en una variable de entorno.
# 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)
Establecimiento del identificador de registro de canales
Ha creado el GUID de identificador de registro de canal durante registro de canal. Encuéntrelo en el portal, en la pestaña Canales de su recurso Azure Communication Services.
Asígnelo a una variable llamada channelRegistrationId.
channelRegistrationId = os.getenv("WHATSAPP_CHANNEL_ID_GUID")
Establecimiento de la lista de destinatarios
Debe proporcionar un número de teléfono activo asociado a una cuenta de WhatsApp. Esta cuenta de WhatsApp recibe los mensajes multimedia, texto y plantilla enviados en este artículo.
En este ejemplo, puede usar su número de teléfono personal.
El número de teléfono del destinatario no puede ser el número de teléfono del trabajo (id. de remitente) asociado al registro de canales de WhatsApp. El id. de remitente aparece como remitente de los mensajes de texto y multimedia enviados al destinatario.
El número de teléfono debe incluir el código de país. Para obtener más información sobre el formato del número de teléfono, consulte la documentación de WhatsApp para Formatos de número de teléfono.
Nota:
Actualmente solo se admite un número de teléfono en la lista de destinatarios.
Establezca la lista de destinatarios así:
phone_number = os.getenv("RECIPIENT_WHATSAPP_PHONE_NUMBER")
Ejemplo de uso:
# Example only
to=[self.phone_number],
Comience a enviar mensajes entre una empresa y un usuario de WhatsApp
Las conversaciones entre una cuenta empresarial de WhatsApp y un usuario de WhatsApp se pueden iniciar de una de estas dos maneras:
- La empresa envía un mensaje de plantilla al usuario de WhatsApp.
- El usuario de WhatsApp envía cualquier mensaje al número del trabajo.
Una empresa no puede iniciar una conversación interactiva. Una empresa solo puede enviar un mensaje interactivo después de recibir un mensaje del usuario. La empresa solo puede enviar mensajes interactivos al usuario durante la conversación activa. Una vez que expire la ventana de conversación de 24 horas, solo el usuario puede reiniciar la conversación interactiva. Para obtener más información acerca de las conversaciones, consulte la definición en Plataforma de WhatsApp Business.
Para iniciar una conversación interactiva desde su cuenta personal de WhatsApp, envíe un mensaje al número de negocio (id. de remitente).
Ejemplos de código
Siga estos pasos para agregar fragmentos de código necesarios al programa de python messages-quickstart.py
.
Enviar mensajes de reacción a un mensaje de usuario de WhatsApp
El SDK de mensajes permite a Contoso enviar mensajes de WhatsApp de reacción cuando lo inician los usuarios de WhatsApp. Para enviar mensajes de texto:
El contenido de reacción se puede crear mediante propiedades dadas:
Tipo de acción Descripción ContenidoDeNotificaciónDeReacción Esta clase define el título del contenido del grupo y la matriz del grupo. Emoji Esta propiedad define el unicode para el carácter emoji. Id. de mensaje de respuesta Esta propiedad define el identificador del mensaje que se va a responder con emoji.
Importante
Para enviar un mensaje de texto a un usuario de WhatsApp, este debe enviar primero un mensaje a la cuenta de WhatsApp Business. Para obtener más información, consulte Empezar a enviar mensajes entre la empresa y el usuario de WhatsApp.
En este ejemplo, la empresa envía una reacción al mensaje de usuario:
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 ejecutar send_reaction_message()
, actualice el método principal:
#Calling send_reaction_message()
messages.send_reaction_message()
Ejecución del código
Para ejecutar el código, asegúrese de que está en el directorio donde se encuentra el archivo reaction-messages-quickstart.py
.
python reaction-messages-quickstart.py
Azure Communication Services - Advanced Messages Quickstart
WhatsApp Reaction Message with message ID <<GUID>> was successfully sent to <<ToRecipient>>
Ejemplo completo de código
Nota:
Reemplace todas las variables de marcador de posición en el código por sus 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()
Otros ejemplos
Puede revisar y descargar otros códigos de ejemplo en GitHub en el SDK de mensajes de Python.
Pasos siguientes
Para más información, consulte: