Сервис «Яндекс.Карты» неверно считает запросы http api и нарушает собственные правила
У меня есть сайт недвижимости tvoyadres.ru с посещаемостью 30 000 человек в сутки, и я использую геокодер Яндекс карт (JavaScript API и HTTP API Геокодера) и следующий, код, каждый запрос к геокодеру я записываю в счеткик, который обновляется в 23-00 раз в сутки.
С JavaScript API я укладываюсь в 25000 запросов в день, но с HTTP API не получается там лимит 1000, хотя использую 12 в день об этом ниже.
Вот выдержка из правил:
В бесплатной версии JavaScript API и HTTP API Геокодера установлен лимит на общее число запросов. Запросы в считаются суммарно по следующей формуле:
число запросов в Геокодер + число запросов в Маршрутизатор + 5 × число запросов к Панорамам
Их количество не должно превышать 25 000 в сутки, из которых количество запросов к HTTP API Геокодера не должно превышать 1000 в сутки. В случае превышения установленного лимита по JavaScript API или по HTTP Геокодера следует перейти на коммерческое использование API, в котором этот лимит устанавливается тарифом.
Источник https://yandex.ru/dev/maps/jsapi/doc/2.1/terms/index.html/ #index__limit-desc
Cудя по-моему счетчику я максимум делаю 12 запросов в день, а Яндекс в статистике же мне пишет > 1000, но это чисто физически не возможно.
Снимки экрана из личного кабинета
В техническую поддержку я написал 18.11.2020, сегодня мне ответили
К нам не поступают обращения о некорректном подсчете статистики в кабинете, на текущий момент сервис работает корректно.
Вы можете убедиться в этом, создав отдельный ключ и совершив несколько запросов к Геокодеру прямо в браузере. Если по этому ключу вы увидите всего пару запросов, значит, сервис работает корректно. Обычно статистика в кабинете обновляется в течение часа.
Мы не проводим консультаций по написанию кода и не отлаживаем пользовательский код. Надеемся на понимание.
Если проверка на новом ключе не принесет описанных мной результатов, пожалуйста, сообщите нам, приведя примеры запросов и их временные метки.
Я передам информацию специалистам.
Давайте чтоб все было по честному, выгрузите пожалуйста в виде excel все 1062 запроса к http api, тогда увидите что их не было, к сожалению в личном кабинет нету такого отчета у меня, а другие люди просто до конца не разобрались.
Если кто столкнулся с таким отпишитесь здесь, особенно те у кого большие сайты.
Яндекс.Карты API, я устал. Я ухожу
О последней и других каплях в чаше решения о прекращении использования Яндекс.Карты API.
Что случилось?
С 1 ноября Яндекс.Карты уменьшили лимиты на бесплатное использование HTTP API Геокодера с 25 000 до 1 000 запросов в сутки. Но не всех об этом уведомили.
Вдобавок, хоть новые лимиты и касаются только HTTP API Геокодера, он остался спаренным с сервисом встраивания карт. Теперь случайное превышение по использованию геокодера отрубает вам на сутки и карты, несмотря на прежний лимит для встраивания в 25 000.
И вот по поводу компенсации начинается переписка с поддержкой.
Сначала она не видит, что мы вообще используем API. Но прозревает после нашего скриншота.
Дальше она не видит, как мы используем геокодер, чем объясняет отсутствие уведомления о новых лимитах. Хотя у нас обычный характер использования геокодера — это до 100 ежедневно со скачками до 1 000, и несколько раз в год — до 25 000.
Разговор завершается отсылкой к договору, где написано, что Яндекс вам ничем не обязан — все так и должно работать.
Переписка заняла 3-и дня, из которых первый день карты не работали, т.к. никто ничего не стал компенсировать даже на время разбирательства.
Но ноги этого начали расти чуть больше года назад. «Почему появилась эта статья» что-то напоминает — да? 🙂
Версионирование Шрёдингера и др.
До лимитов основной проблемой было версионирование.
Вот вы если указываете номер версии, скажем, 1.65, какую рассчитываете получить в итоге?
Я думал, что — 1.65. Но нет, в Яндекса.Картах свято уверены, что это может и 1.72, и 1.75, и т.д. Хорошо хоть только возрастает. Но это не точно.
На вопрос, где они узнали, что это хорошая практика, ответили ссылкой на свою же документацию о версионировании. Ловко — да? 🙂
Таким образом вам прилетают баги, которых вы не ждали. Править их нужно немедленно — вас опять же никто не уведомил, и откатиться некуда.
По началу я рационализировал такой подход задумкой быстрой обратной связи и внесением правок. Поэтому сообщал о всем, что находил. Но опять не угадал. Как я Вас понимаю, ReDev1L.
Поддержка могла реагировать годами. И даже поправленные баги могут возвращаться.
Т.е. вы должны сами отслеживать и знать все изменения, даже те, которые внутри кода, и вносить правки в соответствии с планом работ Яндекса.
Так и получается, что работаешь то с отсутствием отзывчивых стилей карт, то с неработающей потайловой загрузкой у объектных карт, то с недокэшем тайлов подложки и др.
Не буду уже тратить время на документацию и архитектуру кода, которая часто напоминает итальянское блюдо.
Это просто бизнес, ничего личного.
Циничный это подход. И бизнес выходит хреновый, когда маркетологи-двоечники ставят бабло выше репутации.
Лишнее тому подтверждение — недавний срыв большой сделки с Яндексом. Все-таки кто-то считается с настроениями пользователей.
Свои проекты мы строим по-другому.
До этого API Яндекс.Карт использовался больше 7 лет из-за их покрытия и удобных лимитов. Но теперь, учитывая характер использования, новые лимиты, расценки и качество поддержки, в этом нет смысла. Значительно дешевле, удобней и гибче использовать собственные решения на основе других открытых и бесплатных продуктов.
Тем более, что и так приходилось писать свои обертки для решения проблем сервисов Яндекс.Карт. Например, тот же геокодер натренирован на статистике пользовательского ввода. Из-за чего нередко бывает, что точный адрес не гео-кодируется, а вот, например, без вида улицы — находится.
Думаю, многие другие проекты среднего размера поступят также. В итоге, на Картах останутся только небольшие проекты, которые используют самую базовую функциональность, и коммерческие пользователи, которые будут получать все больше пропущенных багов. Как результат начнется и их отток.
Еще одно интересное следствие всей этой истории — это то, что я перестал воспринимать сотрудников Яндекс как серьезных специалистов. И приходится делить, минимум на 10-ть, все что они говорят, даже если и появляется желание их послушать.
Из, возможно, забавного.
Как-то у Яндекса в Недвижимости появилась функциональность, которая очень напоминала то, что являлось уникальным предложением нашего проекта.
После чего внутренний параноик задумался о случайности совпадений. Т.к. мы за 5 лет до того начали решать проблему поиска жилья с учетом качества жизни. В частности, с учетом экологии, и используя интерактивные карты. А это до сих пор очень нишевый сервис.
P.S.
Есть что-то похожее и про Google. Думаю как-нибудь тоже написать, если допечет.
Кто знает, есть ли плагин для leaflet, чтобы можно было его использовать с backend’ом под API Яндекс.Карт? Если что — я уже начал писать похожее решение.
Бесплатно ли использование API яндекс карт
Я подключил api Яндекс карт на сайт для отображения местоположения компании, карта только помогает найти компанию. Прочитал про трафик, про то, что ПО должно быть открытым и т.д. но все равно есть какое-то недоверие и страх, что придет счëт через пару лет на миллион.
При получении ключа указывается телефон, остальное можно написать фейковое.
Как Яндекс отслеживает нарушения, можно ли в них случайно попасть? Как разработчики поступают при надобности подключить карту на сайт? Цепляют на свой аккаунт или просят заказчика предоставить ключ?
При соблюдении условий можно получить ключ и использовать API Яндекс.Карт бесплатно неограниченное время.
При создании сервиса, изначально соблюдающего все требования упомянутых условий, случайно нарушить правила предельно сложно. Единственная такая возможность — суточные превышения лимита. В такой ситуации доступ к сервису блокируется до конца суток. При систематическом превышении лимита доступ к сервису может быть блокирован перманентно до приобретения коммерческой лицензии.
Случайного "счёта на миллион" постфактум быть не может. Сервис оплачивается по типу prepaid — оплачиваете год использования — получаете оплаченный коммерческий ключ.
При разработке можно использовать и свой ключ. Ключей вы можете создать столько, сколько надо, и блокировать их после передачи продукта заказчику, если боитесь утечки (то же самое может делать и заказчик). Но для конечного продукта правильно будет получать ключ именно заказчику на контролируемый им и полноценно оформленный аккаунт, чтобы при необходимости (забыл пароль) он мог восстановить доступ по личным данным или телефону. Предоставит ли он его вам для разработки или будет использовать на уже готовом сервисе — это как вы договоритесь.