Клиентская библиотека Azure Communication SMS для JavaScript версии 1.1.0
Службы Azure Communication SMS предоставляют разработчикам возможность отправлять SMS-сообщения с номера телефона, который можно приобрести через Службы коммуникации.
Начало работы
Предварительные требования
- Подписка Azure.
- Существующий ресурс Служб коммуникации. Если необходимо создать ресурс, можно использовать портал Azure, Azure PowerShell или Azure CLI.
- Номер телефона, назначенный ресурсу Служб коммуникации. Инструкции по добавлению номера телефона в ресурс Служб коммуникации см. в этой статье.
Установка
npm install @azure/communication-sms
Как получить номер телефона
Номера телефонов можно получить и назначить ресурсу Служб коммуникации на портале Azure. Инструкции по получении номера телефона с помощью портала Azure можно найти здесь.
Вы также можете получить номер телефона с помощью @azure/communication-phone-numbers
пакета. Инструкции по использованию пакета можно найти в файле сведений пакета.
Поддержка браузеров
Пакет JavaScript
Чтобы использовать эту клиентную библиотеку в браузере, сначала необходимо использовать средство пакетной установки. Дополнительные сведения о том, как это сделать, см. в документации по объединениям.
Основные понятия
SmsClient
SmsClient
— это основной интерфейс для разработчиков, использующих эту клиентную библиотеку. Он предоставляет асинхронный метод для отправки SMS-сообщений.
Примеры
Аутентификация
Ключ и (или) строка подключения можно получить из ресурса Служб коммуникации на портале Azure. Получив ключ, вы можете выполнить проверку подлинности с помощью любого из следующих методов:
Использование строка подключения
import { SmsClient } from "@azure/communication-sms";
const connectionString = `endpoint=https://<resource-name>.communication.azure.com/;accessKey=<Base64-Encoded-Key>`;
const client = new SmsClient(connectionString);
Создание учетных данных с помощью AzureKeyCredential
import { AzureKeyCredential } from "@azure/core-auth";
import { SmsClient } from "@azure/communication-sms";
const endpoint = "https://<resource-name>.communication.azure.com";
const credential = new AzureKeyCredential("<Base64-Encoded-Key>");
const client = new SmsClient(endpoint, credential);
Использование управляемого удостоверения Azure Active Directory
Проверка подлинности с помощью ключа API клиента используется в большинстве примеров, но вы также можете пройти проверку подлинности в Azure Active Directory с помощью библиотеки удостоверений Azure. Чтобы использовать поставщик DefaultAzureCredential, показанный ниже, или другие поставщики учетных данных, предоставляемые вместе с пакетом AZURE SDK, установите @azure/identity
пакет :
npm install @azure/identity
Пакет @azure/identity
предоставляет различные типы учетных данных, которые приложение может использовать для этого. Файл сведений для @azure/identity содержит дополнительные сведения и примеры для начала работы.
AZURE_CLIENT_SECRET, AZURE_CLIENT_ID и AZURE_TENANT_ID переменные среды необходимы для создания объекта DefaultAzureCredential.
import { DefaultAzureCredential } from "@azure/identity";
import { SmsClient } from "@azure/communication-sms";
const endpoint = "https://<resource-name>.communication.azure.com";
let credential = new DefaultAzureCredential();
const client = new SmsClient(endpoint, credential);
Отправка группового текстового сообщения
Чтобы отправить SMS-сообщение, вызовите функцию send
из SmsClient
. Необходимо передать SmsSendRequest
объект .
Можно также добавить объект параметров pass, чтобы указать, следует ли включить отчет о доставке, и задать настраиваемые теги для отчета.
Возвращается массив SmsSendResult
. Флаг successful
используется для проверки успешности отправки каждого отдельного сообщения.
const sendResults = await client.send(
{
from: "<from-phone-number>", // Your E.164 formatted phone number used to send SMS
to: ["<to-phone-number-1>", "<to-phone-number-2>"], // The list of E.164 formatted phone numbers to which message is being sent
message: "Weekly Promotion!" // The message being sent
},
{
enableDeliveryReport: true,
tag: "marketing"
}
);
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);
}
}
Устранение неполадок
При сбое запроса к серверу при операциях SMS создается исключение.
Исключения не будут создаваться, если ошибка вызвана отдельным сообщением, только в том случае, если что-то завершается сбоем с общим запросом.
Используйте флаг для successful
проверки каждого отдельного результата, чтобы проверить, было ли отправлено сообщение.
try {
const sendResults = await client.send({
from: "<from-phone-number>", // Your E.164 formatted phone number used to send SMS
to: ["<to-phone-number-1>", "<to-phone-number-2>"], // The list of E.164 formatted phone numbers to which message is being sent
message: "Hello World via SMS!" // The message being sent
});
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);
}
}
} catch (e) {
console.error(e.message);
}
Дальнейшие действия
- Подробные примеры использования этой библиотеки см. в каталоге примеров .
- Дополнительные сведения о SMS в Службы коммуникации Azure
- Базовое руководство по настройке отчетов о доставке для SMS-сообщений см. в кратком руководстве По обработке событий SMS.
Участие
Если вы хотите вносить изменения в эту библиотеку, ознакомьтесь с руководством по внесению изменений, в котором содержатся сведения о создании и тестировании кода.
Связанные проекты
Azure SDK for JavaScript