Skip to content

Передача свойств

Убедитесь, что предыдущие шаги выполнены успешно
  • SDK добавлено в ваше мобильное приложение
  • Ключи взяты из раздела для разработчика: Ключи для SDK
  • Инициализация выполнена успешно
Результат шага
  • Свойства пользователя корректно передаются в карточку пользователя

Пользовательские свойства

Чтобы установить пользовательское свойство, используйте метод:

dart
await Carrot.setUserProperty(userProperty);

Для описания свойства используется класс UserProperty:

dart
final userProperty = UserProperty('custom_key', 'custom_value');

key не может начинаться с символа $.

Системные свойства пользователя

Все названия свойств, начинающиеся с символа $, считаются системными. Ваши собственные свойства не должны начинаться с $.

Разрешено изменять только 3 свойства: $name, $phone, $email. Все остальные системные свойства можно только читать.

ИмяОписание
$nameИмя
$emailEmail
$phoneТелефон
$last_seenПоследняя активность, дата совершения последнего события
$last_contactedПоследний контакт, дата последнего ответа от пользователя или последней отправки сообщения пользователю (в том числе автосообщения)
$last_replyДата последнего ответа от пользователя
$conversations_emailsКоличество диалогов по email
$conversations_chatsКоличество диалогов с типом чат
$conversations_popupsКоличество диалогов с типом поп-ап
$sessionsКоличество сессий
$user_idUser ID
$scoreКоличество баллов (рейтинг)
$initial_referrerПервый источник (реферрер)
$initial_referrer_domainПервый источник (реферрер), но только домен
$initial_utm_campaignПервая метка UTM Campaign
$initial_utm_sourceПервая метка UTM Source
$initial_utm_mediumПервая метка UTM Medium
$initial_utm_contentПервая метка UTM Content
$initial_utm_termПервая метка UTM Term
$last_utm_campaignПоследняя метка UTM Campaign
$last_utm_sourceПоследняя метка UTM Source
$last_utm_mediumПоследняя метка UTM Medium
$last_utm_contentПоследняя метка UTM Content
$last_utm_termПоследняя метка UTM Term
$countryСтрана
$regionРегион
$cityГород
$latitudeГеографическая широта
$longitudeГеографическая долгота
$email_unsubscribedОтписался от email
$avatarИмя файла с аватаром. Аватарки пользователей лежат по адресу: https://files.carrotquest.io/avatars-users/
$social_vkURL страницы ВКонтакте
$social_facebookURL страницы Facebook
$social_fourqsuareURL страницы Foursquare
$social_googleplusURL страницы Google+
$social_pinterestURL страницы Pinterest
$social_twitterURL страницы Twitter
$social_skypeSkype

Устаревшие deprecated свойства: $comment, $last_active_user, $online, $idle, $cluster_id, $app_uid, $uid, $identity.

После первого совершения события у пользователя появляются три свойства, связанные с этим событием. Например, если событие имеет ID=123, появятся свойства:

ИмяОписание
$event_123_countСколько раз было совершено событие
$event_123_firstДата, когда событие было совершено первый раз
$event_123_lastДата, когда событие было совершено последний раз

Свойства для интернет-магазинов

Свойства, специфичные для интернет-магазинов. Эти свойства можно записывать через API.

ИмяОписание
$cart_amountСумма в корзине (целое число)
$viewed_productsПросмотренные товары (список из названий товаров)
$cart_itemsКорзина (список из названий товаров)
$last_order_statusСтатус последнего заказа
$last_paymentСумма последнего заказа (целое число)
$revenueСумма всех заказов (целое число)
$profitДоход с пользователя (целое число)
$groupГруппа
$discountСкидка (целое число)
$orders_countКоличество заказов (целое число)
$ordered_itemsЗаказанные товары (список из названий товаров)
$ordered_categoriesКатегории заказанных товаров (список из названий категорий товаров)
$viewed_categoriesКатегории просмотренных товаров (список из названий категорий товаров)

Классы для системных свойств

Для системных свойств в SDK предусмотрены классы:

  • CarrotUserProperty — основные системные свойства ($name, $phone, $email)
  • EcommerceUserProperty — свойства для интернет-магазинов

Они позволяют передавать системные и e-commerce свойства в формате, поддерживаемом Carrot quest.

Пример передачи свойства

dart
final userProperty = UserProperty('subscription_plan', 'premium');
await Carrot.setUserProperty(userProperty);