Перейти к основному содержимому
Altcraft Docs LogoAltcraft Docs Logo
Для пользователяДля разработчикаДля администратора
Веб-сайтБаза знаний
Русский
  • Русский
  • English
v72
  • v74
  • v73
  • v72
Войти
  • API пользователя
  • Взаимодействие с API
  • Матчинг
  • Профили
    • Импортировать профиль
    • Обновить профиль
    • Добавить профиль в базу данных
    • Получить информацию о профиле
    • Импортировать профиль в RabbitMQ
    • Массовое добавление профилей в базу данных
    • Массовое обновление профилей
    • Массовый импорт профилей
    • Приостановить все профили в базе данных
    • Восстановить все приостановленные профили в базе данных
    • Удалить профиль
    • Упрощенный импорт профиля
    • Функциональное обновление полей базы
    • Функциональное обновление полей подписки
    • Выгрузка профилей в файл
    • Получение данных по нескольким профилям
    • Объединение нескольких профилей
    • Отписать профиль от ресурса
    • Разделение профиля
    • История
    • Связи профилей
    • Подписки
  • Базы данных
  • Ресурсы
  • Сегменты
  • Статические сегменты
  • Стоп-списки
  • Шаблоны
  • Кампании
  • Сценарии (цепочки)
  • Промокоды
  • Цели
  • Пуши приложений
  • Маркет
  • Отчеты и статистика
  • Сендеры
  • Объекты
  • Запросы к внешним базам данных
  • Прочее
  • Список API-методов
  • Импорт и настройка коллекции API-методов в Postman
  • SDK
Это документация к платформе Altcraft v72. Для этой версии документация больше не обновляется.
Информация по актуальной версии платформы (v74) доступна на этой странице.
  • Профили
  • Функциональное обновление полей базы
Документация для версии v72

Функциональное обновление полей базы

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

Инструкция имеет определенную структуру:

{
"action": "set",
"value": "x",
}

Поле action может принимать одно из следущих значений:

actionНазначениеТип поляvalue
setРаботает так же, как и простое обновление поля, устанавливает значениевсе типы: date, string, enum, phone, int, float, tags, object, arr_objectЗависит от типа поля в бд
unsetУдаляет поле из структуры профиля (для всех полей, кроме email)все типы: date, string, enum, phone, int, float, tags, object, arr_objectНет
incrУвеличивает значение поляint, floatЧисло
addДобавляет элементы в поле профиляtags, arr_objectМассив строк
deleteУдаляет элементы из поля профиляtags, arr_objectМассив строк
upsertУстанавливает значение из поля valueв свойство, указанное в поле submatchobjectЗависит от типа поля
примечание

Для типов данных object, arr_object необходимо передавать поля value и submatch (путь к свойству, значение которого необходимо обновить).

Пример запроса profiles/update, уменьшающий значение одного поля и увеличивающий другое:

  • JSON
  • XML
{
"token": "abcdefghijklmnqrstuvwxyz",
"db_id": 24,
"profile_id": "5a5b64a969d4265b958b9ac3",
"data": {
"checks": {
"action": "incr",
"value": 1000
},
"returns": {
"action": "incr",
"value": -1000
}
}
}
<xml>
<token>abcdefghijklmnqrstuvwxyz</token>
<db_id>1</db_id>
<profile_id>6613c4754a5d12bd6cc0915f</profile_id>
<data>
<checks>
<action>incr</action>
<value>1000</value>
</checks>
<returns>
<action>incr</action>
<value>-1000</value>
</returns>
</data>
</xml>

Пример запроса profiles/update, манипулирующий тегами:

  • JSON
  • XML
{
"token": "abcdefghijklmnqrstuvwxyz",
"db_id": 24,
"profile_id": "5a5b64a969d4265b958b9ac3",
"data": {
"category": {
"action": "add",
"value": ["cars", "cats"]
}
}
}
<xml>
<token>abcdefghijklmnqrstuvwxyz</token>
<db_id>1</db_id>
<profile_id>6613c4bf4a5d12bd6cc0916b</profile_id>
<data>
<category>
<action>add</action>
<value array='true'>cars</value>
<value array='true'>cats</value>
</category>
</data>
</xml>

Пример запроса profiles/update, который обновит поле "x" в объекте:

  • JSON
  • XML
{ 
"token": "abcdefghijklmnqrstuvwxyz",
"db_id": 1,
"profile_id": "6613c4bf4a5d12bd6cc0916b",
"data": {
"myObject": {
"action": "upsert",
"value": "y",
"submatch": "x"
}
}
}
<xml>
<token>2fefb577533d4cae919350c450755239</token>
<db_id>1</db_id>
<profile_id>66102b984a5d12bd6cc0912f</profile_id>
<data>
<myObject>
<action>upsert</action>
<value>y</value>
<submatch>x</submatch>
</myObject>
</data>
</xml>

Пример запроса profiles/update, который установит новое значение (value) для всех элементов объекта, содержащих указанное свойство (submatch):

Запрос​

  • JSON
  • XML
{
"token": "abcdefghijklmnqrstuvwxyz",
"db_id": 1,
"profile_id": "66102b984a5d12bd6cc0912f",
"data": {
"myObject": {
"action": "upsert",
"value": {
"x": "y",
"z": 1
},
"submatch": "x"
}
}
}
<xml>
<token>abcdefghijklmnqrstuvwxyz</token>
<db_id>1</db_id>
<profile_id>66102b984a5d12bd6cc09132</profile_id>
<data>
<myObject>
<action>upsert</action>
<value>
<x>y</x>
<z>1</z>
</value>
<submatch>x</submatch>
</myObject>
</data>
</xml>

Объект​

  • JSON
  • XML
{
{
"A": 1,
"x": false,
},
{
"B": "test"
},
{
"x": "test",
"C": true
}
}
<xml>
<value>
<A>1</A>
<x>false</x>
</value>
<value>
<B>test</a>
</value>
<value>
<x>test</x>
<c>true</c>
</value>
</xml>

Обновленный объект​

  • JSON
  • XML
{
{
"A": 1,
"x": {"x": "y", "z": 1},
},
{
"B": "test"
},
{
"x": {"x": "y", "z": 1},
"C": true
}
}

<xml>
<value>
<A>1</A>
<x>
<m>y</m>
<z>1</z>
</x>
</value>
<value>
<B>test</B>
</value>
<value>
<x>
<m>y</m>
<z>1</z>
</x>
<c>true</c>
</value>
</xml>
примечание

Если у полей с типом object и object_arr отсутствует свойство, которое вы хотите изменить (action), то это свойство создается автоматически.

Последнее обновление 26 дек. 2024 г.
Предыдущая страница
Упрощенный импорт профиля
Следующая страница
Функциональное обновление полей подписки
  • Запрос
  • Объект
  • Обновленный объект
© 2015 - 2025 Altcraft. Все права защищены.