Compartilhar via


Início Rápido: Enviar uma mensagem SMS

Importante

Os recursos de SMS dependem do número de telefone que você usa e do país/região no qual você está operando, conforme determinado pelo seu endereço de cobrança do Azure. Para obter mais informações, consulte Qualificação da assinatura.


Comece a usar os Serviços de Comunicação do Azure usando o módulo de Comunicação na CLI do Azure para enviar mensagens SMS.

A realização deste início rápido gera um pequeno custo de alguns centavos de dólar ou menos em sua conta do Azure.

Pré-requisitos

Verificação de pré-requisitos

  • Em um terminal ou janela de comando, execute az --version para verificar se a CLI do Azure está instalada.

Configurando

Instalar o módulo de comunicação

Execute o comando a seguir em um terminal ou janela de comando para instalar o módulo de comunicação.

az extension add --name communication

Entrar na CLI do Azure

Você precisará entrar na CLI do Azure. Para se conectar, execute o comando az login no terminal e forneça suas credenciais.

Verifique se você está usando a assinatura correta

Se você tiver várias assinaturas na conta, verifique se está usando a correta para este tutorial.

Em um terminal ou janela de comando, execute o comando a seguir para verificar a assinatura atual.

az account show

Se você precisar alterar a assinatura, pode fazer isso executando o comando a seguir.

az account set --subscription "<yourSubscriptionId>"

Você precisa substituir <yourSubscriptionId> pela ID da assinatura real, que pode ser encontrada na seção Assinaturas no portal do Azure.

(Opcional) Usar operações de SMS da CLI do Azure sem passar uma cadeia de conexão

Você pode configurar a variável de ambiente AZURE_COMMUNICATION_CONNECTION_STRING para usar operações de SMS da CLI do Azure sem precisar usar --connection_string para passar a cadeia de conexão. Para configurar uma variável de ambiente, abra uma janela do console e selecione o sistema operacional nas guias abaixo. Substitua <yourConnectionString> pela cadeia de conexão real.

Abra uma janela do console e insira o seguinte comando:

setx AZURE_COMMUNICATION_CONNECTION_STRING "<yourConnectionString>"

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

Operations

Enviar uma mensagem SMS 1:1

Para enviar uma mensagem SMS para um único destinatário, chame o método send do módulo sms com um único número de telefone do destinatário.

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

Faça estas substituições no código:

  • Substitua <fromPhoneNumber> por um número de telefone habilitado para SMS que esteja associado ao recurso dos Serviços de Comunicação.
  • Substitua <toPhoneNumber> pelo número de telefone para o qual você gostaria de enviar uma mensagem.
  • Substitua <yourConnectionString> pela cadeia de conexão.

Aviso

Forneça números de telefone no formato padrão internacional E.164, por exemplo, +14255550123. O valor para <fromPhoneNumber> também pode ser um código curto, por exemplo, 23456 ou um ID alfanumérico do remetente, por exemplo, CONTOSO.

Enviar uma mensagem SMS 1:N

Para enviar uma mensagem SMS para uma lista de destinatários, chame o método send do módulo sms com vários números de telefone de destinatários.

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

Faça estas substituições no código:

  • Substitua <fromPhoneNumber> por um número de telefone habilitado para SMS que esteja associado ao recurso dos Serviços de Comunicação.
  • Substitua <toPhoneNumberN> pelo número de telefone para o qual você gostaria de enviar uma mensagem.
  • Substitua <yourConnectionString> pela cadeia de conexão.

Aviso

Forneça números de telefone no formato padrão internacional E.164, por exemplo, +14255550123. O valor para <fromPhoneNumber> também pode ser um código curto, por exemplo, 23456 ou um ID alfanumérico do remetente, por exemplo, CONTOSO.

Comece a usar os Serviços de Comunicação do Azure usando o SDK de C# do Java dos Serviços de Comunicação para enviar mensagens SMS.

A realização deste início rápido gera um pequeno custo de alguns centavos de dólar ou menos em sua conta do Azure.

Observação

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

