Основные понятия и сущности

В этом разделе приведено описание понятий

  • Клиенты
  • Бонусные баллы
  • Бейджики и квесты
  • Теги, события
  • Товары и категории товаров
  • Переменные

Клиенты

Одной из ключевых особенностей платформы SailPlay является возможность работать с данными ваших клиентов. Принципы работы SailPlay CRM следующие:

  1. Главным идентификаторм клиента является либо номер телефона (user_phone), либо e-mail (email) в зависимости от выбранного вами главного идентификатора. Для смены основного идентификатора, просьба обратиться в нашу службу поддержки.

  2. Дополнительно, у каждоного клиента может быть задан параметр origin_user_id, который является идентификатором клиента в вашей системе. SailPlay не накладывается ограничений на данный параметр, поэтому он может быть как числом так и строкой. Единственное ограничение - это поле должно быть уникальным для каждого конкретного клиента. В качестве origin_user_id мы рекомендуем использовать следующее значение md5(ID_клиента_в_вашей_базе_данных + md5(public_key)).

  3. Во всех API-запросах, для идентификации клиента можно передавать как номер телефона/email клиента (в зависимости от выбранного вами главного идентификатора), так и origin_user_id. В случае, если к данному origin_user_id еще не привязан номер телефона или email, то пользователю будет предложено это сделать в popup'е.

  4. Для всех новых номеров телефонов, email'ов или origin_user_id, которые не были найдены в системе SailPlay будут созданы учетные записи, которые изначально будут находиться в состоянии "неподтверженные". Подтвержденными они станут, когда пользователь подтвердит владение одним из своих идентификаторов.

SailPlay предлагает два способа работы с вашей пользовательской базой:

  1. Через ваш партнерский кабинет на сайте SailPlay.ru

  2. Через SailPlay API.

Бонусные баллы

В SailPlay реализован механизм для начисления бонусных баллов за любые действия пользователя. Примером может служить отзыв на Яндекс.Маркете или выполнение каких-либо действий на вашей стороне.

Для того, чтобы начислить бонусные баллы, имеется 2 возможности:

  1. Сделать это вручную в партнерском кабинете

  2. Реализовать начисление бонусных баллов через SailPlay API.

Бейджики и квесты

Бейджи и квесты наряду с бонусными баллами и событиями являются основой сервиса геймификации.

Бейджики - это виртуальные награды, которые пользователь может получить. Бейджики могут образовывать квест или могут быть одиночными. В случае если бейджики образуют квест, это означает, что помимо выполнения правил для получения бейджика №3 в квесте, необходимо также обладать бейджиков №2 и т.д.

События - это по сути события, которые происходят у вас на сайте или в любом другом месте, например в мобильном приложении: пользователь зарегистрировался, пользователь оставил комментарий и т.д. Ниже описаны типы событий.

События пользователя - это список всех событий, которые были произведены (или произошли) для данного пользователя. Все события подчиняются логике, описанной ниже.

Правила получения бейджика - набор правил, при котором пользователь получит данный бейджик. Например, это может выглядеть следующим образом: для получения данного  бейджика необходимо чтобы 1) был получен предыдущий бейджик из этого квеста 2) был установлен флаг №10 3) счетчик №1 имел значение >= 10.

Принцип их работы лучше всего пояснить на примере.

Допустим, у вас существует потребность провести пользователя через последовательность шагов. Пусть, для примера, шаги первой последовательности (первого квеста) будут следующими:

  1. Пользователь зарегистрировался на сайте

  2. Пользователь оставил 3 комментария

  3. Пользователь установил мобильное приложение

  4. Пользователь набрал 1000 очков в мобильной игре внутри мобильного приложения

И вторая последовательности (второй квест) будет такой:

  1. Пользователь пригласил 2 друзей на сайт (друзья пользователя зарегистрировались)

  2. Пользователь пригласит 5 друзей на сайт (накопительным итогом)

Тогда имеет смысл сделать следующее: при достижении каждого шага в каждом квесте выдавать пользователю бейджик.

Таким образом, вам не нужно следить за логикой на вашей стороне. Для вас вся интеграция сводится к отправке событий.

Теги, события

