Перейти к основному содержимому
Altcraft Docs LogoAltcraft Docs Logo
Пользователям iconПользователям
Разработчикам iconРазработчикам
Администраторам iconАдминистраторам
Русский
  • Русский
  • English
Войти
    Документация пользователяС чего начатьFAQТермины
      Обновления платформыarrow
    • v2026.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
      • Email-каналarrow
      • Рекомендации по взаимодействию с ISPНастройка собственного from-доменаНастройка и использование постмастеровБыстрый старт
        Push-каналarrow
        • Mobile Pusharrow
        • Настройка и подключение
            Интеграция приложения с Altcraftarrow
          • Провайдеры: структура push сообщенияОбработка и добавление подпискиРегистрация событий
          Web Pusharrow
        • Предварительные настройки
            Настройка для различных браузеровarrow
          • Apple SafariMozilla ServicesFirebase Cloud Messaging
          Подключение Web Push на сайтПередача данных в платформуМетоды Web Push SDK
            Миграция и перенос подписокarrow
          • Перенос push-подписок из стороннего сервисаКак перенести push-подписки, настроенные для SafariМиграция с OneSignal
      SMS-канал
        Создание рассылки с нуляarrow
      • EmailSMSWeb PushMobile PushWhatsAppViber™Руководство: SMS-рассылка через VK NotifyMAX BotMAX GroupNotifyTelegram BotTelegram Group
      Схема работы каналов коммуникацииРуководство: SMS-рассылка через УТШРуководство: push-рассылка через сервис от "Согласие"
      Сегментация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
      • Создание формыКонструктор формыОформление формыДействия при активации формыАналитика данныхСвязывание данных канала и формыУсловная постраничная логика в формах и опросахNPS-тестирование
        Пикселиarrow
      • Целевые действия клиентов и скоринг
        Попапыarrow
      • Создание и публикация попапаНастройка попапа в редакторе кодаУправление попапами вручную через скриптАналитика попаповРуководство: попап для подписки на pushБазовые кейсы размещения попапа через Менеджер теговКейс: Создание попапа с виджетом "Колесо фортуны"
        Менеджер теговarrow
      • Настройка и установка Менеджера теговТипы триггеровТипы переменныхСвязывание пикселя и Менеджера тегов
      Отчеты и аналитикаarrow
    • Отчет по каналамОтчёт по трафику
        Сводный отчётarrow
      • Все показатели сводного отчета
      Когортный отчётВремя жизниВоронка конверсииЦелиПрирост аудиторииКарта кликов (Email)Отчет по программам лояльностиОтчёт о возвратахОтчёт о недоставкахОтчет по глобальным контрольным группам
      Интеграцииarrow
    • Синхронизация статических сегментовMAXЯндекс.Аудитории™Аудитории Google AdsFacebook Ads Manager™Область видимости интеграцииWhatsAppViber™Tilda™Yandex AppMetrica™Lpgenerator™VK Реклама™Передаваемые при синхронизации данные
        Интеграция сторонних сервисов с 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 токена приложение должно передать его в Altcraft Platform для формирования подписки. Для этого используется API запрос.

С помощью этого запроса можно:

  • Добавить новые подписки.
  • Поменять статус уже существующих подписок.

Режим поиска профиля можно задавать с помощью поля matching в запросе (см. спецификацию ниже). Если профиль не будет найден, то будет создан новый.

При этом, если в ресурсе указано несколько баз данных, то все они будут обрабатываться по отдельности. Запрос к такому ресурсу будет создавать и обновлять профили сразу в нескольких базах. Пример такого случая можно посмотреть ниже.

Если в ресурсе нет ни одной базы, то будет возвращена ошибка.

URL-адрес​

Метод: POST

https://<cookiesaver_host>/push_subscribe

Параметры запроса​

ПараметрТипПримерОбязательныйОписание
idstring"abcdefghijklmnqrstuvwxyz"НетИдентификатор профиля
resource_tokenstring"abcdefghijklmnqrstuvwxyz"ДаУникальный идентификатор ресурса
db_ids[ ] int[ 2,3 ]НетФильтр баз данных ресурса.
matchingstring"custom"НетРежим поиска подписчика.
Если поле не передано или пустое, то будет использован поиск профиля по id или, если id тоже не передано, по пуш подпискам.

