Поделиться через


Отправка SMS-сообщения

Внимание

Возможности SMS зависят от используемого номера телефона и страны или региона, в которых вы работаете, что определяется адресом выставления счетов Azure. Дополнительные сведения см. в разделе "Доступ к подписке".


Начало работы с Службы коммуникации Azure с помощью модуля коммуникации в Azure CLI для отправки SMS-сообщений.

Завершение этой статьи обойдется вам в небольшую стоимость — несколько центов США или даже меньше в вашей учетной записи Azure.

Предварительные условия

Проверка предварительных условий

  • В окне терминала или командной строки выполните команду az --version , чтобы проверить, установлен ли Azure CLI.

Настройка

Установка модуля коммуникации

Чтобы установить модуль связи, выполните следующую команду в окне терминала или командной строки.

az extension add --name communication

Вход в Azure CLI

Вам нужно войти в Azure CLI. Вы можете войти, выполнив команду az login в терминале и введя свои учетные данные.

Убедитесь, что вы используете правильную подписку

Если у вас несколько подписок в учетной записи, убедитесь, что вы используете правильную для этого руководства.

В окне терминала или командной строки выполните следующую команду, чтобы проверить текущую подписку.

az account show

Если вам нужно изменить подписку, это можно сделать, выполнив следующую команду.

az account set --subscription "<yourSubscriptionId>"

Вам нужно заменить <yourSubscriptionId> на фактический идентификатор подписки, который можно найти в разделе "Подписки" в портале Azure.

(Необязательно) Используйте операции СМС Azure-CLI без передачи строки подключения

Вы можете настроить AZURE_COMMUNICATION_CONNECTION_STRING переменную среды для использования операции Azure CLI SMS без необходимости --connection_string передавать строку подключения. Чтобы настроить переменную среды, откройте окно консоли и выберите операционную систему на следующих вкладках. Замените <yourConnectionString> фактической строкой подключения.

Откройте окно консоли и введите следующую команду:

setx AZURE_COMMUNICATION_CONNECTION_STRING "<yourConnectionString>"

После добавления переменной среды может потребоваться перезапустить все запущенные приложения, которым может понадобиться считать переменную среды, в том числе окно консоли. Например, если вы используете Visual Studio в качестве редактора, перезапустите Visual Studio перед запуском примера.

Операции

Отправка личного текстового сообщения

Чтобы отправить SMS-сообщение одному получателю, вызовите send метод из модуля SMS с одним номером телефона получателя.

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

Выполните следующие замены в коде:

  • Замените <fromPhoneNumber> номер телефона с поддержкой SMS, связанный с ресурсом Служб коммуникации.
  • Замените <toPhoneNumber> номер телефона, на который вы хотите отправить сообщение.
  • Замените <yourConnectionString> на строку подключения.

Предупреждение

Укажите номера телефонов в международном формате E.164( например, +14255550123). Значение <fromPhoneNumber> также может быть коротким кодом, например 23456 или буквенно-цифровым идентификатором отправителя, например CONTOSO.

Отправка 1:N текстового сообщения

Чтобы отправить SMS-сообщение в список получателей, вызовите send метод из модуля SMS с несколькими номерами телефонов получателя.

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

Выполните следующие замены в коде:

  • Замените <fromPhoneNumber> номер телефона с поддержкой SMS, связанный с ресурсом Служб коммуникации.
  • Замените <toPhoneNumberN> на N-й номер телефона, на который вы хотите отправить сообщение.
  • Замените <yourConnectionString> на строку подключения.

Предупреждение

Укажите номера телефонов в международном стандартном формате E.164, например +14255550123. Значение <fromPhoneNumber> также может быть коротким кодом, например 23456 или буквенно-цифровым идентификатором отправителя, например CONTOSO.

Начиная использовать Службы коммуникации Azure, воспользуйтесь SDK для SMS на C# для отправки SMS-сообщений.

Завершение этой статьи обойдется вам в небольшую стоимость — несколько центов США или даже меньше в вашей учетной записи Azure.

Примечание.