Теги и события в системе SailPlay являются различным применением одной сущности.

Они также тесно связаны с цепочками.

При присвоении тега запускается связанная с ним цепочка действий.

Типы событий:

Флаг

При получении этого события, SailPlay проверяет, был ли уже у данного пользователя установлен этот флаг. Если был, ничего не происходит. Если не был - флаг устанавливается. Типичными примерами использования могут служить например следующие события: пользователь совершил первый платеж (при этом делать запрос можно при каждом факте оплаты), пользователь зарегистрировался.

Счетчик

При получении данного события, SailPlay, увеличивает счетчик на 1 для данного события для данного пользователя. Примерном может служить, например, количество оставленных комментариев на сайте: при каждом новом оставленном комментарии вы отправляете в SailPlay информацию о том что данный пользователь совершил данное действие. Другим примером может быть, например, количество приглашенных пользователем друзей.

Сумматор

Сумматор является аналогом счетчика, но с одним отличием - при отправке события в SailPlay передается дополнительный параметр - value, на величину которого увеличивается счетчик. Примерном может служить, например, внутренняя валюта на вашем сервисе. В этом случае, если человек, заработал какое-то количество данной валюты, вы передаете информацию (идентификатор события и количество).

Корзина товаров и категории товаров

В SailPlay реализован механизм для работы с составом корзины. Работа с корзиной и категориями товаров может быть необходима в следующих случаях:

  1. Когда необходимо реализовать логику для разных правил начисления бонусных баллов для разных товаров или разных категорий.

  2. Для ведения аналитики и статистики, связанных с составомом корзины.

Принцип работы

Каждому товару в системе SailPlay присваивается идентификатор этого товара в вашей системе (SKU). Аналогично, каждой категории в системе SailPlay присваивается некоторый идентификатор в вашей системе.

Для каждого товара, категории можно указать:

  1. Наименование

  2. Идентификатор

  3. Коэффициент конвертации рублей в баллы за покупку этого товара / покупку товара из данной категории

  4. Изображение

Соответственно, при передаче информации о покупке, необходимо дополнительно передавать состав корзины (см. здесь).

При разборе состава корзины, применяются следующие правила:

  1. Если товара с данным SKU или группы с данным ID нет в базе данных SailPlay - они создаются автоматически (без названия и отсальных аттрибутов).

  2. Если для данного товара нет специального коэффициента конвертации, проверяется есть ли коэффициент конвертации для данной категории, если и его нет - используется стандартный.

  3. Если в массиве передан один и тот же товар несколько раз - их суммы предварительно складываются.

Переменные

Одной из базовых возможностей SailPlay Sender является возможность назначать пользователям переменные. 

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

Например переменная $[first_name] при отправке будет заменена на имя получателя.

Использовать переменные можно как в массовых E-Mail- и SMS-рассылках, так и в триггерных E-mail- и SMS-сообщениях. 

Указывать переменные вы можете не только непосредственно в теле письма, но и, например, в заголовке или URL-адресе. 

 

В системе SailPlay реализовао четыре типа переменных:

  • Системные переменные - содержат общую информацию о клиенте и совершаемом действии.

  • Кастомные переменные - содержат дополнительную информацию о клиенте. Значения переменной хранятся отдельно для каждого клиента.

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

  • Глобальные переменные - значения этих переменных не привязаны ни к тегам ни к пользователям.

Создание и редактирование переменных производится с помощью методов /api/v2/users/custom-vars/add/ для кастомных, и /api/v2/tags/vars/set/ для переменных, привязанных к тегу и глобальных переменных.

Так же кастомные переменные можно задавать с помощью метода SP.api.customVariables.add JS SDK.

Переменные могут быть использованы как в письмах, так и в sms сообщениях.

При использовании любой переменной можно указать значение, которое будет подставлено, если переменная отсутствует или её значение не задано.

Так же механизм замены можно реализовать через условные конструкции.

Синтаксис замены:

$[var|замена]

Где var - символьный идентификатор переменной

замена - строка которая будет подставлена вместо значения переменной

Пример использования:

$[global_vars["var1"]|текст замены]

Примеры использования переменных приведены в разделе Разметка шаблонизатора