Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Cloud Notification Service
    • Обзор
    • Начало работы с мобильными Push-уведомлениями
    • Начало работы с Push-уведомлениями в браузере
    • Начало работы с SMS
    • Обзор
    • Мобильные Push-уведомления
    • Push-уведомления в браузере
    • SMS
    • Квоты и лимиты
    • Все инструменты
    • AWS CLI
    • AWS SDK для С++
    • AWS SDK для Go
    • AWS SDK для Java
    • AWS SDK для JavaScript
    • AWS SDK для Kotlin
    • AWS SDK для .NET
    • AWS SDK для PHP
    • AWS SDK для Python (boto3)
  • Правила тарификации
    • Обзор
    • Отправка запроса
    • Ошибки
    • Publish
  • Метрики Monitoring
  • Логи Cloud Logging
  • История изменений

В этой статье:

  • Подготовьте облако к работе
  • Получите данные для аутентификации
  • Создайте канал уведомлений
  • Получите список каналов
  • Создайте эндпоинт
  • Отправьте уведомление
  • Явные уведомления (Bright Push)
  • Тихие уведомления (Silent Push)
  1. Справочник API
  2. Отправка запроса

Отправить запрос HTTP API к Yandex Cloud Notification Service

Статья создана
Yandex Cloud
Обновлена 13 марта 2025 г.
  • Подготовьте облако к работе
  • Получите данные для аутентификации
  • Создайте канал уведомлений
  • Получите список каналов
  • Создайте эндпоинт
  • Отправьте уведомление
    • Явные уведомления (Bright Push)
    • Тихие уведомления (Silent Push)

HTTP API сервиса совместим с Amazon SNS API.

Все поддерживаемые действия описаны в Справочнике API.

Чтобы начать работу с HTTP API с помощью curl:

  1. Подготовьте облако к работе.
  2. Получите данные для аутентификации.
  3. Создайте канал уведомлений.
  4. Получите список каналов.
  5. Создайте эндпоинт.
  6. Отправьте уведомление.

Подготовьте облако к работеПодготовьте облако к работе

Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:

  1. Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь.
  2. На странице Yandex Cloud Billing убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его и привяжите к нему облако.

Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака.

Подробнее об облаках и каталогах.

Получите данные для аутентификацииПолучите данные для аутентификации

Для аутентификации в API используются статический ключ доступа или IAM-токен.

Примечание

Запросы API к Cloud Notification Service со статическим ключом должны быть подписаны по алгоритму AWS Signature V4. Чтобы не подписывать запросы, используйте IAM-токен.

Как получить IAM-токен, см. в инструкциях:

  • Получение IAM-токена для аккаунта на Яндексе
  • Получение IAM-токена для федеративного аккаунта
  • Получение IAM-токена для сервисного аккаунта
Как получить статический ключ доступа

Для аутентификации в Cloud Notification Service используется статический ключ доступа. Этот ключ выпускается на сервисный аккаунт, и все действия выполняются от имени этого сервисного аккаунта.

Чтобы получить статический ключ доступа:

  1. Создайте сервисный аккаунт.

  2. Назначьте сервисному аккаунту роль editor на каталог.

  3. Для сервисного аккаунта создайте статический ключ доступа.

    Сохраните идентификатор и секретный ключ.

Чтобы выполнять запросы API, у пользователя или сервисного аккаунта должна быть минимальная роль editor на каталог.

Создайте канал уведомленийСоздайте канал уведомлений

export IAM_TOKEN=<IAM-токен>
curl \
  --header "Content-Type: application/x-www-form-urlencoded; charset=utf-8" \
  --header "Authorization: Bearer ${IAM_TOKEN}" \
  --data-urlencode "Action=CreatePlatformApplication" \
  --data-urlencode "ResponseFormat=JSON" \
  --data-urlencode "FolderId=<идентификатор_каталога>" \
  --data-urlencode "Name=<имя_канала>" \
  --data-urlencode "Platform=GCM" \
  --data-urlencode "Attributes.entry.1.key=PlatformCredential" \
  --data-urlencode "Attributes.entry.1.value=<API-ключ_FCM>"
  "https://notifications.yandexcloud.net/"