См. завершенный код в Azure Samples GitHub Отправить SMS-сообщение с помощью .NET.

Предварительные условия

Проверка предварительных условий

  • В окне терминала или командном окне выполните команду dotnet, чтобы проверить, установлен ли пакет SDK для .NET.
  • Чтобы просмотреть номера телефонов, связанные с ресурсом Служб коммуникации, войдите в портал Azure и найдите ресурс Служб коммуникации. В области навигации слева выберите номера телефонов.

Настройка среды приложения

Чтобы настроить среду для отправки сообщений, выполните действия, описанные в следующих разделах.

Создание нового приложения C#

  1. В окне консоли (cmd, PowerShell или Bash) выполните команду dotnet new, чтобы создать консольное приложение с именем SmsQuickstart. Эта команда создает простой проект "Hello World" на языке C# с одним файлом исходного кода Program.cs.

    dotnet new console -o SmsQuickstart
    
  2. Измените каталог на только что созданную папку приложения и выполните команду dotnet build, чтобы скомпилировать приложение.

    cd SmsQuickstart
    dotnet build
    

Установка пакета

  1. Находясь в каталоге приложения, установите пакет SDK для отправки SMS через Службы коммуникации Azure для .NET, используя следующую команду.

    dotnet add package Azure.Communication.Sms --version 1.0.0
    
  2. Добавьте директиву using в начало Program.cs, чтобы включить пространство имен Azure.Communication.

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

Объектная модель

Следующие классы и интерфейсы реализуют некоторые основные возможности SDK для службы SMS Azure Communication Services для C#.

Имя Описание
SmsClient Этот класс требуется для реализации всех функций обмена текстовыми сообщениями. Вы создаёте экземпляр с использованием информации о вашей подписке и используете его для отправки SMS-сообщений.
Опции отправки SMS Этот класс предоставляет параметры настройки отчетов о доставке. Если enable_delivery_report имеет значение True, событие создается при успешной доставке.
РезультатОтправкиСМС Этот класс содержит результат, полученный от службы SMS.

аутентификация клиента;

Откройте Program.cs в текстовом редакторе и замените текст метода Main кодом, чтобы инициализировать SmsClient с помощью строки подключения. Следующий код извлекает строку подключения к ресурсу из переменной среды с именем COMMUNICATION_SERVICES_CONNECTION_STRING. Узнайте, как управлять строкой подключения ресурса.

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

SmsClient smsClient = new SmsClient(connectionString);

Отправка личного текстового сообщения

Чтобы отправить текстовое сообщение одному получателю, вызовите функцию Send или SendAsync из SmsClient. Добавьте этот код в конец Main метода в 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}");

Выполните следующие замены в коде:

  • Замените <from-phone-number> номер телефона с поддержкой SMS, связанный с ресурсом Служб коммуникации.
  • Замените <to-phone-number> номер телефона, на который вы хотите отправить сообщение.

Предупреждение

Укажите номера телефонов в международном стандартном формате E.164, например +14255550123. Значение <from-phone-number> также может быть коротким кодом, например 23456 или буквенно-цифровым идентификатором отправителя, например CONTOSO.

Отправка SMS сообщения типа 1:N с параметрами

Чтобы отправить SMS-сообщение в список получателей, вызовите Send или SendAsync функцию из SmsClient со списком номеров телефонов получателя. Кроме того, можно указать, следует ли включить отчет о доставке и задать пользовательские теги.

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

Выполните следующие замены в коде:

  • Замените <from-phone-number> номер телефона с поддержкой SMS, связанный с ресурсом Служб коммуникации.
  • Замените <to-phone-number-1> и <to-phone-number-2> на номера телефонов, на которые вы хотите отправить сообщение.

Предупреждение

Укажите номера телефонов в международном стандартном формате E.164, например +14255550123. Значение <from-phone-number> также может быть коротким кодом, например 23456 или буквенно-цифровым идентификатором отправителя, например CONTOSO.

Этот enableDeliveryReport параметр является необязательным параметром, который можно использовать для настройки отчетов о доставке. Эта функция полезна, если вы хотите выдавать события при доставке SMS-сообщений. В кратком руководстве по обработке SMS-событий можно настроить отчеты о доставке sms-сообщений.

