В шопскрипте нет хука на вход в личный кабинет, поэтому такое решение.
Помимо отправки уведомлений о входе, можно начислять людям бонус за вход с мобильного устройства, отправлять push с информацией об акциях.
Итак приступим.
Шаг 1.
Скачайте наш плагин и залейте на сайт по пути wa-apps/shop/plugins/
Шаг 2.
Добавьте этот код в конец вашего index.html магазина. Примерный путь до файла такой wa-data/public/site/themes/<theme_id>/index.html
{$userId = $wa->user()->getId()}
{if $userId}
<script>
var userId = { $userId };
document.addEventListener('DOMContentLoaded', function () {
// Функции для работы с cookies
function setCookie(name, value, days) {
var expires = "";
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = "; expires=" + date.toUTCString();
}
document.cookie = name + "=" + (value || "") + expires + "; path=/";
}
function getCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1, c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
}
return null;
}
if (!getCookie('first_visit')) {
setCookie('first_visit', '1', 1);
// Проверяем, авторизирован ли пользователь
if (userId) {
// Отправляем POST-запрос
var xhr = new XMLHttpRequest();
var baseUrl = window.location.origin;
xhr.open("POST", baseUrl + '/pushnotifylogin/', true);
xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
xhr.onload = function () {
window.location.href = "{$wa_app_url}";
};
xhr.onerror = function () {
};
xhr.send('id=' + encodeURIComponent(userId));
}
}
});
</script>
{else}
<script>
$(document).on('ready', function () {
function eraseCookie(name) {
document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
}
// Функции для работы с cookies
function setCookie(name, value, days) {
var expires = "";
if (days) {
var date = new Date();
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
expires = "; expires=" + date.toUTCString();
}
document.cookie = name + "=" + (value || "") + expires + "; path=/";
}
function getCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for (var i = 0; i < ca.length; i++) {
var c = ca[i];
while (c.charAt(0) == ' ') c = c.substring(1, c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length, c.length);
}
return null;
}
if (getCookie('first_visit')) {
eraseCookie('first_visit');
}
})
</script>
{/if}
ВСЁ. Если что, обращайтесь!