Где:

  • IAM_TOKEN — IAM-токен.

  • Action — тип операции.

  • ResponseFormat — формат ответа: JSON или XML.

  • FolderId — идентификатор каталога.

  • Name — имя канала уведомлений, задается пользователем.

    Имя должно быть уникальным для всего CNS. После создания канала изменить имя нельзя. Имя может содержать строчные и заглавные буквы латинского алфавита, цифры, подчеркивания, дефисы и точки. Длина — от 1 до 256 символов. Рекомендуется для каналов APNs указывать в имени идентификатор приложения (Bundle ID), для FCM и HMS — полное название пакета приложения (Package name), для RuStore — значение packageName.

  • Platform — тип мобильной платформы:

    • APNS и APNS_SANDBOX — Apple Push Notification service (APNs). Для тестирования приложения используйте APNS_SANDBOX.
    • GCM — Firebase Cloud Messaging (FCM).
    • HMS — Huawei Mobile Services (HMS).
    • RUSTORE — RuStore Android.
  • Attributes.entry.N.key — ключи атрибутов аутентификации на мобильной платформе. Значения зависят от типа платформы:

    • APNs:

      • Аутентификация с токеном:
        • PlatformPrincipal — токен в формате .p8.
        • PlatformCredential — идентификатор токена.
        • ApplePlatformTeamID — идентификатор разработчика.
        • ApplePlatformBundleID — идентификатор приложения (Bundle ID).
      • Аутентификация с сертификатом:
        • PlatformPrincipal — SSL-сертификат в формате .p12.
        • PlatformCredential — закрытый ключ сертификата.

      Аутентификация с токеном является предпочтительной, как более современная.

    • FCM: PlatformCredential — ключ сервисного аккаунта Google Cloud в формате JSON для аутентификации с помощью HTTP v1 API или API-ключ (server key) для аутентификации с помощью Legacy API.

      Версия HTTP v1 API является предпочтительной, так как с июня 2024 года Legacy API не будет поддерживаться FCM.

    • HMS:

      • PlatformPrincipal — идентификатор ключа.
      • PlatformCredential — API-ключ.
    • RuStore:

      • PlatformPrincipal — идентификатор проекта (ProjectID).
      • PlatformCredential — сервисный токен (ServiceToken).
  • Attributes.entry.N.value — значения атрибутов аутентификации на мобильной платформе.

В результате вы получите идентификатор (ARN) канала уведомлений.

Подробнее см. на странице Действие CreatePlatformApplication.

Получите список каналовПолучите список каналов

export IAM_TOKEN=<IAM-токен>
curl \
  --header "Content-Type: application/x-www-form-urlencoded; charset=utf-8" \
  --header "Authorization: Bearer ${IAM_TOKEN}" \
  --data-urlencode "Action=ListPlatformApplications" \
  --data-urlencode "ResponseFormat=JSON" \
  --data-urlencode "FolderId=<идентификатор_каталога>" \
  "https://notifications.yandexcloud.net/"

Где:

  • IAM_TOKEN — IAM-токен.
  • Action — тип операции.
  • ResponseFormat — формат ответа: JSON или XML.
  • FolderId — идентификатор каталога.

Подробнее см. на странице Действие ListPlatformApplications.

Создайте эндпоинтСоздайте эндпоинт

export IAM_TOKEN=<IAM-токен>
curl \
  --header "Content-Type: application/x-www-form-urlencoded; charset=utf-8" \
  --header "Authorization: Bearer ${IAM_TOKEN}" \
  --data-urlencode "Action=CreatePlatformEndpoint" \
  --data-urlencode "ResponseFormat=JSON" \
  --data-urlencode "PlatformApplicationArn=<ARN_канала_уведомлений>" \
  --data-urlencode "Token=<Push-токен>" \
  "https://notifications.yandexcloud.net/"

Где:

  • IAM_TOKEN — IAM-токен.
  • Action — тип операции.
  • ResponseFormat — формат ответа: JSON или XML.
  • PlatformApplicationArn — идентификатор (ARN) канала уведомлений.
  • Token — уникальный Push-токен приложения на устройстве пользователя.

В результате вы получите идентификатор (ARN) мобильного эндпоинта.

Подробнее см. на странице Действие CreatePlatformEndpoint.

Отправьте уведомлениеОтправьте уведомление

Явные уведомления (Bright Push)Явные уведомления (Bright Push)

export IAM_TOKEN=<IAM-токен>
curl \
  --header "Content-Type: application/x-www-form-urlencoded; charset=utf-8" \
  --header "Authorization: Bearer ${IAM_TOKEN}" \
  --data-urlencode "Action=Publish" \
  --data-urlencode "ResponseFormat=JSON" \
  --data-urlencode "TargetArn=<идентификатор_эндпоинта>" \
  --data-urlencode "Message={"default": "<текст_уведомления>", "GCM": "{ \"notification\": { \"body\": \"<текст_уведомления>\"} }" }" \
  --data-urlencode "MessageStructure=json" \
  "https://notifications.yandexcloud.net/"

Где:

  • IAM_TOKEN — IAM-токен.
  • Action — тип операции.
  • ResponseFormat — формат ответа: JSON или XML.
  • TargetArn — идентификатор (ARN) мобильного эндпоинта.
  • Message — сообщение.
  • MessageStructure — формат сообщения.

Тихие уведомления (Silent Push)Тихие уведомления (Silent Push)

export IAM_TOKEN=<IAM-токен>
curl \
  --header "Content-Type: application/x-www-form-urlencoded; charset=utf-8" \
  --header "Authorization: Bearer ${IAM_TOKEN}" \
  --data-urlencode "Action=Publish" \
  --data-urlencode "ResponseFormat=JSON" \
  --data-urlencode "TargetArn=<идентификатор_эндпоинта>" \
  --data-urlencode "Message={\"data\": { \"key\": \"value\" } }" \
  --data-urlencode "MessageStructure=json" \
  "https://notifications.yandexcloud.net/"

Где:

  • IAM_TOKEN — IAM-токен.
  • Action — тип операции.
  • ResponseFormat — формат ответа: JSON или XML.
  • TargetArn — идентификатор (ARN) мобильного эндпоинта.
  • Message — сообщение.
  • MessageStructure — формат сообщения.

Подробнее см. на странице Действие Publish.

Была ли статья полезна?

Предыдущая
Обзор
Следующая
Ошибки
Проект Яндекса
© 2025 ООО «Яндекс.Облако»