Вы можете использовать параметр Tag для применения тега к отчету о доставке.

Выполнение кода

Запустите приложение из каталога приложения с помощью команды dotnet run.

dotnet run

Пример кода

Скачайте пример приложения из Azure Samples GitHub Отправить SMS-сообщение с помощью .NET.

Начните работу со службами коммуникации Azure, используя JavaScript SDK для SMS из Communication Services для отправки SMS-сообщений.

Завершение этой статьи обойдется вам в небольшую стоимость — несколько центов США или даже меньше в вашей учетной записи Azure.

Примечание.

См. завершенный код Azure Samples GitHub Send an SMS message using JavaScript.

Предварительные условия

Проверка предварительных условий

  • В терминале или командном окне воспользуйтесь node --version, чтобы проверить, установлен ли пакет Node.js.
  • Чтобы просмотреть номера телефонов, связанные с ресурсом Служб коммуникации, войдите в портал Azure и найдите ресурс Служб коммуникации. В области навигации слева выберите номера телефонов.

Настройка среды приложения

Чтобы настроить среду для отправки сообщений, выполните действия, описанные в следующих разделах.

Создание нового приложения Node.js

  1. Откройте терминал или командное окно, а затем выполните следующую команду, чтобы создать каталог для приложения и перейти к нему.

    mkdir sms-quickstart && cd sms-quickstart
    
  2. Выполните следующую команду, чтобы создать файл package.json с параметрами по умолчанию.

    npm init -y
    
  3. Используйте текстовый редактор, чтобы создать файл с именем send-sms.js в корневом каталоге проекта.

В следующих разделах добавьте весь исходный код для этого быстрого старта в файл send-sms.js, который вы создали.

Установка пакета

Используйте команду npm install, чтобы установить пакет SDK Служб коммуникации Azure для SMS для JavaScript.

npm install @azure/communication-sms --save

Параметр --save указывает библиотеку как зависимость в файле пакета package.json.

Объектная модель

Следующие классы и интерфейсы обрабатывают некоторые основные возможности SDK для SMS в Службах коммуникации Azure для Node.js.

Имя Описание
SmsClient Этот класс требуется для реализации всех функций обмена текстовыми сообщениями. Вы создаёте экземпляр с использованием информации о вашей подписке и используете его для отправки SMS-сообщений.
Запрос на отправку SMS Этот интерфейс является моделью для создания SMS-запроса. Вы используете его для настройки номеров телефонов и SMS-содержимого.
Опции отправки SMS Этот интерфейс предоставляет параметры настройки отчетов о доставке. Если enableDeliveryReport установлено в true, событие генерируется при успешной доставке.
РезультатОтправкиСМС Этот класс содержит результат, полученный от службы SMS.

аутентификация клиента;

Чтобы выполнить проверку подлинности клиента, вы импортируете SmsClient из комплекта SDK и создаете экземпляр с помощью строки подключения. Вы можете получить строку подключения для ресурса из переменной среды. Например, код в этом разделе извлекает эту строку подключения из переменной COMMUNICATION_SERVICES_CONNECTION_STRING среды. Узнайте, как управлять строкой подключения ресурса.

Чтобы импортировать клиент и создать его экземпляр, выполните следующие действия.

  1. Создайте файл с именем send-sms.js.

  2. Добавьте следующий код в 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);

Отправка 1:N текстового сообщения

Чтобы отправить SMS-сообщение в список получателей, вызовите send функцию из SmsClient со списком номеров телефонов получателя. Если вы хотите отправить сообщение одному получателю, добавьте в список только один номер. Добавьте следующий код в конец файла 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();

Выполните следующие замены в коде:

  • Замените <from-phone-number> номер телефона с поддержкой SMS, связанный с ресурсом Служб коммуникации.
  • Замените <to-phone-number-1> и <to-phone-number-2> на номера телефонов, на которые вы хотите отправить сообщение.

Предупреждение

