Как отправлять SMS-сообщения с помощью AWS SNS: пошаговое руководство
Введение
AWS SNS (Simple Notification Service) — это инструмент от Amazon Web Services, который помогает отправлять сообщения на телефоны, электронную почту и в приложения. Одно из самых распространённых применений — отправка текстовых сообщений (SMS) на мобильные номера.
Если вы когда-либо получали оповещение от банка или код для входа в счёт, скорее всего, оно было отправлено через систему вроде AWS SNS. Она предназначена для таких событий, как обновления счёта, оповещения об услугах и другие срочные сообщения. Она не предназначена для массового маркетинга, но хорошо подходит для транзакционного и индивидуального общения.
В этом руководстве вы узнаете, как настроить AWS SNS для SMS и отправить своё первое текстовое сообщение. Мы подробно рассмотрим как веб-панель управления, так и простые примеры кода. Независимо от того, являетесь ли вы разработчиком или только начинаете работу, это руководство поможет вам начать.
Что такое AWS SNS?
SNS (Simple Notification Service) — это инструмент обмена сообщениями от Amazon Web Services. Он позволяет отправлять короткие сообщения на телефоны, электронную почту, в приложения и другие системы.
Вы можете использовать AWS SNS для отправки:
- Текстовые сообщения (SMS)
- Сообщения электронной почты
- Push-уведомления в приложениях
- Сообщения между серверами или программным обеспечением
Он хорошо подходит для таких целей, как:
- Коды входа (OTP)
- Сервисные оповещения
- Обновления доставки
- Уведомления приложений
- Сообщения об активности аккаунта
- Маркетинговые тексты (только если пользователи согласились на их получение)
Социальные сети созданы для скорости. Сообщения отправляются практически мгновенно. Вы можете отправить одно сообщение или сразу нескольким людям. Вы можете контролировать, кто, когда и как получает сообщения. Они также поддерживают триггеры, поэтому сообщения могут отправляться автоматически при возникновении каких-либо событий.
Если вам нужно отправлять пользователям короткие и понятные сообщения, AWS SNS — хорошее место для начала.
Когда использовать AWS SNS для SMS
AWS SNS — отличный выбор, когда вам нужно быстро отправлять короткие и важные сообщения. Он отлично подходит для оповещений, сообщений приложений и обновлений, которые пользователи должны видеть быстро.
Если вашей системе требуется отправлять коды входа, обновления заказов или предупреждающие сообщения, SNS с этим справится. Сервис способен отправлять сообщения как по одному, так и нескольким пользователям одновременно.
Социальные сети — не лучший инструмент для массовой рассылки маркетинговых сообщений. Если вы хотите продвигать акции или отправлять рекламу тысячам пользователей, ищите сервис, специально предназначенный для этого, например, IDT Express Engage. Социальные сети предназначены для прямых и быстрых сообщений, а не для кампаний.
Кроме того, правила отправки SMS различаются в каждой стране. В некоторых регионах требуется идентификатор отправителя. В некоторых регионах требуется подтверждение согласия пользователя на получение SMS. Всегда проверяйте местные правила перед отправкой SMS, независимо от используемого вами инструмента.
Социальные сети лучше всего работают, когда важны скорость и своевременность. Они отлично подходят для систем, которым необходимо держать пользователей в курсе событий без задержек.
Предварительные условия AWS SNS
Прежде чем начать отправлять SMS с помощью AWS SNS, необходимо выполнить несколько действий.
Для начала вам понадобится аккаунт AWS. Если у вас его нет, зарегистрируйтесь на сайте aws.amazon.com. Его создание бесплатно, но отправка сообщений может быть платной в зависимости от того, куда вы их отправляете.
В некоторых странах вам также потребуется подтвердить номера телефонов, на которые вы хотите отправлять сообщения. Этот шаг помогает предотвратить спам и соответствует местным правилам.
Далее вам понадобится пользователь IAM. Это просто профиль пользователя в вашей учётной записи AWS с соответствующими разрешениями. Убедитесь, что у этого пользователя есть разрешение на использование социальных сетей. Без него вы не сможете ничего отправлять.
Наконец, вам нужен способ взаимодействия с AWS. Вы можете использовать интерфейс командной строки AWS (CLI) или один из программных пакетов, называемых SDK. Эти инструменты позволяют писать код для подключения к AWS. Среди популярных вариантов — Python (с Boto3), Node.js и Java.
Когда все это будет готово, вы можете приступить к отправке своего первого SMS-сообщения.
Пошаговое руководство: отправка SMS с помощью консоли AWS SNS
1. Войдите в консоль AWS.
Перейдите на сайт aws.amazon.com и войдите в свою учетную запись.
2. Перейдите в социальные сети.
В строке поиска вверху введите SNS и Простая служба уведомлений.
3. Откройте настройки «Текстовые сообщения (SMS)».
На левой боковой панели нажмите Обмен текстовыми сообщениями (SMS) недооценивают ее Mobile.
4. Установите идентификатор отправителя по умолчанию (если доступен)
В некоторых странах вы можете указать имя или бренд в качестве отправителя. Это необязательно и зависит от местных правил.
5. Установите лимит расходов
Этот параметр контролирует сумму, которую вы можете потратить на SMS. Укажите удобный для вас номер, чтобы избежать высоких расходов.
6. Отправьте тестовое сообщение.
Нажмите Опубликовать текстовое сообщение.
- Введите полный номер телефона, включая код страны.
- Введите ваше сообщение в поле.
- Нажмите Опубликовать сообщение отправить это.
7. Проверьте статус доставки.
После отправки вы можете проверить, доставлено ли сообщение. См. ниже. История сообщений или воспользуйтесь CloudWatch для получения более подробной информации.
Отправка SMS с помощью AWS CLI
Если вам нравится использовать командную строку, вы можете отправить SMS с помощью одной простой команды:
aws sns publish \
--phone-number "+1234567890" \
--message "Your code is 456789"
Вот что означает каждая часть:
- aws sns publish сообщает AWS о необходимости отправить сообщение с помощью SNS.
- –phone-number — это номер, на который вы хотите отправить SMS. Используйте полный код страны.
- –message — это текст, который вы хотите отправить. Пусть он будет коротким и понятным.
Перед запуском убедитесь, что ваш AWS CLI настроен. Если вы ещё этого не сделали, откройте терминал и выполните:
aws configure
Будет запрошено:
- Доступ к ключевым
- Секретный ключ
- Регион по умолчанию
- Формат вывода (можно оставить это поле пустым или использовать json)
После настройки учётных данных вы сможете отправлять текстовые сообщения через CLI. Следите за стоимостью сообщений и региональными правилами.
Отправка SMS с помощью AWS SDK (Python Boto3)
Вы можете отправить SMS, используя несколько строк кода на Python. Вот простой пример:
import boto3
sns = boto3.client('sns')
sns.publish(
PhoneNumber='+1234567890',
Message='Your code is 456789'
)
Как установить Boto3
Перед запуском скрипта установите Boto3 с помощью pip:
pip install boto3
Настройте свои учетные данные AWS
Boto3 нужны ваши ключи доступа AWS. Вы можете настроить их, выполнив команду:
aws configure
При появлении соответствующего запроса введите свой ключ доступа, секретный ключ и регион.
Проверить статус сообщения (необязательно)
SNS не предоставляет информацию о доставке в режиме реального времени. Для отслеживания доставки можно использовать логи CloudWatch.
Вам необходимо включить ведение журнала в настройках SNS в консоли AWS. Это не покажет подробную информацию о каждом сообщении, но поможет отслеживать сбои и блокировки.
Этот метод прост и хорошо подходит для приложений или скриптов, которые отправляют одноразовые пароли или оповещения.
Цены и ограничения
Стоимость SMS-сообщений через AWS SNS зависит от того, куда вы отправляете сообщение. В некоторых странах стоимость выше, чем в других. Полные тарифы можно найти на сайте Страница цен AWS, но вот быстрый пример:
| Направление | Стоимость сообщения (долл. США) |
| США | $0.0075 |
| Индия | $0.0022 |
| Великобритания | $0.0479 |
| Канада | $0.0075 |
Эти цены могут измениться, поэтому всегда проверяйте актуальные тарифы на AWS.
Уровень бесплатного пользования
AWS предоставляет вам 100 бесплатных SMS-сообщений в месяц — но только для сообщений, отправленных на номера в США.
Лимиты расходов
Вы можете установить как дневные, так и месячные лимиты, чтобы избежать непредвиденных списаний.
Сделать это:
- Перейти в социальные сети Текстовые сообщения (SMS) настройки.
- Установите Ежемесячный лимит расходовПри необходимости вы также можете запросить более высокий лимит.
Длина сообщения и стоимость
Одно SMS-сообщение может содержать до 160 символов, если это обычный текст. Если в сообщении используется кодировка Unicode (например, эмодзи или неанглийские символы), ограничение сокращается до 70 символов.
Если ваше сообщение длиннее, оно будет разделено на части. AWS взимает плату за каждую часть.
Пример:
Отправляю это сообщение:
«Ваш проверочный код — 456789. Не сообщайте его никому».
Это 74 символа (ASCII), поэтому они помещаются в 1 SMS.
Но это сообщение:
«🔐 Ваш код — 456789. Не сообщайте его никому!»
Здесь используется эмодзи в кодировке Unicode. Это будет считаться одним SMS в кодировке Unicode.
Перед отправкой всегда проверяйте длину и содержание сообщения. Это влияет как на стоимость, так и на доставку.
Лучшие практики
1. Всегда получайте согласие пользователя.
Не отправляйте текстовые сообщения, если пользователь не дал на них согласия. Это требование действует в большинстве стран. Используйте чёткую процедуру согласия, например, флажок или ключевое слово в ответе. Сделайте так, чтобы пользователи могли легко отказаться от рассылки в любое время.
2. Не задавайте номера телефонов жестко
Жёсткое кодирование номеров подходит для тестирования, но не для реального использования. Вместо этого используйте темы и подписки в социальных сетях. Таким образом, вы сможете отправлять одно сообщение нескольким пользователям, не перечисляя каждый номер телефона в коде.
3. Следите за своей подачей и ошибками
По умолчанию информация о доставке не отображается. Чтобы отслеживать ошибки или блокировки, включите журналы CloudWatch для социальных сетей. Эти журналы могут отображать информацию о сбоях в доставке сообщения или о недоступности номера телефона.
4. Придерживайтесь коротких и понятных сообщений.
Длинные тексты разбиваются на части, что обходится дороже. Кроме того, пользователи могут прекратить читать, если сообщение покажется им слишком длинным. Быстро переходите к сути и избегайте лишних символов и пробелов.
5. Используйте идентификатор отправителя, где это разрешено.
Если в вашей стране поддерживаются идентификаторы отправителя, используйте тот, который соответствует вашему бренду. Это укрепляет доверие и предотвращает путаницу. Однако помните, что не все страны поддерживают эту функцию.
6. Соблюдайте тишину.
Избегайте отправки сообщений поздно ночью или рано утром. Во многих местах это не просто невежливо, но и противозаконно.
Выполнение этих шагов поможет вам соблюдать требования, экономить деньги и радовать пользователей.
Заключение
AWS SNS делает отправку SMS простой и надежной. Вы можете быстро отправлять пользователям оповещения, коды и обновления.
Он хорошо подходит для транзакционных сообщений, где время имеет значение. Для маркетинга рассмотрите другие инструменты, разработанные для крупных кампаний.
Использование AWS SDK позволяет автоматизировать отправку SMS в ваших приложениях. Это помогает масштабировать обмен сообщениями без ручного труда.
Начните с простого, а затем изучите автоматизацию и мониторинг в соответствии со своими потребностями. AWS SNS — надёжный выбор для информирования пользователей с помощью понятных сообщений.
Готовы ли вы расширить возможности обмена сообщениями за пределы SMS?
IDT Express Engage позволяет отправлять сообщения по SMS, WhatsApp, Telegram и Viber — все с одной платформы.
Легко управляйте рекламными предложениями, оповещениями о транзакциях и живыми беседами.
Начните сегодня, чтобы охватить клиентов по тем каналам, которые им нравятся.
Воспользуйтесь гибким обменом сообщениями, который развивается вместе с потребностями вашего бизнеса.