Для push_subscribe метода это поле может принимать только следующие значения:
  • custom
  • profile_id
subscriptionsJSON array
SubscriptionObject
[{
"provider" : "android-firebase",
"subscription_id" : "%subscriptionid%"
}]
ДаПодписки на push, которые нужно добавить в профиль или обновить.
"subscription_id" — уникален для каждого устройства.

SubscriptionObject​

ПараметрТипПримерОбязательныйОписание
providerstring"android-firebase"ДаИдентификатор провайдера в Altcraft MP.
Возможны следующие значения:
  • android-firebase
  • ios-firebase
  • ios-apns
  • yandex-Appmetrica-device-id-ios
  • yandex-Appmetrica-device-id-android
  • yandex-Appmetrica-ios-ifa
  • yandex-Appmetrica-google-aid
  • yandex-Appmetrica-android-token
  • yandex-Appmetrica-ios-token
  • android-huawei
  • ios-huawei

Каждому типу токена в AppMetrica соответствует свой id провайдера.
subscription_idstring"abcdef-ghijklmn-qrstuvwxyz"ДаТокен push подписки
unsubscribeboolfalseНетФлаг отписки. Отменяет подписку, если true.

Возвращаемые параметры​

ПараметрТипОписание
dataJSON array
DataObject
Информация о созданных подписках.

В массиве может быть несколько объектов в следующих случаях:
  • В запросе было передано несколько SubscriptionObject
  • В ресурсе Altcraft MP используется несколько баз данных. В этом случае для каждой базы из ресурса добавится новый профиль с подписками.
errorintКод ошибки
error_textstringТекст ошибки

DataObject​

ПараметрТипОписание
subscription_idstring"abcdef-ghijklmn-qrstuvwxyz"Токен push подписки
unsubscribeboolfalseФлаг, была ли подписка добавлена или наоборот отменена
profile_idstring"5fb62e815ae47a4aa04dfadd"id профиля (переданный или вновь созданный), для которого добавлена подписка.
providerstring"android-firebase"Идентификатор провайдера в Altcraft MP.
Возможны следующие значения:
  • android-firebase
  • ios-firebase
  • ios-apns
  • yandex-Appmetrica-device-id-ios
  • yandex-Appmetrica-device-id-android
  • yandex-Appmetrica-ios-ifa
  • yandex-Appmetrica-google-aid
  • yandex-Appmetrica-android-token
  • yandex-Appmetrica-ios-token
  • android-huawei
  • ios-huawei

Каждому типу токена в AppMetrica соответствует свой id провайдера
db_idint2id базы данных в Altcraft MP, в которой находится профиль
resource_idint1id ресурса в Altcraft MP
subscription_hash_idstring"92807e89"Хеш подписки
statusstring"error"Статус операции
  • ok
  • error
descriptionstring"Duplicate push subscription"Описание ошибки

Примеры​

Запрос с матчингом по системному id профиля​

Запрос

{
"id": "59db33d269d426509e9c4bf9",
"resource_token": "3LXP2FRcRxJ-7b14db88ec937f14",
"subscriptions": [
{
"provider": "android-firebase",
"subscription_id": "%subscriptionid%"
}
]
}

Ответ

{
"data": [
{
"subscription_id": "%subscriptionid%",
"unsubscribe": false,
"profile_id": "59db33d269d426509e9c4bf9",
"provider": "android-firebase",
"db_id": 17,
"resource_id": 5,
"subscription_hash_id": "adsfdfdffdf",
"status": "ok",
"description": ""
}
],
"error": 0,
"error_text": "Successful operation"
}

Запрос с матчингом по дополнительному полю профиля​

Запрос

{
"resource_token": "3LXP2FRcRxJ-7b14db88ec937f14",
"matching": "custom",
"field_name": "CustomNumber1",
"field_value": 123,
"subscriptions": [
{
"provider": "android-firebase",
"subscription_id": "%subscriptionid%"
}
]
}