Укажите номера телефонов в международном формате E.164( например, +14255550123). Значение <from-phone-number> также может быть коротким кодом, например 23456 или буквенно-цифровым идентификатором отправителя, например CONTOSO.

Отправка SMS сообщения типа 1:N с параметрами

Можно также указать объект параметров, чтобы указать, следует ли включить отчет о доставке и задать пользовательские теги.


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

Выполните следующие замены в коде:

  • Замените <from-phone-number> номер телефона с поддержкой SMS, связанный с ресурсом Служб коммуникации.
  • Замените <to-phone-number-1> и <to-phone-number-2> на номера телефонов, на которые вы хотите отправить сообщение.

Предупреждение

Укажите номера телефонов в международном формате E.164( например, +14255550123). Значение <from-phone-number> также может быть коротким кодом, например 23456 или буквенно-цифровым идентификатором отправителя, например CONTOSO.

Этот enableDeliveryReport параметр является необязательным параметром, который можно использовать для настройки отчетов о доставке. Эта функция полезна, если вы хотите выдавать события при доставке SMS-сообщений. В кратком руководстве по обработке SMS-событий можно настроить отчеты о доставке sms-сообщений. Параметр tag является необязательным. Его можно использовать для применения тега к отчету о доставке.

Выполнение кода

node Используйте команду, чтобы запустить код, добавленный в файл send-sms.js.


node ./send-sms.js

Начните работу с Azure Communication Services, используя Python SDK для SMS от Azure Communication Services, чтобы отправлять SMS-сообщения.

Выполнение этого краткого руководства влечёт за собой небольшую плату в несколько центов США в вашей учетной записи Azure.

Примечание.

Полный код для этой статьи см. в репозитории GitHub Azure Samples Управление телефонными номерами с помощью Python.

Предварительные условия

Проверка предварительных условий

  • В окне терминала или команды выполните команду python --version, чтобы проверить, установлен ли пакет Python.
  • Чтобы просмотреть номера телефонов, связанные с ресурсом Служб коммуникации, войдите в портал Azure и найдите ресурс Служб коммуникации. В области навигации слева выберите номера телефонов.

Настройка среды приложения

Чтобы настроить среду для отправки сообщений, выполните следующие разделы.

Создание приложения Python

  1. Откройте терминал или командное окно. Используйте следующую команду, чтобы создать новый каталог для приложения и перейти к нему.

    mkdir sms-quickstart && cd sms-quickstart
    
  2. Используйте текстовый редактор, чтобы создать файл с именем send-sms.py в корневом каталоге проекта и добавить структуру для программы, включая базовую обработку исключений.

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

В следующих разделах добавьте весь исходный код этого краткого руководства в файл send-sms.py, который вы создали.

Установка пакета

Оставаясь в каталоге приложения, установите Azure Communication Services SMS SDK для Python с помощью следующей команды.

pip install azure-communication-sms

Объектная модель

Следующие классы и интерфейсы обрабатывают некоторые из основных функций пакета Azure Communication Services SMS SDK для Python.

Имя Описание
SmsClient Этот класс требуется для реализации всех функций обмена текстовыми сообщениями. Создайте экземпляр с информацией о подписке и используйте ее для отправки SMS-сообщений.
РезультатОтправкиСМС Этот класс содержит результат, полученный от службы SMS.

аутентификация клиента;

Создайте экземпляр SmsClient с использованием строки подключения. Узнайте, как управлять строкой подключения ресурса.

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

Для простоты в этом кратком руководстве используются строки подключения, но в рабочих средах рекомендуется использовать служебные принципалы.

Отправка личного текстового сообщения

Чтобы отправить текстовое сообщение одному получателю, вызовите метод send из SmsClient с номером телефона этого получателя. Кроме того, можно указать, следует ли включить отчет о доставке и задать пользовательские теги. Добавьте этот код в конец try блока в 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

Выполните следующие замены в коде:

  • Замените <from-phone-number> номер телефона с поддержкой SMS, связанный со службой коммуникации.
  • Замените <to-phone-number> номер телефона, на который вы хотите отправить сообщение.

