Интеграция с SailPlay Sender

Интеграция с сервисом чрезвычайно проста. Доступно два способа интеграции: через backend и через frontend (JS). 

Теги

Интеграция через JavaScript

Интеграция состоит в загрузке 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){ //эта функция выполнится после того, как клиент получит тег }
});
}
});
}

Интеграция через Backend

Что бы отправлять запросы на сервер 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-сообщения цепочек и рассылок персонализированные данные ваших клиентов. Например последний добавленный в избранное товар, или статус заказа.

Интеграция через JavaScript

 

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'});

Интеграция через Backend

Что бы отправлять запросы на сервер 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.***], где вмето *** - название вашей переменной.

Пример: