new

Sendsay

Интеграция с сервисом email-маркетинга Sendsay
Автор дополнения
Артур Шевченко
Пакетов
6
Закачек
2 137
Обычно отвечает в течение недели
Автор дополнения
Пакетов
6
Закачек
2 137
Обычно отвечает в течение недели
Версия 1.0.3-pl
Дата выпуска 27.02.2025
Загрузки 0
Просмотры 30
Внимание, этот компонент требует версию PHP 7.4 или выше! Если ваш сайт использует PHP ниже требуемого, установка этого дополнения может его сломать.
Внимание, этот компонент требует версию MODX не ниже 2.8 !
Sendsay — компонент передачи данных в сервис email-маркетинга Sendsay.

!!! ВАЖНО!!! Требуется версию PHP >= 7.4

Возможности:
1. Подписка на рассылку
2. Отправка событий:
2.1. Просмотр категории;
2.2. Просмотр товара;
2.3. Добавление в корзину;
2.4. Изменение корзины;
2.5. Удаление из корзины;
2.6. Очистка корзины;
2.7. Оформление заказа;
2.8. Изменение статуса заказа;
2.9. Регистрация на сайте после активации пользователя (OnUserActivate);
2.10 Авторизация на сайте (OnWebLogin).

Обязательные настройки:
1. Указать в системной настройке ss_api_key ключ доступа к API.
2. Указать в системной настройке ss_account_id ID аккаунта в Sendsay.

Настройки для возможности подписки на рассылки.
1. Добавить в форму подписки поля
— где, pl2312 — id списка для рассылки, а value может быть set — добавление в список или delete — удаление из списка.
— если нужно отправить подписчику письмо для подтверждения подписки
— номер шаблона информационного письма
— номер шаблона информационного письма
Подробнее о подтверждении читайте в документации sendsay.ru/api/api.html#Cоздать-подписчика-Обновить-данные-подписчика-КД
— email пользователя.
2. Опционально можно добавить поля с именами base[someKey] и custom[someKey].
Массив `base` содержит базовую информацию о пользователе
Фамилия — lastName
Имя — firstName
Отчество — middleName
Пол — gender (1 — мужской, 0 — женский)
Дата рождения — birthDate
Город — city
Адрес — address
Индекс — postalCode
Часовой пояс — tz
Страна — country (коды стран можно посмотреть в ЛК Sendsay)
Массив `custom` содержит дополнительную информацию о пользователе, т.е. те поля которые вы создали сами.
3. Использовать хук для FormIt `SendsaySubscibe`.

Настройка отправки событий в модуль Продажи.

!!! ВАЖНО!!! Ваш тариф должен включать в себя модуль Продажи.
!!! ВАЖНО!!! Необходимо установить miniShop2, SendIt.

1. Указать в системной настройке `ss_account_id` ID списка для рассылки писем пользователя сделавшим заказ.
2. Указать в системной настройке `ss_sale_script` код скрипта из сервиса Sendsay.
3. Сверить сопоставление статусов в системной настройке ss_statuses, значение слева от == ID статуса на сайте, значение справа — ID статуса в сервисе.
4. Если нужно удалять заказчиков из других списков, укажите из ID в системной настройке `ss_delete_from_lists`.

Для разработчиков.

Для внесения изменений в логику работы JS можно указать другой путь к файлу в системной настройке `ss_frontend_js`.

Основной код компонента расположен в папке `core/components/sendsay/services` с комментариями.

Компонент использует composer для автозагрузки классов по стандарту PSR-4. Все классы лежат в папке `core/components/sendsay/services/`.
Компонент не создаёт таблиц в БД.

Класс ModxSendsay\ApiClient содержит список публичных методов для работы с подписчиками и отправки событий.
Класс ModxSendsay\Base является базой для классов Sales и Subscriber.
Класс ModxSendsay\Subscriber предназначен для создания и редактирования контактов. Подготавливает данные для отправки в Sendsay.
Класс ModxSendsay\Sales предназначен для управления товарами, заказами, корзинами и категориями. Подготавливает данные для отправки в Sendsay.
Класс ModxSendsay\Feed предназначен для формирования фида. Для автоматизации процесса следует добавить в планировщик задачу на запуск скрипта из папки cron.
Класс ModxHelpers\Request реализует метод отправки запросов через CURL.
Класс ModxHelpers\Logging позволяет записывать логи работы скриптов в файл.
Класс ModxHelpers\QueueManager позволяет работать с очередями добавлять и читать сообщения.

Компонент генерирует следующие системные события:
1. ssOnBeforeParseOffer — срабатывает до парсингом оффера, позволяет поменять любые данные оффера через $feed->offer (\ModxSendsay\Feed $feed), так же есть прямой доступ к массиву данные через array $offer;
2. ssOnBeforeGetProducts,ssOnGetEventData,ssOnBeforeGetModificationOptions — позволяет изменить запрос на получение соответствующих данных используя переменную \xpdoQuery $query;
3. ssOnGetEventData — позволяет менять данные событий перед отправкой в Sendsay; Доступны переменные \ModxSendsay\Sales $sales ($sales->eventData) и array $eventData;

Последние обсуждения в сообществе MODX.pro