Pré-requisitos

Verificação de pré-requisitos

  • Em um terminal ou em uma janela de comando, execute o comando dotnet para verificar se o SDK do .NET está instalado.
  • Para exibir os números de telefone associados ao seu recurso dos Serviços de Comunicação, entre no portal do Azure e localize o recurso em questão. No painel de navegação à esquerda, selecione Números de telefone.

Configurar o ambiente do aplicativo

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

Criar um aplicativo em C#

  1. Em uma janela de console, como cmd, PowerShell ou Bash, use o comando dotnet new para criar um aplicativo de console com o nome SmsQuickstart. Esse comando cria um projeto simples em C# do tipo "Olá, Mundo" com um arquivo de origem único: Program.cs.

    dotnet new console -o SmsQuickstart
    
  2. Altere o seu diretório para a pasta de aplicativo recém-criada e use o comando dotnet build para compilar o seu aplicativo.

    cd SmsQuickstart
    dotnet build
    

Instalar o pacote

  1. Ainda no diretório do aplicativo, instale o pacote do SDK de SMS dos Serviços de Comunicação do Azure para .NET usando o comando a seguir.

    dotnet add package Azure.Communication.Sms --version 1.0.0
    
  2. Adicione uma diretiva using à parte superior de Program.cs para incluir o namespace Azure.Communication.

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

Modelo de objeto

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

Nome Descrição
SmsClient Essa classe é necessária para toda a funcionalidade de SMS. Crie uma instância dela com suas informações de assinatura e use-a para enviar mensagens SMS.
SmsSendOptions Essa classe fornece opções para configurar o relatório de entrega. Se enable_delivery_report for definido como True, um evento será emitido quando a entrega for bem-sucedida.
SmsSendResult Essa classe contém o resultado do serviço de SMS.

Autenticar o cliente

Abra Program.cs em um editor de texto e substitua o corpo do método Main pelo código para inicializar um SmsClient com a cadeia de conexão. O código abaixo recupera a cadeia de conexão do recurso em uma variável de ambiente chamada COMMUNICATION_SERVICES_CONNECTION_STRING. Saiba como gerenciar a cadeia de conexão do seu recurso.

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

SmsClient smsClient = new SmsClient(connectionString);

Enviar uma mensagem SMS 1:1

Para enviar uma mensagem SMS para um só destinatário, chame a função Send ou SendAsync no SmsClient. Adicione este código ao final do método Main no Program.cs:

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

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

Faça estas substituições no código:

  • Substitua <from-phone-number> por um número de telefone habilitado para SMS que esteja associado ao recurso dos Serviços de Comunicação.
  • Substitua <to-phone-number> pelo número de telefone para o qual você gostaria de enviar uma mensagem.

Aviso

Forneça números de telefone no formato padrão internacional E.164, por exemplo, +14255550123. O valor para <from-phone-number> também pode ser um código curto, por exemplo, 23456 ou um ID alfanumérico do remetente, por exemplo, CONTOSO.

Enviar uma mensagem SMS 1:N com opções

Para enviar uma mensagem SMS para uma lista de destinatários, chame a função Send ou SendAsync no SmsClient com uma lista de números de telefone de destinatários. Também é possível fornecer parâmetros opcionais para especificar se o relatório de entrega deve ser habilitado e para definir marcas personalizadas.

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

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

Faça estas substituições no código:

  • Substitua <from-phone-number> por um número de telefone habilitado para SMS que esteja associado ao recurso dos Serviços de Comunicação.
  • Substitua <to-phone-number-1> e <to-phone-number-2> pelos números de telefone para os quais você gostaria de enviar uma mensagem.

Aviso

Forneça números de telefone no formato padrão internacional E.164, por exemplo, +14255550123. O valor para <from-phone-number> também pode ser um código curto, por exemplo, 23456 ou um ID alfanumérico do remetente, por exemplo, CONTOSO.

