Интеграция с сервисом чрезвычайно проста. Доступно два способа интеграции: через backend и через frontend (JS).
Интеграция состоит в загрузке SailPlay SDK и вызова JS-метода. Т.е. чтобы добавить нового подписчика и присвоить ему набор тегов необходимо:
1. Загрузить наш SDK
<script charset="utf-8" type="text/javascript">
var _sp_options = {
publicKey: "none",
partnerId: "XXX", // здесь и ниже ID вашего личного кабиента
position: ["top", "right"],
isTicketEnabled: false, // если не нужно отображение вкладки SailPlay для работы программы лояльности
notifications: {
enabled: false,
skin: {type: 'horizontal', position: ['bottom', 'right']}
}
};
(function() {
var sp = document.createElement("script");
sp.type = "text/javascript"; sp.async = true; sp.charset = "utf-8";
sp.src = ("https:" == document.location.protocol ? "https://" : "http://") + "sailplay.ru/popup-sdk/js/sailplay/XXX/";
var scr = document.getElementsByTagName("script")[0]; scr.parentNode.insertBefore(sp, scr);
})();
</script>
Сам JS-код, с подставленными параметрами вы можете найти в вашем личном кабинете.
2. Нужно добавить обработчик события (при котором клиент добавляется в базу и ему присваиваются теги):
function SPready(SP){
SP.tags({action: 'add', tags: ['Регистрация', 'A/B-тест #11', 'A/B-тест #11 вар. А'], phone: '7XXXXXXXXXX'});
}
или
function SPready(SP){
SP.tags({action: 'add', tags: ['Мальчик', 'Любит клубнику', 'Пришел из ВКонтакте'], email: 'useremail@userdomain.com'});
}
3. Для получения списка тегов можно использовать:
function SPready(SP){
//необходимо передать один из параметров идентификации клиента. phone или email или origin_user_id
SP.tags({action: 'list', phone: '7XXXXXXXXXX', callback: function(data) { console.log(data); } });
}
4. Для удаления тега:
function SPready(SP){
//необходимо передать один из параметров идентификации клиента. phone или email или origin_user_id
SP.tags({action: 'delete', tags: ['jstag'], phone: '7XXXXXXXXXX'}); }
Через JS могут быть удалены только те теги, которые были соданы с помощью JS SDK.
Сразу после добавления первому пользователю соответвующих тегов, в интерфейсе SailPlay появится возможность работать с этими тегами в E-mail/SMS-цепочках и для рассылок.
1. В E-mail/SMS-цепочках
2. В рассылках
Например, вы хотите дать клиентам, которые положили в корзину товары со скидкой, тег "Положили в корзину товар со скидкой":
<div class="product">
<img src="картинка товара">
<a href="..." class="add_to_cart" data-product-type="sale">В корзину</a>
</div>
//JS
function SPready(SP){
$('.add_to_cart').click(function(e){
//если клиент нажал "В корзину" при условии, что товар со скидкой
if ($(this).data('product-type') == 'sale') {
//назначим клиенту test@test.com тег
SP.tags({
action: 'add',
tags: ['Положили в корзину товар со скидкой'],
email: 'test@test.com',
callback: function(data){ //эта функция выполнится после того, как клиент получит тег }
});
}
});
}
Что бы отправлять запросы на сервер SailPlay необходимо получить токен авторизации.
Подробнее об авторизации можно прочитать здесь.
Параметр обязательный? | Имя параметра | Описание параметра |
да | user_phone, email или origin_user_id | Идентификатор клиента. Более подробно см. здесь. |
да | token | см. здесь |
да | store_department_id | см. здесь |
да | tags | перечисленные через запятую присваиваемые теги. |
http://sailplay.ru/api/v2/users/tags/add/?user_phone=79251276112&token=b3c7ac443b9b93bf4daa20f5429a655b5f77bb4b&store_department_id=435&tags=Регистрация,A/B-тест #11,A/B-тест #11 вар. А
{"status": "ok", "added_tags_count": 3}
Параметр обязательный? | Имя параметра | Описание параметра |
да | user_phone, email или origin_user_id | Идентификатор клиента. Более подробно см. здесь. |
да | token | см. здесь |
да | store_department_id | см. здесь |
да | tags | перечисленные через запятую удаляемые теги. |
http://sailplay.ru/api/v2/users/tags/delete/?phone=79251276112&token=024e3bfbe50c8ef3d413caf19bf5380bbdd79df3&store_department_id=219&tags=mytag
{"status": "ok", "deleted_count": 1}
В SailPlay Sender мы реализовали хранилище кастомных переменных. Данные, загружаемые в него привязываются к конкретному клиенту.
С помощью персональных переменных вы можете вставлять в письма и sms-сообщения цепочек и рассылок персонализированные данные ваших клиентов. Например последний добавленный в избранное товар, или статус заказа.
1. Загрузить наш SDK
<script charset="utf-8" type="text/javascript">
var _sp_options = {
publicKey: "none",
partnerId: "XXX", // здесь и ниже ID вашего личного кабиента
position: ["top", "right"],
isTicketEnabled: false, // если не нужно отображение вкладки SailPlay для работы программы лояльности
notifications: {
enabled: false,
skin: {type: 'horizontal', position: ['bottom', 'right']}
}
};
(function() {
var sp = document.createElement("script");
sp.type = "text/javascript"; sp.async = true; sp.charset = "utf-8";
sp.src = ("https:" == document.location.protocol ? "https://" : "http://") + "sailplay.ru/popup-sdk/js/sailplay/XXX/";
var scr = document.getElementsByTagName("script")[0]; scr.parentNode.insertBefore(sp, scr);
})();
</script>
Сам JS-код, с подставленными параметрами вы можете найти в вашем личном кабинете.
2. Нужно добавить обработчик события (при котором клиент добавляется в базу и ему присваиваются значения переменных):
function SPready(SP){
SP.api.customVariables.add({email: 'ipad@gmail.com', product: 'ipad mini'});
Что бы отправлять запросы на сервер SailPlay необходимо получить токен авторизации.
Подробнее об авторизации можно прочитать здесь.
Параметр обязательный? | Имя параметра | Описание параметра |
да | user_phone, email или origin_user_id | Идентификатор клиента. Более подробно см. здесь. |
да | token | см. здесь |
да | store_department_id | см. здесь |
да | vars | json объект, в котором содержание ключей и значений соответствуют названиям и занчениям переменных. |
http://sailplay.ru/api/v2/users/custom-vars/add/?user_phone=79251276112&token=b3c7ac443b9b93bf4daa20f5429a655b5f77bb4b&store_department_id=435&vars={"param_name1":"value1","param_name2":"value2"}
{"updated_count": 2, "created_count": 0, "status": "ok", "user": {"phone": "79251276671", "origin_user_id": null, "email": null}}
Механизм использования персональных переменных схож с использованием обычных переменных Sailplay.
Там, где нужно использовать переменную вставье $[custom_vars.***], где вмето *** - название вашей переменной.
Пример: