Приложение 4 ТЗ на синхронизацию базы данных с рассылочным сервисом
Приложение 4
ТЗ на синхронизацию базы данных с рассылочным сервисом
Содержание
Задача
Материалы
Набор данных
События
1. Подписка через формы.
2. Регистрация.
3. Заказ.
4. Быстрый заказ.
5. Обновление профиля и настроек подписки.
Задача
Синхронизировать базу данных интернет-магазина shop-example.ru и рассылочного сервиса email-service.com.
Материалы
• Доступ к сервису:
ссылка на вход в Личный кабинет
логин: login
пароль: password
• Документация API:
ссылка на документацию.
• Ключ API:
00xx000xxx00000xxx00000xx000000x-xx0.
• База данных в рассылочном сервисе:
ссылка на список рассылки.
Используемые сокращения:
БД – база данных в рассылочном сервисе
ИМ – интернет-магазин
РС – рассылочный сервис
Набор данных
События
1. Подписка через формы
1.1. Пользователь заполняет форму подписки и нажимает кнопку Подписаться
1.2. Выполняется проверка, есть ли e-mail пользователя в БД
1.3. Если e-mail нет, в РС отправляются данные:
(1) E-mail – в столбец E-mail
(4) В столбец Источник:
– если подписка была через поп-ап-форму, в столбец отправляется «поп-ап»
– если подписка была через форму на главной странице, в столбец отправляется «главная»
– если подписка была через форму на полях, в столбец отправляется «поля»
– если подписка была через форму на отдельной странице, в столбец отправляется «страница»
(6) «0» – в столбец Количество заказов
1.4. Если e-mail есть, в РС отправляются данные:
(4) В столбец Источник, через запятую в формате:
источник_1,[пробел]источник_2,[пробел]…
(Перечень Источников см. выше, повторно один и тот же Источник не заносится.)
Пример 1.1
• Новый пользователь подписался через поп-ап-форму подписки:
Пример 1.2
• Новый пользователь сделал заказ на сайте:
• Потом подписался через форму подписки на полях:
2. Регистрация
2.1. Пользователь заполняет форму регистрации и нажимает кнопку Зарегистрироваться
2.2. Выполняется проверка, есть ли e-mail пользователя в БД
2.3. Если e-mail нет, выполняется проверка, проставлена ли галочка в чек-боксе Подписаться на рассылку
2.3.1. Если галочка не проставлена, ничего не происходит
2.3.2. Если галочка проставлена, то в РС отправляются данные:
(1) E-mail – в столбец E-mail
(2) Имя – в столбец Имя
(3) Город – в столбец Город
(4) «регистрация» – в столбец Источник
(6) «0» – в столбец Количество заказов
2.4. Если e-mail есть, то в РС отправляются данные:
(2) Имя – в столбец Имя
(3) Город – в столбец Город
(4) В столбец Источник
• Если галочка в чек-боксе Подписаться на рассылку не проставлена, ничего не происходит.
• Если галочка в чек-боксе Подписаться на рассылку проставлена, «регистрация» добавляется через запятую в формате:
источник_1,[пробел]источник_2,[пробел]…
(Повторно один и тот же Источник не заносится.)
Пример 2.1
• Новый пользователь зарегистрировался и оставил галочку в чек-боксе Подписаться на рассылку:
Пример 2.2
• Новый пользователь подписался через форму подписки на главной странице:
• Потом зарегистрировался и оставил галочку в чек-боксе Подписаться на рассылку:
• Если бы он НЕ оставил галочку в чек-боксе Подписаться на рассылку:
3. Заказ
3.1. Зарегистрированный и авторизованный пользователь заполняет форму заказа и нажимает кнопку Заказать
3.2. Выполняется проверка, есть ли e-mail пользователя в БД
3.3. Если e-mail нет, то ничего не происходит
3.4. Если e-mail есть, то, когда статус заказа в CMS меняется на «Завершен», в РС отправляются данные:
(5) Дата смены статуса заказа на «Завершен» – в столбец Дата последнего заказа
(6) «+1» – к значению в столбце Количество заказов
Пример 3
• Зарегистрированный и авторизованный пользователь, который до этого подписался на рассылку при регистрации, сделал заказ:
• Через неделю статус заказа пользователя в CMS был изменен на «Завершен»:
• Если бы заказ не был завершен, то данные о нем в БД так бы и не поступили:
4. Быстрый заказ
4.1. Пользователь заполняет форму быстрого заказа и нажимает кнопку Заказать
4.2. Выполняется проверка, есть ли e-mail пользователя в БД
4.3. Если e-mail нет, выполняется проверка, проставлена ли галочка в чек-боксе Подписаться на рассылку
4.3.1. Если галочка не проставлена, ничего не происходит
4.3.2. Если галочка проставлена, то в РС отправляются данные:
(1) E-mail – в столбец E-mail
(2) Имя – в столбец Имя
(3) Город – в столбец Город
(4) «заказ» – в столбец Источник
(6) «0» – в столбец Количество заказов
Когда статус заказа в CMS меняется на «Завершен», в РС отправляются дополнительные данные:
(5) Дата смены статуса заказа на «Завершен» – в столбец Дата последнего заказа
(6) «+1» – к значению в столбце Количество заказов
4.4. Если e-mail есть, то в РС отправляются данные:
(2) Имя – в столбец Имя
(3) Город – в столбец Город
(4) В столбец Источник
• Если галочка в чек-боксе Подписаться на рассылку не проставлена, ничего не происходит.
• Если галочка в чек-боксе Подписаться на рассылку проставлена, «заказ» добавляется через запятую в формате:
источник_1,[пробел]источник_2,[пробел]…
(Повторно один и тот же Источник не заносится.)
Когда статус заказа в CMS меняется на «Завершен», в РС отправляются дополнительные данные:
(5) Дата смены статуса заказа на «Завершен» – в столбец Дата последнего заказа
(6) «+1» – к значению в столбце Количество заказов
Пример 4.1
• Новый пользователь сделал быстрый заказ и оставил галочку в чек-боксе Подписаться на рассылку:
• Через неделю статус заказа пользователя в CMS был изменен на «Завершен»:
Пример 4.2
• Новый пользователь подписался через поп-ап-форму подписки:
• Потом сделал быстрый заказ, но НЕ оставил галочку в чек-боксе Подписаться на рассылку:
• Через неделю статус заказа пользователя в CMS был изменен на «Завершен»:
Пример 4.3
• Пользователь сделал и оплатил первый быстрый заказ:
• Спустя некоторое время пользователь сделал новый быстрый заказ, однако оплачивать его не стал:
5. Обновление профиля и настроек подписки
5.1. Профиль пользователя может быть изменен двумя способами:
• пользователь самостоятельно редактирует данные учетной записи в личном разделе на сайте;
• администратор редактирует данные профиля пользователя в CMS.
5.2. После подтверждения изменений профиля соответствующие данные обновляются и в БД:
(1) E-mail – в столбец E-mail (если поменялся)
(2) Имя – в столбец Имя (если поменялось)
(3) Город – в столбец Город (если поменялся)
5.3. Настройки подписки пользователя осуществляются за счет подраздела профиля, в котором пользователь/администратор может поставить или снять галочку в чек-боксе Подписка на рассылку
5.4. После подтверждения изменений настройки подписки выполняется проверка, есть ли e-mail пользователя в БД
5.5. Если e-mail нет, выполняется проверка, проставлена ли галочка в чек-боксе Подписка на рассылку
5.5.1. Если галочка не проставлена, ничего не происходит
5.5.2. Если галочка проставлена, то в РС отправляются данные
(1) E-mail – в столбец E-mail
(2) Имя – в столбец Имя
(3) Город – в столбец Город
(4) «профиль» – в столбец Источник
(6) «0» – в столбец Количество заказов
5.6. Если e-mail есть, выполняется проверка, проставлена ли галочка в чек-боксе Подписка на рассылку
5.6.1. Если галочка не проставлена, то пользователь отписывается от рассылки с помощью соответствующего метода API, но его e-mail остается в БД
5.6.2. Если галочка проставлена и пользователь был отписан от рассылки, то его подписка возобновляется с помощью соответствующего метода API
5.6.2. Если галочка проставлена и пользователь уже подписан на рассылку, ничего не происходит
Пример 5.1
• Новый пользователь зарегистрировался и оставил галочку в чек-боксе Подписаться на рассылку:
• Позднее он поменял имя в учетной записи с Alex на Алексей, а город с СПб на Санкт-Петербург:
• Спустя некоторое время ему потребовалось заменить и e-mail:
Пример 5.2
• Новый пользователь зарегистрировался и НЕ оставил галочку в чек-боксе Подписаться на рассылку:
• Позднее, редактируя учетную запись на сайте, он включил галочку:
Данный текст является ознакомительным фрагментом.