O parâmetro enableDeliveryReport é opcional e pode ser usado para configurar o relatório de entrega. A funcionalidade é usada para emitir eventos quando mensagens SMS são entregues. Confira o guia de início rápido Manipular eventos de SMS para configurar o relatório de entrega das suas mensagens SMS.

É possível usar o parâmetro Tag para aplicar uma marca ao relatório de entrega.

Executar o código

Execute o aplicativo do seu diretório de aplicativo com o comando dotnet run.

dotnet run

Código de exemplo

É possível baixar o aplicativo de exemplo do GitHub.

Comece a usar os Serviços de Comunicação do Azure usando o SDK de SMS do JavaScript dos Serviços de Comunicação para enviar mensagens SMS.

A realização deste início rápido gera um pequeno custo de alguns centavos de dólar ou menos em sua conta do Azure.

Observação

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

Pré-requisitos

Verificação de pré-requisitos

  • Em uma janela de terminal ou de comando, execute node --version para verificar se o Node.js está instalado.
  • Para exibir os números de telefone associados ao seu recurso dos Serviços de Comunicação, entre no portal do Azure e localize o recurso em questão. No painel de navegação à esquerda, selecione Números de telefone.

Configurar o ambiente do aplicativo

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

Criar um novo aplicativo do Node.js

  1. Abra o terminal ou a janela de comando, execute o comando a seguir para criar um diretório para o aplicativo e navegue até ele.

    mkdir sms-quickstart && cd sms-quickstart
    
  2. Execute o comando a seguir 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-sms.js no diretório raiz do projeto.

Nas seções a seguir, você adicionará todo o código-fonte para este início rápido ao arquivo send-sms.js que acabou de criar.

Instalar o pacote

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

npm install @azure/communication-sms --save

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

Modelo de objeto

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

Nome Descrição
SmsClient Essa classe é necessária para toda a funcionalidade de SMS. Crie uma instância dela com suas informações de assinatura e use-a para enviar mensagens SMS.
SmsSendRequest Essa interface é o modelo para a criação da solicitação de SMS. Use-a para configurar os números de telefone de envio e de destino e o conteúdo do SMS.
SmsSendOptions Essa interface fornece opções para configurar o relatório de entrega. Se enableDeliveryReport for definido como true, um evento será emitido quando a entrega for bem-sucedida.
SmsSendResult Essa classe contém o resultado do serviço de SMS.

Autenticar o cliente

Para autenticar um cliente, importe o SmsClient do SDK e crie uma instância dele com sua cadeia de conexão. É possível recuperar a cadeia de conexão do recurso em uma variável de ambiente. Por exemplo, o código nesta seção recupera a cadeia de conexão na variável de ambiente COMMUNICATION_SERVICES_CONNECTION_STRING. Saiba como gerenciar a cadeia de conexão do seu recurso.

Para importar o cliente e criar uma instância dele, faça o seguinte:

  1. Crie um arquivo chamado send-sms.js.

  2. Adicione o seguinte código a send-sms.js.

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

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

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

Enviar uma mensagem SMS 1:N

Para enviar uma mensagem SMS para uma lista de destinatários, chame a função send no SmsClient com uma lista de números de telefone de destinatários. Para enviar uma mensagem para um único destinatário, inclua apenas um número na lista. Adicione este código ao final de send-sms.js:

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

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

main();

Faça estas substituições no código:

  • Substitua <from-phone-number> por um número de telefone habilitado para SMS que esteja associado ao recurso dos Serviços de Comunicação.
  • Substitua <to-phone-number-1> e <to-phone-number-2> pelos números de telefone para os quais você gostaria de enviar uma mensagem.

Aviso

Forneça números de telefone no formato padrão internacional E.164, por exemplo, +14255550123. O valor para <from-phone-number> também pode ser um código curto, por exemplo, 23456 ou um ID alfanumérico do remetente, por exemplo, CONTOSO.

Enviar uma mensagem SMS 1:N com opções

Também é possível fornecer um objeto de opções para especificar se o relatório de entrega deve ser habilitado e para definir marcas personalizadas.


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

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

main();

Faça estas substituições no código:

  • Substitua <from-phone-number> por um número de telefone habilitado para SMS que esteja associado ao recurso dos Serviços de Comunicação.
  • Substitua <to-phone-number-1> e <to-phone-number-2> pelos números de telefone para os quais você gostaria de enviar uma mensagem.

Aviso

Forneça números de telefone no formato padrão internacional E.164, por exemplo, +14255550123. O valor para <from-phone-number> também pode ser um código curto, por exemplo, 23456 ou um ID alfanumérico do remetente, por exemplo, CONTOSO.

O parâmetro enableDeliveryReport é opcional e pode ser usado para configurar o relatório de entrega. A funcionalidade é usada para emitir eventos quando mensagens SMS são entregues. Confira o guia de início rápido Manipular eventos de SMS para configurar o relatório de entrega das suas mensagens SMS. O tag é opcional. Use-o para aplicar uma marca ao relatório de entrega.

Executar o código

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


node ./send-sms.js

Comece a usar os Serviços de Comunicação do Azure usando o SDK de SMS do Python dos Serviços de Comunicação para enviar mensagens SMS.

A realização deste início rápido gera um pequeno custo de alguns centavos de dólar ou menos em sua conta do Azure.

Observação

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

Pré-requisitos

Verificação de pré-requisitos

  • Em um terminal ou em uma janela de comando, execute o comando python --version para verificar se o Python está instalado.
  • Para exibir os números de telefone associados ao seu recurso dos Serviços de Comunicação, entre no portal do Azure e localize o recurso em questão. No painel de navegação à esquerda, selecione Números de telefone.

Configurar o ambiente do aplicativo

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

Criar um novo aplicativo Python

  1. Abra o terminal ou a janela Comando. Em seguida, use o comando a seguir para criar um diretório para o aplicativo e navegue até ele.

    mkdir sms-quickstart && cd sms-quickstart
    
  2. Use um editor de texto para criar um arquivo chamado send-sms.py no diretório raiz do projeto e adicione a estrutura do programa, incluindo o tratamento básico de exceções.

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

Nas seções a seguir, você adicionará todo o código-fonte para este início rápido ao arquivo send-sms.py que acabou de criar.

Instalar o pacote

Ainda no diretório do aplicativo, instale o pacote do SDK de SMS dos Serviços de Comunicação do Azure para Python usando o comando a seguir.

pip install azure-communication-sms

Modelo de objeto

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

Nome Descrição
SmsClient Essa classe é necessária para toda a funcionalidade de SMS. Crie uma instância dela com suas informações de assinatura e use-a para enviar mensagens SMS.
SmsSendResult Essa classe contém o resultado do serviço de SMS.

Autenticar o cliente

Crie uma instância de um SmsClient com sua cadeia de conexão. Saiba como gerenciar a cadeia de conexão do seu recurso.

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

Para simplificar, este guia de início rápido usa cadeias de conexão, mas em ambientes de produção, recomenda-se o uso de entidades de serviço.

Enviar uma mensagem SMS 1:1

Para enviar uma mensagem SMS para um só destinatário, chame o método send no SmsClient com o número de telefone de um destinatário. Também é possível fornecer parâmetros opcionais para especificar se o relatório de entrega deve ser habilitado e para definir marcas personalizadas. Adicione o código ao final do bloco try em send-sms.py:


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

Faça estas substituições no código:

  • Substitua <from-phone-number> por um número de telefone habilitado para SMS que esteja associado ao serviço de comunicação.
  • Substitua <to-phone-number> pelo número de telefone para o qual você gostaria de enviar uma mensagem.

Aviso

Forneça números de telefone no formato padrão internacional E.164, por exemplo, +14255550123. O valor para <from-phone-number> também pode ser um código curto, por exemplo, 23456 ou um ID alfanumérico do remetente, por exemplo, CONTOSO.

Enviar uma mensagem SMS 1:N

Para enviar uma mensagem SMS para uma lista de destinatários, chame o método send no SmsClient com uma lista de números de telefone de destinatários. Também é possível fornecer parâmetros opcionais para especificar se o relatório de entrega deve ser habilitado e para definir marcas personalizadas. Adicione o código ao final do bloco try em send-sms.py:


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

Faça estas substituições no código:

  • Substitua <from-phone-number> por um número de telefone habilitado para SMS que esteja associado ao serviço de comunicação.
  • Substitua <to-phone-number-1> e <to-phone-number-2> pelos números de telefone para os quais você gostaria de enviar uma mensagem.

Aviso

Forneça números de telefone no formato padrão internacional E.164, por exemplo, +14255550123. O valor para <from-phone-number> também pode ser um código curto, por exemplo, 23456 ou um ID alfanumérico do remetente, por exemplo, CONTOSO.

Parâmetros opcionais

O parâmetro enable_delivery_report é opcional e pode ser usado para configurar o relatório de entrega. A funcionalidade é usada para emitir eventos quando mensagens SMS são entregues. Confira o guia de início rápido Manipular eventos de SMS para configurar o relatório de entrega das suas mensagens SMS.

O parâmetro tag é opcional e pode ser usado para aplicar uma marca ao relatório de entrega.

Executar o código

Execute o aplicativo do seu diretório de aplicativo com o comando python.

python send-sms.py

O script Python completo deve ser semelhante ao seguinte código:


import os
from azure.communication.sms import SmsClient

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

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

Comece a usar os Serviços de Comunicação do Azure usando o SDK de SMS do Java dos Serviços de Comunicação para enviar mensagens SMS.

A realização deste início rápido gera um pequeno custo de alguns centavos de dólar ou menos em sua conta do Azure.

Observação

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

Pré-requisitos

Verificação de pré-requisitos

  • Em um terminal ou janela de comando, execute mvn -v para verificar se o Maven está instalado.
  • Para exibir os números de telefone associados ao seu recurso dos Serviços de Comunicação, entre no portal do Azure e localize o recurso em questão. No painel de navegação à esquerda, selecione Números de telefone.

Configurar o ambiente do aplicativo

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

Criar um aplicativo Java

Abra o terminal ou a janela de comando e navegue até o diretório no qual você deseja criar o seu aplicativo Java. Execute o comando abaixo para gerar o projeto Java a partir do modelo maven-archetype-quickstart.

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

A meta generate cria um diretório com o mesmo nome do valor artifactId. Nesse 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 POM (Modelo de Objeto do Projeto) do projeto.

Instalar o pacote

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

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

Configurar o framework de aplicativos

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

package com.communication.quickstart;

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

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

Modelo de objeto

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

Nome Descrição
SmsClientBuilder Essa classe cria o SmsClient. Ela é fornecida com um ponto de extremidade, uma credencial e um cliente HTTP.
SmsClient Essa classe é necessária para toda a funcionalidade de SMS. Ela é usada para enviar mensagens SMS.
SmsSendOptions Essa classe fornece opções para adicionar marcas personalizadas e configurar o relatório de entrega. Se deliveryReportEnabled for definido como true, um evento será emitido quando a entrega for bem-sucedida.
SmsSendResult Essa classe contém o resultado do serviço de SMS.

Autenticar o cliente

Para autenticar um cliente, crie uma instância de SmsClient com sua cadeia de conexão. Para a credencial, use Key no portal do Azure. Saiba como gerenciar a cadeia de conexão do seu recurso. Também é possível criar uma instância do cliente com qualquer cliente HTTP personalizado que implemente a interface com.azure.core.http.HttpClient.

Para criar uma instância de um cliente, adicione o seguinte código ao método main:

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

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

Também é possível fornecer toda a cadeia de conexão usando a função connectionString em vez de fornecer o ponto de extremidade e a chave de acesso.

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

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

Enviar uma mensagem SMS 1:1

Para enviar uma mensagem SMS para um só destinatário, chame o método send no SmsClient com o número de telefone de um destinatário. Também é possível fornecer parâmetros opcionais para especificar se o relatório de entrega deve ser habilitado e para definir marcas personalizadas.

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

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

