Клиент попал в неприятную ситуацию с постоянной рассылкой.


При обращении одного из наших клиентов с проблемой в чекауте вот какую информацию мы раскрутили.

Проблема заключалась в следующем: при оформлении заказа в режиме инкогнито в поле номера телефона постоянно подставлялся один и тот же номер.
В зависимости от настроек чекаута, есть возможность оформлять заказы от таких незарегистрированных пользователей на анонимного пользователя.
Определяется он методом CSaleUser::GetAnonymousUserID(), им же он и создается, если не находит такового.

Создается с e-mail'ом по правилу
$anonUserEmail = "anonymous_".randString(9)."@example.com";
Хранится id анонимного пользователя в опциях модуля sale
COption::GetOptionInt("sale", "anonymous_user_id", 0);

Как следствие первое оформление заказа создаст для этого пользователя профиль и в последующем он будет использован для большего "удобства" клиентов. А тот первый "счастливчик", который оформив заказ первым предоставил свои данные для всех остальных, будет еще долго радоваться письмам и смс-кам, если они как сервис интегрированы в систему. Мы решили проблему, подвесившись на событие "OnSaleComponentOrderResultPrepared" модуля "sale".

Данные актуальны на момент написания статьи, версия битрикс 2016 год.

Комментарии

Оценка:
Защита от автоматических сообщений
CAPTCHA
Введите слово на картинке