{"id":14275,"url":"\/distributions\/14275\/click?bit=1&hash=bccbaeb320d3784aa2d1badbee38ca8d11406e8938daaca7e74be177682eb28b","title":"\u041d\u0430 \u0447\u0451\u043c \u0437\u0430\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e\u0442 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u043f\u0440\u043e\u0434\u0430\u0432\u0446\u044b \u0430\u0432\u0442\u043e?","buttonText":"\u0423\u0437\u043d\u0430\u0442\u044c","imageUuid":"f72066c6-8459-501b-aea6-770cd3ac60a6"}

Как мы сэкономили минимум 620 000 рублей в год на добавлении Яндекс Карт на сайт одного из наших проектов?

Кейс нашей компании о том, как мы предотвратили ежегодные расходы в размере от 620 000 до 5 064 000 рублей на внедрении на наш сайт Яндекс Карт. Подробно рассказываем, как действовали, что придумали и довольны ли результатом.

Какова была наша цель?

В наш проект KVIK – сервис для размещения объявлений – необходимо было интегрировать карту. Нам нужно было, чтобы продавец мог отмечать на карте своё географическое местоположение. Это бы сделало взаимодействие покупателя с сайтом гораздо удобнее: он бы мог увидеть, где именно находится составитель объявления. После бурных обсуждений для нашего сервиса было решено выбрать Яндекс Карты.

Какие правила у Яндекса?

Для достижения цели из пяти продуктов API Яндекс Карт нам требовались лишь JavaScript API и Геокодер. Первый из них необходим для того, чтобы встроить Яндекс Карты на сайт, а второй – для того, чтобы определять координаты географических объектов по адресу, и наоборот.

Продукты API Яндекс Карт

Яндекс предлагает бесплатное пользование своими продуктами API, но с определёнными условиями:

1. API должен использоваться только в проектах с открытым доступом

2. Нельзя использовать API в коммерческих проектах

3. Данные, полученные средствами API, должны быть показаны на карте Яндекса

4. Запрещается сохранять или изменять данные, полученные средствами API

5. Запрещается скрывать и видоизменять копирайты и логотип Яндекса на карте

6. Нельзя использовать API для мониторинга и диспетчеризации

7. Нельзя превышать суточный лимит запросов к API (для JavaScript API – 25000 запросов в сутки, а для Геокодера – 1000 запросов в сутки)

8. Мобильное приложение должно содержать ссылку на Условия использования Яндекс.Карт

Коммерческая версия API Яндекс.Карт

Если хоть один из этих пунктов нарушается, Яндекс просит выбрать какой-либо платный тариф для пользования его картами:

Платные тарифы для пользования API Яндекс Карт вместе с возможностью сохранять и изменять полученные данные

С чего мы начали?

В нашем случае была необходимость, чтобы пользователь видел указанный продавцом адрес на карте, а продавец мог вписывать адрес при публикации объявления. И если для выполнения первой задачи мы имели право использовать Яндекс Карты бесплатно, то для того, чтобы решить вторую задачу, пришлось повозиться. Нам нужно было сохранять данные, полученные с помощью API Яндекс Карт, для эффективной реализации функционала объявлений с геометками. Однако, исходя из правил Яндекса, за такую возможность нужно платить немалые деньги (от 620 000 рублей в год и выше). Именно поэтому, создав с помощью бесплатной версии API Яндекс Карт вариант карты для покупателя, мы начали думать, как обойти ограничения от российского IT-гиганта.

Вариант карты для покупателей (бесплатная версия Яндекс Карт)

Что мы придумали?

Для реализации на нашем сайте варианта Яндекс Карт для продавцов мы придумали весьма интересный способ, заключающийся в следующем. Мы взяли бесплатный шаблон Яндекс Карт и «натянули» на него данные с серверов DaData, получив у них бесплатный ключ API. В базах данных DaData содержатся все адреса и координаты объектов, находящихся на территории России, а Яндекс Карты выступают здесь проводником для этих данных. Когда пользователь вбивает адрес в текстовое поле, в базы данных DaData направляется запрос, и оттуда высылаются геоданные по указанному адресу. Эти координаты и отображаются на Яндекс Картах в виде особой метки. То есть, все данные идут с серверов DaData, а не из баз данных Яндекса. Яндекс Карты тут выступают в роли «картинки», которая получает все заранее подготовленные данные с DaData и отображает метки на основе полученных координат. Ну и разумеется, карта не интерактивна и не поддерживает разные функции от Яндекса.

Вариант карты для продавцов (Яндекс Карты + DaData)

Что мы думаем о результате работы?

Мы оказались довольны проделанной работой и тем, что смогли отыскать выход из этой непростой ситуации. Результат получился довольно приемлемый, к тому же мы экономим как минимум 620 000 рублей в год (по самому дешёвому тарифу). Полная реализация нашей идеи заняла 24 часа рабочего времени, но это того стоило. Теперь у нас есть бесценный опыт в поисках выхода из сложного положения и сбережённые деньги.

Какие плюсы у этого способа?

1. Абсолютно бесплатно.

2. Полностью законно.

3. Возможность сохранения данных от API DaData в собственную базу данных.

4. Хитрый и интересный ход.

Какие у данного метода минусы?

1. Нет интерактивности карты через клики и других дополнительных функций, присутствующих в Яндекс Картах.

Законный ли этот способ?

Разумеется, этот способ абсолютно прозрачен и легален: никакие последствия и санкции от Яндекса нам не грозят. Мы уважаем компанию Яндекс и соблюдаем все их правила. Мы собрали воедино бесплатную версию Яндекс Карт и бесплатный ключ API DaData, выжали максимум возможностей из обоих продуктов и гордимся собой.

Кстати, в будущем мы продолжим рассказывать и о других интересностях в нашей работе. Не пропустите, будет интересно!

0
1 комментарий
am8am

Интересное решение. Только если dadata решит таки брать 10 коп за каждый запрос как у них написано то с их же описания Геокодера следует что дешевле базу к себе будет поставить (если запросов много):

Покрытие координат
«Дадата» берет координаты домов и улиц из OpenStreetMap и что-то мне подсказывает у яндекса сильно лучше база но не за 620к+ в год же ей пользоваться конечно, при том что они раньше не баняли даже вызовы парсера с бека к ней, как сейчас не знаю.

Ответить
Развернуть ветку
-2 комментариев
Раскрывать всегда