e-mail – в столбец E-mail
;имя – в столбец Имя
;город – в столбец Город
;И т. д.
Примеры реализации
Для полного понимания задачи удобно каждое событие снабжать примером того, как будет выглядеть база данных в рассылочном сервисе при том или ином событии.
Пользователь зарегистрировался на сайте, при этом оставил галочку в чек-боксе на подписку. Тогда в рассылочный сервис отправляются следующие данные:
Конечно, при подготовке каждого пункта ТЗ есть нюансы. Например, когда отправлять в сервис данные о заказе: сразу после его совершения (что не очень точно) или только после смены статуса заказа на «Завершен» (что уже лучше)?
Однако вместо того, чтобы тратить десяток страниц на описание всех этих мелочей (в которых к тому же можно запутаться и увязнуть), проще взглянуть на готовый пример ТЗ и закрыть бóльшую часть возникших вопросов. Пример типового ТЗ на синхронизацию вы найдете в приложении 4.
Внедрение по ТЗ
Когда задание готово, отдайте его в работу программисту. Не пускайте дело на самотек, старайтесь поддерживать связь с исполнителем в процессе работы. У него могут возникать принципиальные вопросы, которые лучше обсудить совместно, чем полностью оставлять на усмотрение программиста. В конце концов, план e-mail маркетинга писали именно вы, и кому как не вам лучше знать все его тонкости и нюансы.
После того как синхронизация выполнена, нужно будет принять работу.
Объект тестирования в этом случае достаточно сложен – целая программа, выполняющая множество различных действий по условиям «если/то». Поэтому и тестирование будет непростым.
Рекомендую для начала набросать на бумаге чек-лист (план) тестирования и уже потом приступать к проверке, чтобы ничего не упустить. Примерный чек-лист выглядит так:
• Зашел ли e-mail в сервис?
• Зашли ли в сервис сведения о соответствующем источнике подписки?
• Что произойдет, если попытаться подписаться на тот же адрес еще раз?
• Что произойдет, если подписаться на тот же адрес через несколько разных источников?
• Зашел ли e-mail в сервис, если галочка в чек-боксе на подписку включена?
• Зашли ли в сервис имя и город подписчика?
• Зашли ли сведения о соответствующем источнике подписки?
• Что будет, если отключить галочку в чек-боксе на подписку?
• Зашла ли в сервис дата последнего заказа?
• Обновилось ли количество заказов?
• Что, если статус заказа не поменяется на «Выполнен»?
• Обновились ли данные в сервисе после обновления их в профиле на сайте?
Скорее всего, несмотря на подробное ТЗ, синхронизация не заработает как нужно с первого раза. Запаситесь терпением: не набрасывайтесь на программиста после первой выявленной ошибки с требованиями немедленно все исправить – пройдите весь чек-лист до конца, а по итогам составьте
Готовьтесь принимать работу во второй и в третий раз (провести несколько
Пример отчета об ошибках:
П. 1.2 не выполняется.
П. 1.4 выполняется частично (адрес заходит, имя и город не заходят).
Тестировал на ящике info@ shop-example. ru…
И т. д.
Возможно, составлять такие отчеты – не самое приятное занятие, но другого способа добиться надлежащего качества исполнения пока не придумано.
Готовые решения: за и против
Если CMS вашего магазина достаточно продвинута, а сервис рассылок, к услугам которого вы прибегаете, не относится к разряду совсем уж экзотических, в ее составе вполне может обнаружиться готовый модуль интеграции: вписали в него ключ API, нажали кнопочку «Подключить» – и готово дело.
Это большой соблазн: обойтись без многостраничного ТЗ, десятка часов работы программиста и пачки отчетов об ошибках. Тем не менее я все-таки сторонник «ручного» подхода. Ни разу еще мне не встречался готовый модуль интеграции с рассылочным сервисом, который хотя бы на 50 % удовлетворял потребностям e-mail маркетинга.
Как правило, модули хорошо справляются с импортом основной информации: e-mail и имени подписчика, но гораздо хуже – с дополнительными данными вроде сведений о заказе или источнике подписки. Однако именно дополнительные данные, отправленные в сервис в нужном порядке и в нужный момент времени, определяют эффективность синхронизации.