Перейти к основному содержимому
Altcraft Docs LogoAltcraft Docs Logo
Пользователям iconПользователям
Разработчикам iconРазработчикам
Администраторам iconАдминистраторам
Русский
  • Русский
  • English
Войти
    Документация пользователяС чего начатьFAQТермины
      Обновления платформыarrow
    • v2026.2.77v2026.1.76v2025.4.75v2025.4.74v2025.3.73v2025.2.72v2025.1.71v2024.4.70v2024.3.69v2024.2.68.2v2024.1.68
      Хранение и сбор данныхarrow
    • Ресурсы подписокРабота с базами данныхПрофиль подписчикаИмпорт профилей клиентов и обновление данныхЧастые ошибки при импорте профилейИмпорт данных по расписаниюУправление таблицами данныхАвтоматизация сбора данных о профилеМассовое обновление профилей клиентовDouble opt-in подпискаСтоп-спискиСвязи между профилямиЭкспорт истории профилейЭкспорт профилейАвтоматическое создание статического сегмента при импортеКак открыть CSV-файлМатчингТипы полей в базе данныхГлобальные контрольные группыМенеджер подписок
      Каналы коммуникацииarrow
      • Emailarrow
        • Рассылка с нуляarrow
        • Быстрый стартПервая Email-рассылка
        Рекомендации по взаимодействию с ISPНастройка собственного from-доменаНастройка и использование постмастеровКак работает email-трекинг
        Pusharrow
        • Mobile Pusharrow
        • Первая Mobile push-рассылкаНастройка и подключение
            Провайдеры Mobile Pusharrow
          • Firebase Cloud MessagingApple Push Notification ServiceHuawei Mobile ServicesRuStoreYandex.AppMetrica
            Интеграция приложения с Altcraftarrow
          • Обработка и добавление подпискиРегистрация событийПровайдеры: структура push-сообщения
          Web Pusharrow
        • Первая Web push-рассылкаНастройка ресурса и сайта
            Провайдеры Web Pusharrow
          • Firebase Cloud MessagingApple SafariMozilla Services
          Передача данных в платформуМетоды Web Push SDKPWA и Push-уведомления
            Миграция и перенос подписокarrow
          • Перенос push-подписок из стороннего сервисаПеренос push-подписок для SafariМиграция с OneSignal
        SMSarrow
      • Первая SMS-рассылка
        Telegramarrow
      • Telegram BotTelegram Group
        Maxarrow
      • MAX BotMAX Group
      Viber™WhatsAppNotifyСхема работы каналов коммуникацииРуководство: SMS-рассылка через VK NotifyРуководство: SMS-рассылка через УТШРуководство: push-рассылка через сервис от "Согласие"
      Сегментацияarrow
    • Статические сегментыДинамические сегментыОбновляемые сегменты
        Условия сегментацииarrow
      • Сегментация по данным профиляСегментация по взаимодействиям с сущностямиСегментация по активности в каналах коммуникации
          Сегментация по внешним даннымarrow
        • Сегментация по внешним даннымСегментация по внешним SQL-таблицамРекомендации по сегментации по внешним данным
        Сегментация по структуре профиля
      Лучшее время отправки (BST)Логические операторы "И" и "ИЛИ"Рекомендации по работе с сегментами
      Шаблоны сообщенийarrow
      • Работа с шаблонами сообщенийarrow
      • Работа в редактореEmail-шаблонSMS-шаблонPush-шаблонMAX-шаблонTelegram-шаблонWhatsApp-шаблонViber-шаблонNotify-шаблон
        Визуальный редактор для email-шаблонаarrow
      • Интерфейс редактораДобавление элементовЭлементы и их настройкиПользовательские блокиСтили элементаСтруктура элементов
      Блочный редактор для email-шаблонаФрагменты шаблоновИзображения в сообщенияхПерсонализация контента в сообщенияхФормирование таблиц на основе элементов массива
        Переменные и функции Altcraftarrow
      • Использование логических выражений в сообщенияхИспользование циклов в сообщенияхИспользование переменных маркета в сообщенияхИспользование функционала JSONPath
        Динамический контент сообщенийarrow
      • Использование API-контента в сообщенияхИспользование HTML-контента в сообщенияхИспользование JSON-контента в сообщенияхИспользование контента из SQL базы данных в сообщениях
      Импорт и экспорт шаблона сообщенияЭкспорт шаблона из PixcraftИмпорт шаблона из стороннего сервиса
      Рассылкиarrow
    • Броадкаст-рассылкаТриггерная рассылкаРегулярная рассылкаМультивариантный тест (A/B/n)РазмещенияРасписание рассылокТестирование расылокКалендарь рассылокУправление очередью сендера
      Кампанииarrow
    • Работа с КампаниямиЛокальные контрольные группы (ЛКГ)Ошибка нарушения стратификации при достижении лимитаРасширение аудитории в кампанииРазметка аудитории в кампаниях
      Сценарии автоматизацииarrow
    • Работа со Сценариями автоматизацииУзлы сценарияКлассические сценарии автоматизации маркетингаПриветственный сценарий: пошаговая настройкаАвтоматическое оповещение менеджера через сценарийСценарий брошенной корзиныОбработка циклов в сценариях автоматизации
      Маркетarrow
    • Настройки маркета
        Продуктыarrow
      • Создание продукта вручнуюИмпорт продукта из файлаИмпорт по расписаниюСегменты продуктов и SKUПодготовка YML-файла
      ЗаказыПеременные маркета в шаблонахРуководство: как отправить письмо подтверждения заказа
      Лояльностьarrow
    • Создание и настройка программы лояльностиИнтеграция лояльности с внешними системамиСоздание программы лояльности с нуляБазовые кейсы использования программы лояльностиСегменты заказовПромокоды
      Веб-слойarrow
      • Формыarrow
        • Создание формыarrow
        • Основные настройки формыКастомизация формы через дополнительный кодКонструктор формыОформление формыДействия и публикация формыУсловная постраничная логика в формах и опросах
        Аналитика данныхСвязывание данных канала и формыNPS-тестирование
        Пикселиarrow
      • Целевые действия клиентов и скоринг
        Попапыarrow
      • Создание и публикация попапаНастройка попапа в редакторе кодаУправление попапами вручную через скриптАналитика попаповРуководство: попап для подписки на pushБазовые кейсы размещения попапа через Менеджер теговКейс: Создание попапа с виджетом "Колесо фортуны"
        Менеджер теговarrow
      • Настройка и установка Менеджера теговТипы триггеровТипы переменныхСвязывание пикселя и Менеджера тегов
      Отчеты и аналитикаarrow
    • Отчет по каналамОтчёт по трафику
        Сводный отчётarrow
      • Все показатели сводного отчета
      Когортный отчётВремя жизниВоронка конверсииЦелиПрирост аудиторииКарта кликов (Email)Отчет по программам лояльностиОтчёт о возвратахОтчёт о недоставкахОтчет по глобальным контрольным группам
      Интеграцииarrow
    • Синхронизация статических сегментовMAXЯндекс.АудиторииАудитории Google AdsFacebook Ads ManagerОбласть видимости интеграцииWhatsAppViberTildaYandex AppMetricaLpgeneratorVK РекламаПередаваемые при синхронизации данные
        Интеграция сторонних сервисов с Altcraft через Albatoarrow
      • Подключение Altcraft к AlbatoЗапуск приветственного сценария через AlbatoПередача данных о событииОтправка триггерной рассылкиРегистрация событийИмпорт данных из Google Sheets через AlbatoПередача данных из Altcraft
      Notify
        Захват событийarrow
      • Захват событий AltcraftТипы событий для захватаСтруктуры сообщений захвата событийОтправить JSON-запрос батчемОтправить сообщение в очередь RabbitMQОтправить сообщение в exchange RabbitMQОтправить сообщение в Kafka brokerПредварительное тестирование события
      Настройкиarrow
    • Настройки аккаунтаНастройки атрибутовПоисковые теги: создание и применениеПользовательские ссылкиВиртуальные сендерыПолитики отправки
        Пользователи и разграничение доступаarrow
      • Двухфакторная аутентификация (2FA)
        Подключенияarrow
      • Подключение к Facebook AdsПодключение к Google AdsПодключение к Яндекс.Аудиториям™Подключение к 360dialogПодключение к EdnaПодключение к Devino TelecomПодключение к SMS TrafficПодключение к VK Рекламе™Подключение к MTS OmniChannelПодключение через OAuth2Подключение через Basic AuthenticationПодключение через Token AuthenticationПодключение через Custom AuthenticationПодключение к MAXПодключение к NotifyПодключение к Rapporto
      Журнал аудита
      API-запросы: с чего начатьarrow
    • Импорт и обновление профиляЗапуск триггерной рассылкиОтправка профиля клиента в сценарий
    Архив документацииБиблиотека email-маркетолога
  • Каналы коммуникации
  • Push
  • Mobile Push
  • Интеграция приложения с Altcraft
  • Провайдеры: структура push-сообщения

