На моем проекте есть функция загрузки объявлений с других порталов. До этого момента я обычно собирал источники данных через заявки от клиентов, которые сами мне писали.
Т.е. инициатива шла от клиента, ему нужно раскидывать свои объекты по площадкам. Каким-то образом он находил мой сайт недвижимости, затем находил адрес электронной почты и писал мне вопрос. Я отвечал на вопрос: объяснял, что и как делать. Клиент отправлял мне свой XML, я добавлял его в систему для парсинга.
Меня совсем не напрягал такой процесс, я привык к нему и всегда так делал.
Недавно я снова получил подобную заявку от нового клиента. Опять повторился диалог. Потом клиент попросил договор или оферту на сайте, чтобы он мог ее принять и начать со мной работать.
Я пошел в википедию и прочитал про то, что такое Оферта. Серьезно, я много раз про нее слышал, но в детали и настоящий юридический смысл не вникал. Теперь же я понял, что это просто определенное предложение для клиентов, в котором разъяснено мое торговое предложение и способы, которыми клиент может им воспользоваться. Когда клиент начинает пользоваться моим продуктом или услугой, значит он принял эту оферту. Считай подписал договор со мной. Теперь и у меня автоматически появляются обязательства по выполнению условий, которые я указал в оферте.
Сегодня я потрудился и просто описал все условия и действия, которые нужно выполнить клиенту, чтобы начать выгружать ко мне XML-файл. Повторил диалог с клиентом в одном тексте. Потом создал отдельную страничку на сайте и загрузил этот текст.
Теперь любой новый клиент читает эту информацию, выполняет по ней действия и так как это оферта, то автоматически соглашается с условиями обслуживания, а я автоматически должен выполнять обязательства. Без долгих обсуждений через электронную почту. Мне только нужен факт подписки на услугу, указанную в оферте.
Тут я и познал этот дзен юридических механизмов. Можно было писать хитрые модули, составлять формы, опросники и еще миллион разных мелочей, которые в итоге не упростили бы, а только усложнили дело. При этом я мог бы погрузиться в доработки и исправление ошибок в этой подсистеме. Заключил бы себя в ловушку собственной придумки, которая нужна сама себе.
А тут элементарная страница с текстом, которую я составил за полчаса и готово! Налажен целый бизнес-процесс.
Вывод
Важно не только уметь программировать, но еще и принимать обманчиво простую логику взаимоотношений между людьми. Стремиться не создавать сложные программные модули раньше времени, а сначала продумать, как бы это можно было сделать через простую понятную обычному человеку инструкцию.