Предупреждение

Укажите номера телефонов в международном формате E.164( например, +14255550123). Значение <from-phone-number> также может быть коротким кодом, например 23456 или буквенно-цифровым идентификатором отправителя, например CONTOSO.

Отправка 1:N текстового сообщения

Чтобы отправить SMS-сообщение в список получателей, вызовите send метод из SmsClient со списком номеров телефонов получателя. Кроме того, можно указать, следует ли включить отчет о доставке и задать пользовательские теги. Добавьте этот код в конец try блока в 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

Выполните следующие замены в коде:

  • Замените <from-phone-number> номер телефона с поддержкой SMS, связанный со службой коммуникации.
  • Замените <to-phone-number-1> и <to-phone-number-2> на номера телефонов, на которые вы хотите отправить сообщение.

Предупреждение

Укажите номера телефонов в международном стандартном формате E.164, например +14255550123. Значение <from-phone-number> также может быть коротким кодом, например 23456 или буквенно-цифровым идентификатором отправителя, например CONTOSO.

Необязательные параметры

Этот enable_delivery_report параметр является необязательным параметром, который можно использовать для настройки отчетов о доставке. Используйте эту функцию, если вы хотите выдавать события при доставке SMS-сообщений. Сведения о настройке отчетов о доставке sms-сообщений см. в разделе "Обработка SMS-событий ".

Этот tag параметр является необязательным параметром, который можно использовать для применения тега к отчету о доставке.

Выполнение кода

Запустите приложение из каталога приложения с помощью команды python.

python send-sms.py

Полный скрипт Python должен выглядеть примерно так:


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)

Приступайте к работе со Службами коммуникации Azure, используя Java SDK для SMS, чтобы отправлять SMS-сообщения.

Завершение этой статьи обойдется вам в небольшую стоимость — несколько центов США или даже меньше в вашей учетной записи Azure.

Примечание.

См. завершенный код Azure Samples GitHub Send an SMS message using Java.

Предварительные условия

Проверка предварительных условий

  • В окне терминала или командной строки выполните команду mvn -v , чтобы проверить, установлен ли Maven.
  • Чтобы просмотреть номера телефонов, связанные с ресурсом Служб коммуникации, войдите в портал Azure и найдите ресурс Служб коммуникации. В области навигации слева выберите номера телефонов.

Настройка среды приложения

Чтобы настроить среду для отправки сообщений, выполните следующие разделы.

Создание нового приложения Java

Откройте терминал или командное окно и перейдите в каталог, в котором нужно создать приложение Java. Чтобы создать проект Java из шаблона maven-archetype-quickstart, выполните следующую команду.

  • Командная строка
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"

Цель generate создает каталог с тем же именем, что и значение artifactId. В этом каталоге каталог src/main/java содержит исходный код проекта, каталог src/test/java содержит источник теста, а файл pom.xml — объектную модель проекта проекта (POM).

Установка пакета

Откройте файл pom.xml в текстовом редакторе. Добавьте приведенный ниже элемент зависимости в группу зависимостей.

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

Настройка платформы приложения

Откройте /src/main/java/com/communication/quickstart/App.java в текстовом редакторе, добавьте директивы импорта и удалите инструкцию 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.
    }
}

Объектная модель

Следующие классы и интерфейсы обрабатывают некоторые из основных функций Java SDK для служб связи Azure Communication Services SMS.

Имя Описание
SmsClientBuilder Этот класс создает SmsClient. Вы предоставляете конечную точку, учетные данные и HTTP-клиент.
SmsClient Этот класс требуется для реализации всех функций обмена текстовыми сообщениями. Он используется для отправки SMS-сообщений.
Опции отправки SMS Этот класс предоставляет варианты для добавления пользовательских тегов и настройки отчетов о доставке. Если для deliveryReportEnabled задано значение true, событие создается при успешной доставке.
РезультатОтправкиСМС Этот класс содержит результат, полученный от службы SMS.

аутентификация клиента;

