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


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

Внимание

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

Примечание.

Поделитесь своими мыслями и отзывами о Службы коммуникации 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 "<yourSubcriptionId>"

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

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

Вы можете настроить AZURE_COMMUNICATION_CONNECTION_STRING переменную среды для использования операций SMS Azure CLI без необходимости --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.

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

Чтобы отправить 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'th, в который вы хотите отправить сообщение.
  • Замените <yourConnectionString> строка подключения.

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

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

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

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

Примечание.

Итоговый код для этого краткого руководства можно найти на сайте GitHub.

Необходимые компоненты

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

  • В окне терминала или командном окне выполните команду 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 Службы коммуникации Azure SMS для пакета .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 Служб коммуникации для C#.

Имя Описание
SmsClient Этот класс требуется для реализации всех функций обмена текстовыми сообщениями. Его экземпляр можно создать на основе сведений о подписке и использовать для отправки SMS.
SmsSendOptions Этот класс предоставляет параметры настройки отчетов о доставке. Если enable_delivery_report имеет значение True, событие создается при успешной доставке.
SmsSendResult Этот класс содержит результат, полученный от службы 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-сообщение в список получателей, вызовите 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

Пример кода

Пример приложения можно загрузить в репозитории GitHub.

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

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

Примечание.

Итоговый код для этого краткого руководства можно найти на сайте GitHub.

Необходимые компоненты

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

  • В терминале или командном окне воспользуйтесь 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 Служб коммуникации для Node.js.

Имя Описание
SmsClient Этот класс требуется для реализации всех функций обмена текстовыми сообщениями. Его экземпляр можно создать на основе сведений о подписке и использовать для отправки SMS.
SmsSendRequest Этот интерфейс является моделью для создания SMS-запроса. Вы используете его для настройки номеров телефонов и SMS-содержимого.
SmsSendOptions Этот интерфейс предоставляет параметры настройки отчетов о доставке. Если enableDeliveryReport задано значение true, событие создается при успешной доставке.
SmsSendResult Этот класс содержит результат, полученный от службы 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);

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

Чтобы отправить 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.

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

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


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 с помощью пакета SDK для SMS Служб коммуникации Azure для Python для отправки SMS-сообщений.

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

Примечание.

Итоговый код для этого краткого руководства можно найти на сайте GitHub.

Необходимые компоненты

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

  • В окне терминала или команды выполните команду 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 .

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

В каталоге приложений установите пакет SDK Службы коммуникации Azure SMS для пакета Python с помощью следующей команды.

pip install azure-communication-sms

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

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

Имя Описание
SmsClient Этот класс требуется для реализации всех функций обмена текстовыми сообщениями. Его экземпляр можно создать на основе сведений о подписке и использовать для отправки SMS.
SmsSendResult Этот класс содержит результат, полученный от службы 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.

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

Чтобы отправить 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 с помощью пакета SDK для SMS Служб коммуникации Azure для Java для отправки SMS-сообщений.

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

Примечание.

Итоговый код для этого краткого руководства можно найти на сайте GitHub.

Необходимые компоненты

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

  • В окне терминала или командной строки выполните команду 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.
    }
}

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

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

Имя Описание
SmsClientBuilder Этот класс создает SmsClient. Вы предоставляете конечную точку, учетные данные и HTTP-клиент.
SmsClient Этот класс требуется для реализации всех функций обмена текстовыми сообщениями. Он используется для отправки SMS-сообщений.
SmsSendOptions Этот класс предоставляет варианты для добавления пользовательских тегов и настройки отчетов о доставке. Если для deliveryReportEnabled задано значение true, событие создается при успешной доставке.
SmsSendResult Этот класс содержит результат, полученный от службы 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.

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

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

Хотя в этом кратком руководстве основное внимание уделяется использованию соединителя для реагирования именно на триггер, его можно также применять для реагирования на другие действия, которые являются этапами, выполняемыми при срабатывании триггера в рабочем процессе. Если вы не знакомы с возможностями 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 от ресурсов.

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

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

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

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

Бесплатная проверка

Чтобы использовать новый бесплатный номер для отправки SMS-сообщений, необходимо пройти бесплатный процесс проверки. Инструкции по выполнению проверки бесплатного номера см. в кратком руководстве по отправке бесплатной проверки. Обратите внимание, что только бесплатные номера, которые были полностью проверены, разрешены для отправки SMS-трафика. Любой SMS-трафик с непроверенных бесплатных номеров, направленных на номера телефонов США и ЦС, будет заблокирован.

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

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