Faça estas substituições no código:

  • Substitua <from-phone-number> por um número de telefone habilitado para SMS que esteja associado ao recurso dos Serviços de Comunicação.
  • Substitua <to-phone-number> pelo número de telefone para o qual você gostaria de enviar uma mensagem.

Aviso

Forneça números de telefone no formato padrão internacional E.164, por exemplo, +14255550123. O valor para <from-phone-number> também pode ser um código curto, por exemplo, 23456 ou um ID alfanumérico do remetente, por exemplo, CONTOSO.

Enviar uma mensagem SMS 1:N com opções

Para enviar uma mensagem SMS para uma lista de destinatários, chame o método send com uma lista de números de telefone de destinatários. Também é possível fornecer parâmetros opcionais para especificar se o relatório de entrega deve ser habilitado e para definir marcas personalizadas.

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

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

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

Faça estas substituições no código:

  • Substitua <from-phone-number> por um número de telefone habilitado para SMS que esteja associado ao recurso dos Serviços de Comunicação.
  • Substitua <to-phone-number-1> e <to-phone-number-2> pelos números de telefone para os quais você gostaria de enviar uma mensagem.

Aviso

Forneça números de telefone no formato padrão internacional E.164, por exemplo, +14255550123. O valor para <from-phone-number> também pode ser um código curto, por exemplo, 23456 ou um ID alfanumérico do remetente, por exemplo, CONTOSO.

O método setDeliveryReportEnabled é usado para configurar o relatório de entrega. A funcionalidade é usada para emitir eventos quando mensagens SMS são entregues. Confira o guia de início rápido Manipular eventos de SMS para configurar o relatório de entrega das suas mensagens SMS.

É possível usar o método setTag para aplicar uma marca ao relatório de entrega.

Executar o código

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

    
    mvn compile
    
    
  2. Crie o pacote.

    
    mvn package
    
    
  3. Execute o comando mvn a seguir para executar o aplicativo.

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

Usando o conector de SMS dos Serviços de Comunicação do Azure e os Aplicativos Lógicos do Azure, você pode criar fluxos de trabalho automatizados que podem enviar mensagens SMS. Este guia de início rápido mostra como enviar automaticamente mensagens de texto em resposta a um evento de gatilho, que é a primeira etapa em um fluxo de trabalho de aplicativo lógico. Um evento de gatilho pode ser uma mensagem de email de entrada, uma agenda de recorrência, um evento de recurso da Grade de Eventos do Azure ou qualquer outro gatilho compatível com os Aplicativos Lógicos do Azure.

Captura de tela que mostra o portal do Azure, que está aberto no Designer de Aplicativo Lógico e mostra um exemplo de aplicativo lógico que usa a ação Enviar SMS para o conector dos Serviços de Comunicação do Azure.

Embora este guia de início rápido se concentre no uso do conector para responder a um gatilho, você também pode usar o conector para responder a outras ações, que são as etapas que seguem o gatilho em um fluxo de trabalho. Se não estiver familiarizado com os Aplicativos Lógicos, examine O que são os Aplicativos Lógicos do Azure antes de começar.

Observação

A realização deste início rápido gera um pequeno custo de alguns centavos de dólar ou menos em sua conta do Azure.

Pré-requisitos

Importante

Os recursos de SMS e PSTN dependem do número de telefone que você usa e do país/região no qual você está operando, conforme determinado pelo seu endereço de cobrança do Azure. Para obter mais informações, visite a documentação Qualificação para assinatura.

Adicionar uma ação de SMS