Чтобы выполнить проверку подлинности клиента, создайте экземпляр SmsClient с использованием строки подключения. Для учетных данных используйте Key из портала Azure. Узнайте, как управлять строкой подключения ресурса. Вы также можете инициализировать клиент с помощью любого пользовательского HTTP-клиента, реализующего com.azure.core.http.HttpClient интерфейс.

Чтобы создать экземпляр клиента, добавьте следующий код в 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();

Вы также можете предоставить всю строку подключения, используя функцию connectionString вместо указания конечной точки и ключа доступа.

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

Отправка личного текстового сообщения

Чтобы отправить текстовое сообщение одному получателю, вызовите метод send из SmsClient с номером телефона этого получателя. Кроме того, можно указать, следует ли включить отчет о доставке и задать пользовательские теги.

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

Выполните следующие замены в коде:

  • Замените <from-phone-number> номер телефона с поддержкой SMS, связанный с ресурсом Служб коммуникации.
  • Замените <to-phone-number> номер телефона, на который вы хотите отправить сообщение.

Предупреждение

Укажите номера телефонов в международном стандартном формате E.164, например +14255550123. Значение <from-phone-number> также может быть коротким кодом, например 23456 или буквенно-цифровым идентификатором отправителя, например CONTOSO.

Отправка SMS сообщения типа 1:N с параметрами

Чтобы отправить текстовое сообщение списку получателей, вызовите метод send со списком номеров телефонов нужных получателей. Кроме того, можно указать, следует ли включить отчет о доставке и задать пользовательские теги.

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

Выполните следующие замены в коде:

  • Замените <from-phone-number> номер телефона с поддержкой SMS, связанный с ресурсом Служб коммуникации
  • Замените <to-phone-number-1> и <to-phone-number-2> на номера телефонов, на которые вы хотите отправить сообщение.

Предупреждение

Укажите номера телефонов в международном формате E.164( например, +14255550123). Значение <from-phone-number> также может быть коротким кодом, например 23456 или буквенно-цифровым идентификатором отправителя, например CONTOSO.

Этот setDeliveryReportEnabled метод используется для настройки отчетов о доставке. Эта функция полезна, если вы хотите выдавать события при доставке SMS-сообщений. В кратком руководстве по обработке SMS-событий можно настроить отчеты о доставке sms-сообщений.

Чтобы применить тег к отчету о доставке, используйте метод setTag.

Выполнение кода

  1. Перейдите в каталог, содержащий файл pom.xml и скомпилируйте проект с помощью mvn команды.

    
    mvn compile
    
    
  2. Создайте пакет.

    
    mvn package
    
    
  3. Выполните следующую команду mvn для запуска приложения.

    • Командная строка
    
    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"
    

Используйте соединитель SMS служб коммуникации Azure и Azure Logic Apps для создания автоматизированных рабочих процессов, которые могут отправлять SMS-сообщения.

В этой статье описывается, как автоматически отправлять текстовые сообщения в ответ на событие триггера, которое является первым шагом в рабочем процессе приложения логики. Событие триггера может быть входящим сообщением электронной почты, расписанием повторения, событием ресурса сетки событий Azure или любым другим триггером, поддерживаемым Azure Logic Apps.

Снимок экрана: портал Azure, открытый для конструктора приложений логики. На портале Azure показан пример приложения логики, использующего действие отправки SMS для соединителя Служб коммуникации Azure.

Хотя в этой статье основное внимание уделяется использованию соединителя для реагирования на триггер, вы также можете использовать соединитель для реагирования на другие действия, которые следуют за триггером в рабочем процессе. Если вы не знакомы с Logic Apps, ознакомьтесь с разделом "Что такое Azure Logic Apps перед началом работы".

Примечание.

Завершение этой статьи обойдется вам в небольшую стоимость — несколько центов США или даже меньше в вашей учетной записи Azure.

Предварительные условия

Внимание

Возможности SMS и ТСОП зависят от используемого номера телефона и страны или региона, в которых вы работаете, определяемых вашим адресом выставления счетов Azure. Дополнительные сведения см. в документации по условиям подписки.

Добавление действия с SMS

