Перейти к основному содержимому
Altcraft Docs LogoAltcraft Docs Logo
Для пользователяДля разработчикаДля администратора
Веб-сайтБаза знаний
Русский
  • Русский
  • English
v74
  • v74
  • v73
  • v72
Войти
  • Документация пользователя
  • FAQ
  • Термины
  • Обновления платформы
  • Хранение и сбор данных
  • Каналы коммуникации
    • Email-канал
    • Push-канал
      • Mobile Push
        • Настройка и подключение
        • Интеграция приложения с Altcraft
          • Провайдеры: структура push сообщения
          • Обработка и добавление подписки
          • Регистрация событий
      • Web Push
    • SMS-канал
    • Создание рассылки с нуля
    • Схема работы каналов коммуникации
    • Руководство: SMS-рассылка через УТШ
    • Руководство: push-рассылка через сервис от "Согласие"
  • Сегментация
  • Шаблоны сообщений
  • Рассылки
  • Кампании
  • Сценарии автоматизации
  • Маркет
  • Лояльность
  • Веб-слой
  • Отчеты и аналитика
  • Интеграции
  • Настройки
  • API-запросы: с чего начать
  • Библиотека email-маркетолога
  • Каналы коммуникации
  • Push-канал
  • Mobile Push
  • Интеграция приложения с Altcraft
  • Обработка и добавление подписки
Документация для версии v74

Обработка и добавление подписки

При получении 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 - 2025 Altcraft. Все права защищены.