Para adicionar a ação Enviar SMS como uma nova etapa em seu fluxo de trabalho usando o conector de SMS dos Serviços de Comunicação do Azure, siga estas etapas no portal do Azure com o fluxo de trabalho de aplicativo lógico aberto no Designer de Aplicativo Lógico:

  1. No designer, na etapa em que você deseja adicionar a nova ação, selecione Nova etapa. Como alternativa, para adicionar a nova ação entre as etapas, mova o ponteiro sobre a seta entre essas etapas, selecione o sinal de adição ( + ) e selecione Adicionar uma ação.

  2. Na caixa de pesquisa Escolha uma operação, digite Azure Communication Services. Na lista de ações, selecione Enviar SMS.

    Captura de tela que mostra o Designer de Aplicativo Lógico e o conector dos Serviços de Comunicação do Azure com a ação Enviar SMS selecionada.

  3. Agora, crie uma conexão com o recurso de Serviços de Comunicação.

    1. Na mesma assinatura:

      1. Forneça um nome para a conexão.

      2. Selecione um recurso dos Serviços de Comunicação do Azure.

      3. Selecione Criar.

      Captura de tela que mostra a configuração da ação Enviar SMS com informações de exemplo.

    2. Usando a cadeia de conexão do recurso Serviços de Comunicação:

      1. Forneça um nome para a conexão.

      2. Selecione a autenticação ConnectionString entre as opções do menu de seleção.

      3. Insira a cadeia de conexão do recurso Serviços de Comunicação.

      4. Selecione Criar.

      Captura de tela que mostra a configuração de Autenticação da Cadeia de Conexão.

    3. Usando a Entidade de Serviço (Veja Criação de Entidade de Serviço):

      1. Forneça um nome para a conexão.

      2. Selecione a autenticação da entidade de serviço (aplicativo Microsoft Entra) entre as opções do menu de seleção.

      3. Insira a ID do Locatário, a ID do Cliente e o Segredo do Cliente da Entidade de Serviço.

      4. Insira o valor da URL do Ponto de Extremidade dos Serviços de Comunicação do recurso Serviços de Comunicação.

      5. Selecione Criar.

      Captura de tela que mostra a configuração de Autenticação da Entidade de Serviço.

  4. Na ação Enviar SMS, forneça as seguintes informações:

    • Os números de telefone de origem e de destino. Para fins de teste, você pode usar o próprio número de telefone como o número de telefone de destino.

    • O conteúdo da mensagem que você deseja enviar, por exemplo, "Olá dos Aplicativos Lógicos!".

    Esta é uma ação Enviar SMS com informações de exemplo:

    Captura de tela que mostra a ação Enviar SMS com informações de exemplo.

  5. Quando terminar, selecione Salvar na barra de ferramentas do designer.

Agora, execute o fluxo de trabalho para o teste.

Testar seu fluxo de trabalho

Para executar manualmente o fluxo de trabalho, selecione Executar na barra de ferramentas do designer. Ou, então, aguarde até que o gatilho seja acionado. Em ambos os casos, o fluxo de trabalho deverá enviar uma mensagem SMS para o número de telefone de destino especificado. Para obter mais informações, examine como executar seu fluxo de trabalho.

Limpar os recursos do fluxo de trabalho

Para limpar o fluxo de trabalho do aplicativo lógico e os recursos relacionados, examine como limpar os recursos dos Aplicativos Lógicos.

Solução de problemas

Para solucionar problemas relacionados à entrega de SMS, você pode habilitar o relatório de entrega com a Grade de Eventos para capturar os detalhes da entrega.

Limpar os recursos

Se quiser limpar e remover uma assinatura dos Serviços de Comunicação, exclua o recurso ou o grupo de recursos. Excluir o grupo de recursos também exclui todos os recursos associados a ele. Saiba mais sobre como limpar recursos.

Verificação por chamada gratuita

Para usar um novo número gratuito para enviar mensagens SMS, é necessário finalizar o processo de verificação de número gratuito. Para mais diretrizes sobre como realizar a verificação do seu número gratuito, confira o Guia de início rápido para enviar uma verificação de número gratuito. Apenas números gratuitos totalmente verificados estão autorizados a enviar tráfego de SMS. Qualquer tráfego de SMS de números gratuitos não verificados direcionados aos números de telefone dos EUA e do Canada será bloqueado.

Próximas etapas

Neste início rápido, você aprendeu a enviar mensagens SMS usando os Serviços de Comunicação do Azure.