Чтобы добавить с помощью соединителя SMS Служб коммуникации Azure действие Отправить SMS в качестве нового шага рабочего процесса, выполните следующие действия на портале Azure с помощью рабочего процесса приложения логики, открытого в конструкторе приложений логики:

  1. В конструкторе в шаге, где вы хотите добавить новое действие, выберите Создать шаг. Если же необходимо добавить новое действие между шагами, наведите указатель мыши на стрелку между этими шагами, щелкните знак "плюс" (+) и выберите Добавить действие.

  2. В поле поиска Выберите операцию введите Azure Communication Services. В списке действия выберите Отправить SMS.

    Снимок экрана, на котором показан конструктор приложений логики и соединитель Службы коммуникации Azure с выбранным действием

  3. Теперь создайте подключение к ресурсу Служб коммуникации.

    1. В той же подписке:

      1. Укажите имя подключения.

      2. Выберите ресурс Служб коммуникации Azure.

      3. Нажмите кнопку создания.

      Снимок экрана, на котором показана конфигурация действия

    2. Использование строки подключения из ресурса Служб коммуникации:

      1. Укажите имя подключения.

      2. Выберите "Проверка подлинности ConnectionString" в раскрывающемся списке.

      3. Введите строку подключения ресурса Служб коммуникации.

      4. Нажмите кнопку создания.

      Снимок экрана: конфигурация аутентификации строки подключения.

    3. Использование субъекта-службы (см. "Создание субъекта-службы"):

      1. Укажите имя подключения.

      2. Выберите аутентификацию служебного участника (приложение Microsoft Entra) в раскрывающемся списке.

      3. Введите идентификатор арендатора, идентификатор клиента и секрет клиента субъекта-службы.

      4. Введите значение URL-адреса конечной точки Служб коммуникации для ресурса Служб коммуникации.

      5. Нажмите кнопку создания.

      Снимок экрана, показывающий конфигурацию аутентификации Субъекта Службы.

  4. В области действия Отправить SMS введите следующие сведения:

    • Исходный и конечный номера телефонов. В целях тестирования в качестве конечного номера телефона можно использовать собственный номер телефона.

    • Содержимое сообщения, которое необходимо отправить, например "Привет от Logic Apps!".

    Ниже показано действие Отправить SMS с примерами сведений.

    Снимок экрана, на котором показано действие

  5. По завершении на панели инструментов конструктора выберите Сохранить.

Затем запустите рабочий процесс для тестирования.

Тестирование рабочего процесса

Чтобы вручную запустить рабочий процесс, на панели инструментов конструктора щелкните Запустить. Также можно подождать срабатывания триггера. В обоих случаях рабочий процесс должен отправить сообщение SMS на указанный конечный телефонный номер. Дополнительные сведения см. в статье о запуске рабочих процессов.

Очистка ресурсов рабочего процесса

Чтобы очистить рабочий процесс Logic Apps и связанные с ним ресурсы, ознакомьтесь с инструкцией по очистке ресурсов Logic Apps.

Устранение неполадок

Для устранения проблем, связанных с доставкой текстовых сообщений, вы можете включить отчеты о доставке в Сетке событий, чтобы сохранять сведения о доставке.

Очистка ресурсов

Если вы хотите отменить и удалить подписку на Службы коммуникации, можно удалить ресурс или группу ресурсов. При удалении группы ресурсов также удаляются все связанные с ней ресурсы. См. сведения об очистке ресурсов.

Бесплатная верификация

Чтобы использовать новый бесплатный номер для отправки SMS-сообщений, необходимо выполнить бесплатный процесс проверки. Чтобы ознакомиться с инструкциями по проверке вашего бесплатного номера, см. в кратком руководстве по отправке запроса на бесплатную проверку. Только полностью проверенные бесплатные номера разрешены для отправки SMS-трафика. Любой SMS-трафик из непроверенных бесплатных (toll-free) номеров, направленных на номера телефонов в США и Канаде, блокируется.

Следующие шаги

В этой статье описано, как отправлять SMS-сообщения с помощью Служб коммуникации Azure.