Провайдеры: структура push-сообщения

Altcraft Platform поддерживает следующие сервисы для отправки мобильных push-сообщений:

  • Google Firebase Cloud Messaging — для Android и iOS приложений
  • Apple Push Notification Service — только для iOS приложений
  • Yandex.AppMetrica — для Android и iOS приложений
  • Huawei Mobile Services — для Android и iOS приложений
  • RuStore — для Android приложений
примечание

Требуется подключение соответствующих SDK в приложении.

подсказка

Yandex.AppMetrica использует для отправки SDK Google Firebase. Для отправки уведомлений вам нужно будет установить его в приложение.

В Altcraft Platform доступна интеграция с Yandex.AppMetrica для импорта профилей пользователей, регистрации их действий и связанной с ними ценности (стоимости).

Необходимо проверить, что приложение поддерживает структуру push-уведомлений Altcraft Platform. Если формат не поддерживается, Altcraft может скорректировать структуру сообщения со своей стороны.

Формат отправки push сообщения​

Android Firebase​

примечание

Возможно редактирование объекта JSON (по запросу).

Поддерживается добавление дополнительных данных в объект data. Это можно сделать для каждой отправки персонально в настройках сообщения Altcraft MP.

{
"message": {
"token": "{{.SubscriptionID}}",
"android": {
"priority": "{{.Priority}}",
"ttl": {{.TTL}},
"data": {
"_ac_push": "Altcraft",
"_uid": "{{.UID}}",
"_launch_id": "{{.LaunchID}}",
"_title": "{{.Title}}",
"_provider": "{{.Provider}}",
"_body": "{{.Body}}",
"_icon": "{{.Icon}}",
"_click_action": "{{.ClickURL}}",
"_color": "{{.ImageBackgroundColor}}",
"_image": "{{.Image}}",
"_vibration": "{{.Vibration}}",
"_soundless": "{{.Soundless}}",
"_hub_link": "{\"open\": \"{{.URLOpenEvent}}\", \"ack\": \"{{.URLDelivEvent}}\"}",
"_buttons": "[{{ range $index, $button := .Actions }}{{if $index}},{{end}}{\"label\":\"{{$button.Label}}\",\"link\":\"{{$button.Link}}\"}{{ end }}]"
}
}
}
}
ПолеОписание
tokenPush-токен устройства, полученный от FCM. Уникален для каждого устройства и приложения.
android.priorityПриоритет доставки: HIGH или NORMAL. Определяет, будет ли устройство пробуждено для получения сообщения.
android.ttlВремя жизни сообщения в секундах (TTL — Time To Live). После истечения срока сообщение не доставляется. Значение задаётся в настройках аккаунта.
data._ac_pushМаркер отправки. Всегда содержит значение "Altcraft". Используется приложением для идентификации push от Altcraft Platform.
data._uidУникальный идентификатор сообщения (SendMessageID). Содержит закодированные данные: аккаунт, кампанию, ресурс, канал, профиль, подписку, временную метку и контрольную сумму. Пример: T2k3mN8vR4pQ1xY7zL5wJ9hF6dA0bC.
data._launch_idИдентификатор отправки в рамках рассылки. Содержит accountID, campaignID и временную метку запуска, закодированные в base58. Пример: 123_456_aBcDeFgHiJkLmNoPqRsTuVwXyZ. Все сообщения одной рассылки имеют одинаковый launch_id.
data._titleЗаголовок push-уведомления. Отображается в шторке уведомлений.
data._providerИдентификатор провайдера. Для этого провайдера: Android Firebase.
data._bodyТело push-уведомления. Основной текст сообщения.
data._iconURL иконки уведомления. Отображается рядом с текстом в шторке.
data._click_actionURL, который открывается при нажатии на уведомление. Может быть обычной ссылкой или deeplink.
data._colorЦвет фона иконки в формате hex (например, #FF5722).
data._imageURL изображения-баннера. Отображается как большое изображение в расширенном уведомлении.
data._vibrationФлаг принудительной вибрации: true или false.
data._soundlessФлаг беззвучного уведомления: true или false. При true звук отключён.
data._hub_linkJSON-объект с двумя URL для трекинга событий: open — ссылка для регистрации события открытия, ack — ссылка для регистрации события доставки. Ссылки зашифрованы и уникальны для каждого сообщения.
data._buttonsJSON-массив кнопок действия. Каждая кнопка содержит label (текст) и link (URL). Формируется из кнопок, добавленных в настройках сообщения.
подсказка

_uid — уникальный идентификатор сообщения (SendMessageID). Содержит закодированные данные об аккаунте, кампании, ресурсе, канале, профиле, подписке и временной метке. Каждый push имеет свой уникальный _uid.

_launch_id — идентификатор отправки в рамках рассылки. Все сообщения одной рассылки имеют одинаковый launch_id. Содержит accountID, campaignID и временную метку запуска.

iOS Firebase​

примечание

Возможно редактирование объекта JSON (по запросу).

Поддерживается добавление дополнительных данных в объект data. Это можно сделать для каждой отправки персонально в настройках сообщения Altcraft MP.

{
"message": {
"token": "{{.SubscriptionID}}",
"apns": {
"headers": {
"apns-expiration": "{{.TTL}}"
},
"payload": {
"aps": {
"category": "Altcraft",
"sound": {{.Sound}},
"mutable-content": 1,
"alert": {
"title": "{{.Title}}",
"subtitle": "{{.SubTitle}}",
"body": "{{.Body}}"
}
},
"_uid": "{{.UID}}",
"_provider": "{{.Provider}}",
"_launch_id": "{{.LaunchID}}",
"_ac_push": "Altcraft",
"_click-url": "{{.ClickURL}}",
"_media": "{{.Media}}",
"_soundless": "{{.Soundless}}",
"_hub_link": "{\"open\": \"{{.URLOpenEvent}}\", \"ack\": \"{{.URLDelivEvent}}\"}",
"_buttons": "[{{ range $index, $button := .Actions }}{{if $index}},{{end}}{\"label\":\"{{$button.Label}}\",\"link\":\"{{$button.Link}}\"}{{ end }}]"
}
}
}
}
ПолеОписание
tokenPush-токен устройства, полученный от APNs через FCM. Уникален для каждого устройства и приложения.
apns.headers.apns-expirationВремя жизни сообщения в секундах. После истечения срока APNs не доставляет сообщение.
apns.payload.aps.categoryКатегория уведомления. Всегда "Altcraft". Используется для определения действий, доступных при нажатии.
apns.payload.aps.soundЗвук уведомления. По умолчанию: "default". При беззвучном режиме — пустая строка. Может содержать имя файла звука в приложении.
apns.payload.aps.mutable-contentВсегда 1. Разрешает Content-Extension для модификации уведомления (например, загрузка изображения).
apns.payload.aps.alert.titleЗаголовок push-уведомления.
apns.payload.aps.alert.subtitleПодзаголовок уведомления. Отображается под заголовком.
apns.payload.aps.alert.bodyТело push-уведомления. Основной текст сообщения.
apns.payload._uidУникальный идентификатор сообщения (SendMessageID). Аналогичен _uid в Android.
apns.payload._providerИдентификатор провайдера. Для этого провайдера: iOS Firebase.
apns.payload._launch_idИдентификатор отправки в рамках рассылки.
apns.payload._ac_pushМаркер отправки. Всегда "Altcraft".
apns.payload._click-urlURL, который открывается при нажатии на уведомление.
apns.payload._mediaURL изображения для rich-уведомления.
apns.payload._soundlessФлаг беззвучного уведомления: true или false.
apns.payload._hub_linkJSON-объект с URL для трекинга событий: open (открытие) и ack (доставка).
apns.payload._buttonsJSON-массив кнопок действия с label и link.
подсказка

_uid — уникальный идентификатор сообщения (SendMessageID). _launch_id — идентификатор отправки в рамках рассылки.

iOS APNS​

примечание

Возможно редактирование объекта JSON (по запросу).

Поддерживается добавление дополнительных данных в объект data. Это можно сделать для каждой отправки персонально в настройках сообщения Altcraft MP.

{
"aps": {
"category": "Altcraft",
"mutable-content": 1,
"sound": {{.Sound}},
"alert": {
"title": "{{.Title}}",
"subtitle": "{{.SubTitle}}",
"body": "{{.Body}}"
}
},
"_ac_push": "Altcraft",
"_click-url": "{{.ClickURL}}",
"_soundless": "{{.Soundless}}",
"_media": "{{.Media}}",
"_uid": "{{.UID}}",
"_provider": "{{.Provider}}",
"_hub_link": {
"open": "{{.URLOpenEvent}}",
"ack": "{{.URLDelivEvent}}"
},
"_buttons": "[{{ range $index, $button := .Actions }}{{if $index}},{{end}}{\"label\":\"{{$button.Label}}\",\"link\":\"{{$button.Link}}\"}{{ end }}]"
}
ПолеОписание
aps.categoryКатегория уведомления. Всегда "Altcraft".
aps.mutable-contentВсегда 1. Разрешает Content-Extension.
aps.soundЗвук уведомления. По умолчанию: "default".
aps.alert.titleЗаголовок уведомления.
aps.alert.subtitleПодзаголовок уведомления.
aps.alert.bodyТело уведомления.
_ac_pushМаркер отправки. Всегда "Altcraft".
_click-urlURL для открытия при нажатии.
_soundlessФлаг беззвучного уведомления.
_mediaURL изображения для rich-уведомления.
_uidУникальный идентификатор сообщения (SendMessageID).
_providerИдентификатор провайдера: iOS APNS.
_hub_link.openURL для регистрации события открытия.
_hub_link.ackURL для регистрации события доставки.
_buttonsJSON-массив кнопок действия.

AppMetrica iOS​

примечание

Возможно редактирование объекта JSON (по запросу).

Поддерживается добавление дополнительных данных в объект data. Это можно сделать для каждой отправки персонально в настройках сообщения Altcraft MP.

{
"push_batch_request": {
"group_id": 97737,
"tag": "tag",
"batch": [
{
"messages": {
"iOS": {
"silent": true/false,
"content": {
"title": "Title",
"text": "Body",
"badge": 0-999,
"expiration": 0,
"data": "{\"hub_link\":{\"ack\":\"URLDelivEvent\",\"open\":\"URLOpenEvent\"},\"icon\":\"Icon\",\"media\":\"Media\"}"
},
"open_action": {
"url": "URL",
"deeplink": "Deeplink"
}
}
},
"devices": [
{
"id_values": ["SubscriptionID"],
"id_type": "ios_push_token"
}
]
}
]
}
}
ПолеОписание
push_batch_request.group_idИдентификатор группы в AppMetrica. Задаётся при настройке канала.
push_batch_request.tagМетка рассылки. Используется для группировки отправок в AppMetrica.
push_batch_request.batchМассив сообщений для отправки.
messages.iOS.silentФлаг silent-push: true — фоновая доставка без уведомления, false — стандартное уведомление.
messages.iOS.content.titleЗаголовок уведомления.
messages.iOS.content.textТело уведомления.
messages.iOS.content.badgeСчётчик бейджа приложения. Диапазон: 0–999.
messages.iOS.content.expirationВремя жизни сообщения в секундах. 0 — сообщение не хранится при недоступности устройства.
messages.iOS.content.dataJSON-строка с дополнительными данными: hub_link (трекинг), icon (иконка), media (изображение).
messages.iOS.open_action.urlURL для открытия при нажатии (обычная ссылка).
messages.iOS.open_action.deeplinkDeeplink для открытия при нажатии.
devices.id_valuesМассив push-токенов устройств.
devices.id_typeТип идентификатора: ios_push_token для iOS.
примечание

В AppMetrica iOS поля _uid и _launch_id не передаются напрямую в структуре сообщения. Трекинг осуществляется через hub_link внутри поля data.

AppMetrica Android​

примечание

Возможно редактирование объекта JSON (по запросу).

Поддерживается добавление дополнительных данных в объект data. Это можно сделать для каждой отправки персонально в настройках сообщения Altcraft MP.

{
"push_batch_request": {
"group_id": 97737,
"tag": "tag",
"batch": [
{
"messages": {
"android": {
"silent": true/false,
"content": {
"title": "Title",
"text": "Body",
"time_to_live": 0,
"image": "Icon",
"icon_background": "IconBackground",
"banner": "Banner",
"led_color": "LEDColor",
"data": "{\"hub_link\":{\"ack\":\"URLDelivEvent\",\"open\":\"URLOpenEvent\"}}"
},
"open_action": {
"url": "URL",
"deeplink": "Deeplink"
}
}
},
"devices": [
{
"id_values": ["SubscriptionID"],
"id_type": "google_aid"
}
]
}
]
}
}
ПолеОписание
push_batch_request.group_idИдентификатор группы в AppMetrica.
push_batch_request.tagМетка рассылки.
push_batch_request.batchМассив сообщений для отправки.
messages.android.silentФлаг silent-push.
messages.android.content.titleЗаголовок уведомления.
messages.android.content.textТело уведомления.
messages.android.content.time_to_liveВремя жизни сообщения в секундах.
messages.android.content.imageURL иконки уведомления.
messages.android.content.icon_backgroundЦвет фона иконки в формате hex.
messages.android.content.bannerURL баннерного изображения.
messages.android.content.led_colorЦвет LED-индикатора в формате hex.
messages.android.content.dataJSON-строка с данными трекинга: hub_link содержит URL для событий ack (доставка) и open (открытие).
messages.android.open_action.urlURL для открытия при нажатии.
messages.android.open_action.deeplinkDeeplink для открытия при нажатии.
devices.id_valuesМассив идентификаторов устройств (Google AID).
devices.id_typeТип идентификатора: google_aid для Android.
примечание

В AppMetrica Android поля _uid и _launch_id не передаются напрямую в структуре сообщения. Трекинг осуществляется через hub_link внутри поля data.

HMS Android​

примечание

Возможно редактирование объекта JSON (по запросу).

Поддерживается добавление дополнительных данных в объект data. Это можно сделать для каждой отправки персонально в настройках сообщения Altcraft MP.

{
"message": {
"token": ["{{.SubscriptionID}}"],
"data": {
"_ac_push": "Altcraft",
"_title": "{{.Title}}",
"_uid": "{{.UID}}",
"_provider": "{{.Provider}}",
"_body": "{{.Body}}",
"_launch_id": "{{.LaunchID}}",
"_vibration": "{{.Vibration}}",
"_soundless": "{{.Soundless}}",
"_hub_link": "{\"open\": \"{{.URLOpenEvent}}\", \"ack\": \"{{.URLDelivEvent}}\"}",
"_icon": "{{.Icon}}",
"_click_action": "{{.ClickURL}}",
"_color": "{{.ImageBackgroundColor}}",
"_image": "{{.Image}}",
"_buttons": "[{{ range $index, $button := .Actions }}{{if $index}},{{end}}{\"label\":\"{{$button.Label}}\",\"link\":\"{{$button.Link}}\"}{{ end }}]"
},
"android": {
"urgency": "HIGH",
"ttl": {{.TTL}}
}
}
}
ПолеОписание
message.tokenМассив push-токенов устройств HMS. В отличие от Firebase, токен передаётся как массив.
data._ac_pushМаркер отправки. Всегда "Altcraft".
data._titleЗаголовок уведомления.
data._uidУникальный идентификатор сообщения (SendMessageID).
data._providerИдентификатор провайдера: Android HMS.
data._bodyТело уведомления.
data._launch_idИдентификатор отправки в рамках рассылки.
data._vibrationФлаг принудительной вибрации.
data._soundlessФлаг беззвучного уведомления.
data._hub_linkJSON-объект с URL для трекинга: open и ack.
data._iconURL иконки уведомления.
data._click_actionURL для открытия при нажатии.
data._colorЦвет фона иконки в формате hex.
data._imageURL изображения-баннера.
data._buttonsJSON-массив кнопок действия.
android.urgencyСрочность доставки. Всегда HIGH.
android.ttlВремя жизни сообщения в секундах.

HMS iOS​

примечание

Возможно редактирование объекта JSON (по запросу).

Поддерживается добавление дополнительных данных в объект data. Это можно сделать для каждой отправки персонально в настройках сообщения Altcraft MP.

{
"message": {
"token": ["{{.SubscriptionID}}"],
"apns": {
"headers": {
"apns-expiration": "{{.TTL}}"
},
"payload": {
"aps": {
"category": "Altcraft",
"mutable-content": 1,
"sound": {{.Sound}},
"alert": {
"title": "{{.Title}}",
"subtitle": "{{.SubTitle}}",
"body": "{{.Body}}"
}
},
"_ac_push": "Altcraft",
"_provider": "{{.Provider}}",
"_click-url": "{{.ClickURL}}",
"_soundless": "{{.Soundless}}",
"_uid": "{{.UID}}",
"_media": "{{.Media}}",
"_hub_link": {
"open": "{{.URLOpenEvent}}",
"ack": "{{.URLDelivEvent}}"
},
"_buttons": "[{{ range $index, $button := .Actions }}{{if $index}},{{end}}{\"label\":\"{{$button.Label}}\",\"link\":\"{{$button.Link}}\"}{{ end }}]"
},
"hms_options": {
"target_user_type": 1
}
}
}
}
ПолеОписание
message.tokenМассив push-токенов устройств HMS.
apns.headers.apns-expirationВремя жизни сообщения в секундах.
apns.payload.aps.categoryКатегория уведомления. Всегда "Altcraft".
apns.payload.aps.mutable-contentВсегда 1. Разрешает Content-Extension.
apns.payload.aps.soundЗвук уведомления.
apns.payload.aps.alert.titleЗаголовок уведомления.
apns.payload.aps.alert.subtitleПодзаголовок уведомления.
apns.payload.aps.alert.bodyТело уведомления.
apns.payload._ac_pushМаркер отправки.
apns.payload._providerИдентификатор провайдера: iOS HMS.
apns.payload._click-urlURL для открытия при нажатии.
apns.payload._soundlessФлаг беззвучного уведомления.
apns.payload._uidУникальный идентификатор сообщения (SendMessageID).
apns.payload._mediaURL изображения для rich-уведомления.
apns.payload._hub_link.openURL для регистрации события открытия.
apns.payload._hub_link.ackURL для регистрации события доставки.
apns.payload._buttonsJSON-массив кнопок действия.
apns.hms_options.target_user_typeТип целевого пользователя в HMS. Всегда 1.

RuStore Android​

примечание

Возможно редактирование объекта JSON (по запросу).

Поддерживается добавление дополнительных данных в объект data. Это можно сделать для каждой отправки персонально в настройках сообщения Altcraft MP.

{
"message": {
"token": "{{.SubscriptionID}}",
"data": {
"_ac_push": "Altcraft",
"_title": "{{.Title}}",
"_uid": "{{.UID}}",
"_provider": "{{.Provider}}",
"_body": "{{.Body}}",
"_icon": "{{.Icon}}",
"_image": "{{.Image}}",
"_launch_id": "{{.LaunchID}}",
"_vibration": "{{.Vibration}}",
"_soundless": "{{.Soundless}}",
"_color": "{{.ImageBackgroundColor}}",
"_click_action": "{{.ClickURL}}",
"_hub_link": "{\"open\": \"{{.URLOpenEvent}}\", \"ack\": \"{{.URLDelivEvent}}\"}",
"_buttons": "[{{ range $index, $button := .Actions }}{{if $index}},{{end}}{\"label\":\"{{$button.Label}}\",\"link\":\"{{$button.Link}}\"}{{ end }}]"
},
"android": {
"priority": "HIGH",
"ttl": {{.TTL}}
}
}
}
ПолеОписание
message.tokenPush-токен устройства RuStore.
data._ac_pushМаркер отправки. Всегда "Altcraft".
data._titleЗаголовок уведомления.
data._uidУникальный идентификатор сообщения (SendMessageID).
data._providerИдентификатор провайдера: Android RuStore.
data._bodyТело уведомления.
data._iconURL иконки уведомления.
data._imageURL изображения-баннера.
data._launch_idИдентификатор отправки в рамках рассылки.
data._vibrationФлаг принудительной вибрации.
data._soundlessФлаг беззвучного уведомления.
data._colorЦвет фона иконки в формате hex.
data._click_actionURL для открытия при нажатии.
data._hub_linkJSON-объект с URL для трекинга: open и ack.
data._buttonsJSON-массив кнопок действия.
android.priorityПриоритет доставки. Всегда HIGH.
android.ttlВремя жизни сообщения в секундах.
подсказка

_uid — уникальный идентификатор сообщения (SendMessageID). _launch_id — идентификатор отправки в рамках рассылки.

Общие поля всех провайдеров​

Ниже описаны поля, которые присутствуют в структуре push-сообщений Altcraft Platform независимо от провайдера.

Идентификаторы​

ПолеОписание
_uidSendMessageID — уникальный идентификатор каждого отправленного сообщения. Содержит закодированные данные: идентификаторы аккаунта, кампании, ресурса, канала, профиля, подписки, временную метку отправки и контрольную сумму. Начинается с префикса версии: T (Full), U (Unique), E (Email). Пример: T2k3mN8vR4pQ1xY7zL5wJ9hF6dA0bC.
_launch_idИдентификатор отправки в рамках рассылки. Все сообщения одной рассылки имеют одинаковый launch_id. Содержит accountID, campaignID и временную метку запуска, закодированные в base58 (Flickr alphabet). Формат: accountID_campaignID_timestamp. Пример: 123_456_aBcDeFgHiJkLmNoPqRsTuVwXyZ.
_ac_pushМаркер отправки от Altcraft Platform. Всегда содержит значение "Altcraft". Используется приложением для идентификации push-уведомлений от платформы.
_providerИдентификатор провайдера, через который отправлено сообщение. Примеры: Android Firebase, iOS Firebase, iOS APNS, Android HMS, Android RuStore.

Контент уведомления​

ПолеОписание
_title / titleЗаголовок push-уведомления. Отображается в шторке уведомлений устройства.
_body / text / bodyТело push-уведомления. Основной текст сообщения.
_subtitle / subtitleПодзаголовок уведомления. Доступен только для iOS. Отображается под заголовком.
_icon / imageURL иконки уведомления. Отображается рядом с текстом в шторке.
_image / banner / _mediaURL изображения-баннера. Отображается как большое изображение в расширенном уведомлении.
_click_action / _click-url / urlURL, который открывается при нажатии на уведомление. Может быть обычной ссылкой или deeplink.
_color / icon_backgroundЦвет фона иконки в формате hex (например, #FF5722).

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

ПолеОписание
ttl / apns-expiration / time_to_live / expirationВремя жизни сообщения в секундах (TTL — Time To Live). После истечения срока сообщение не доставляется. Значение задаётся в настройках аккаунта.
priority / urgencyПриоритет доставки: HIGH или NORMAL. Определяет, будет ли устройство пробуждено для получения сообщения.
_soundless / silentФлаг беззвучного уведомления: true — звук отключён, false — стандартный звук.
_vibrationФлаг принудительной вибрации (Android): true или false.
soundЗвук уведомления (iOS). По умолчанию: "default". Может содержать имя файла звука в приложении.

Трекинг событий​

ПолеОписание
_hub_linkJSON-объект с двумя зашифрованными URL для трекинга событий доставки. Каждый URL уникален для конкретного сообщения и подписки.
_hub_link.openURL для регистрации события открытия push-уведомления. Срабатывает, когда пользователь нажимает на уведомление.
_hub_link.ackURL для регистрации события доставки push-уведомления. Срабатывает, когда push-сервис подтверждает доставку на устройство.

Кнопки действия​

ПолеОписание
_buttonsJSON-массив кнопок действия (action buttons). Каждая кнопка содержит label (текст кнопки) и link (URL, который открывается при нажатии). Формируется из кнопок, добавленных в настройках сообщения в Altcraft Platform.

Дополнительные данные​

ПолеОписание
ak_uidДополнительное поле, добавляемое в объект data помимо _uid. Содержит тот же SendMessageID. Используется для совместимости с некоторыми SDK.
categoryКатегория уведомления (iOS). Всегда "Altcraft". Используется для определения действий, доступных при нажатии.
mutable-contentФлаг для iOS. Всегда 1. Разрешает Content-Extension для модификации уведомления (например, загрузка изображения).

Разница между форматами Legacy и v1​

Altcraft Platform поддерживает два формата отправки через Firebase:

Legacy API (https://fcm.googleapis.com/fcm/send):

  • Использует устаревший endpoint FCM.
  • Параметры передаются в корне JSON-объекта.
  • Кастомные данные добавляются в поле data на верхнем уровне.

API v1 (https://fcm.googleapis.com/v1/projects/{project_id}/messages:send):

  • Современный endpoint FCM.
  • Структура сообщения обернута в объект message.
  • Кастомные данные добавляются в message.data.
  • Использует JWT-аутентификацию вместо server key.
  • Поддерживает batch-отправку и многоадресную рассылку.

Текущая версия Altcraft Platform использует API v1 для всех отправок через Firebase.

Как добавить кастомные данные в объект data​

Altcraft Platform поддерживает добавление пользовательских полей в объект data push-сообщения. Кастомные данные задаются в настройках сообщения и объединяются с системными полями.

Порядок обработки:

  1. Базовые кастомные данные из push.CustomJSON (глобальные для сообщения).
  2. Платформенные кастомные данные из push.Android.CustomJSON или push.IOS.CustomJSON (перезаписывают базовые).
  3. Системные поля Altcraft добавляются независимо.

Пример кастомных данных:

{
"custom_field_1": "value1",
"custom_field_2": 42,
"custom_object": "{\"nested_key\": \"nested_value\"}"
}
примечание

Кастомные данные добавляются в объект data наряду с системными полями. Имена полей не должны конфликтовать с системными префиксами (_uid, _launch_id, _ac_push и т.д.).

Для добавления кастомных данных обратитесь в поддержку Altcraft Platform.

Последнее обновление 6 авг. 2026 г.
Предыдущая страница
Регистрация событий
Следующая страница
Web Push
  • Формат отправки push сообщения
    • Android Firebase
    • iOS Firebase
    • iOS APNS
    • AppMetrica iOS
    • AppMetrica Android
    • HMS Android
    • HMS iOS
    • RuStore Android
  • Общие поля всех провайдеров
    • Идентификаторы
    • Контент уведомления
    • Управление доставкой
    • Трекинг событий
    • Кнопки действия
    • Дополнительные данные
  • Разница между форматами Legacy и v1
  • Как добавить кастомные данные в объект data
© 2015 - 2026 Altcraft. Все права защищены.