Ответ

{
"data": [
{
"subscription_id": "%subscriptionid%",
"unsubscribe": false,
"profile_id": "59db33d269d426509e9c4bfс",
"provider": "android-firebase",
"db_id": 17,
"resource_id": 5,
"subscription_hash_id": "adsfdfdffdf",
"status": "ok",
"description": ""
}
],
"error": 0,
"error_text": "Successful operation"
}

Запрос с матчингом по push-подпискам​

Запрос

{
"resource_token": "3LXP2FRcRxJ-7b14db88ec937f14",
"subscriptions": [
{
"provider": "android-firebase",
"subscription_id": "%subscriptionid%"
}
]
}

Ответ

{
"data": [
{
"subscription_id": "%subscriptionid%",
"unsubscribe": false,
"profile_id": "59db33d269d426509e9c4bfa",
"provider": "android-firebase",
"db_id": 17,
"resource_id": 5,
"subscription_hash_id": "adsfdfdffdf",
"status": "ok",
"description": ""
}
],
"error": 0,
"error_text": "Successful operation"
}

Запрос к ресурсу с несколькими базами данных​

Запрос

{
"resource_token": "3LXP2FRcRxJ-7b14db88ec937f14",
"matching": "custom",
"field_name": "CustomNumber1",
"field_value": 12345,
"subscriptions": [
{
"provider": "android-firebase",
"subscription_id": "%subscriptionid%"
}
]
}

Ответ

{
"error": 200,
"error_text": "Successful operation",
"data": [
{
"db_id": 34,
"description": "",
"profile_id": "6156ed18eb7fec10a206e916",
"provider": "android-firebase",
"resource_id": 22,
"status": "ok",
"subscription_hash_id": "340ca49c",
"subscription_id": "%subscriptionid%",
"unsubscribe": false
},
{
"db_id": 2,
"description": "matching error: unknown field",
"resource_id": 22,
"status": "error"
}
]
}

Запрос с матчингом по дополнительному полю профиля в определенной базе​

Запрос

{
"resource_token": "3LXP2FRcRxJ-7b14db88ec937f14",
"db_ids": [1],
"matching": "custom",
"field_name": "CustomNumber1",
"field_value": 123,
"subscriptions": [
{
"provider": "android-firebase",
"subscription_id": "%subscriptionid%"
}
]
}

Ответ

{
"error": 0,
"error_text": "Successful operation",
"data": [
{
"db_id": 1,
"description": "",
"profile_id": "637f1a284fda7c5c08be62f",
"provider": "android-firebase",
"resource_id": 31,
"status": "ok",
"subscription_hash_id": "f8af057de",
"subscription_id": "%subscriptionid%",
"unsubscribe": false
}
]
}

Запрос не обновил и не добавил ни одной подписки профиля​

Запрос

{
"resource_token": "3LXP2FRcRxJ-7b14db88ec937f14",
"matching": "custom",
"field_name": "CustomNumber1",
"field_value": 12345,
"subscriptions": [
{
"provider": "android-firebase",
"subscription_id": "%subscriptionid%"
}
]
}

Ответ

{
"error": 200,
"error_text": "Successful operation",
"data": [
{
"db_id": 34,
"description": "",
"profile_id": "6156ed18eb7fec10a206e916",
"resource_id": 22,
"status": "ok"
}
]
}
Последнее обновление 18 февр. 2025 г.
Предыдущая страница
Провайдеры: структура push сообщения
Следующая страница
Регистрация событий
  • URL-адрес
  • Параметры запроса
    • SubscriptionObject
  • Возвращаемые параметры
    • DataObject
  • Примеры
    • Запрос с матчингом по системному id профиля
    • Запрос с матчингом по дополнительному полю профиля
    • Запрос с матчингом по push-подпискам
    • Запрос к ресурсу с несколькими базами данных
    • Запрос с матчингом по дополнительному полю профиля в определенной базе
    • Запрос не обновил и не добавил ни одной подписки профиля
© 2015 - 2026 Altcraft. Все права защищены.