Приложение 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

• Новый пользователь зарегистрировался и НЕ оставил галочку в чек-боксе Подписаться на рассылку:

• Позднее, редактируя учетную запись на сайте, он включил галочку:

Данный текст является ознакомительным фрагментом.