Управление API-ключами Яндекс.Карт: добавление, ограничение использования, блокировка
Я застал то время, когда процесс создания Яндекс.Карты с использованием соответствующего API не подразумевал наличия персонального ключа доступа.
С некоторого же времени, политика Яндекса в отношении использования своего сервиса (Яндекс.Карт) изменилась, и теперь, чтобы сформировать карту, прежде всего необходимо получить персональный API-ключ.
Сделать это можно бесплатно (при соблюдении всех условий использования API Яндекс.Карт, подробнее с которыми можно ознакомиться в официальной справке) и как именно – рассмотрим в этом подробном посте.
Получаем первый бесплатный API-ключ для работы с Яндекс.Картами
Для того, чтобы получить первый ключ API для работы с картами, нам необходимо подключить соответствующий сервис. Процедура не сложная и состоит из нескольких шагов. Последующее же добавление (выпуск) ключей происходит на порядок проще и быстрее (об этом ниже).
1. Перейдите по этой ссылке (откроется в новом окне) и авторизуйтесь в кабинете разработчика.
2. Далее на открывшейся странице нажмите «Подключить API». Кнопка будет по центру. Справа вверху, если вы уже используете какой-то из сервисов Яндекса.

3. В открывшемся модальном окне в блоке «Карты» выберите «JavaScript API и HTTP Геокодер»

и нажмите «Подключить», где в следующем модальном окне заполните (и отправьте) форму со всеми обязательными полями (отмечены красной звёздочкой).
Если вы получаете бесплатный ключ (это мы и рассматриваем в данной статье), отмечаете в форме пункты: «В открытой» (для типа системы, в которой будет использоваться API), «В бесплатном» (для типа вашего проекта) и «Буду отображать данные на карте» (как будете использовать полученные данные).
После успешной отправки формы и появления нового окна с сообщением «API сервис подключён» жмёте на кнопку «Перейти к API».

Подключение сервиса завершено, и мы попадаем в его панель управления, где в блоке «Ключи API» уже доступен один действующий ключ, который вы можете использовать в своём проекте.

Ключи становятся активированными в течение 15 минут после их получения. Каких-либо дополнительных действий с вашей стороны при этом не требуется.
Помимо первого ключа здесь (на момент написания поста) вам доступно: удаление API-интерфейса и общая (по всем ключам) статистика по использованию API с возможностью её выгрузки (скачки) в XLS и CSV,

добавление (выпуск) новых ключей API, а также управление существующими.
Как использовать (куда вставлять), полученный API-ключ для Яндекс.Карт?
Ключ прописывается в адресе до JavaScript-файла, подключение которого выглядит примерно следующим образом:
«API-ключ» здесь вы меняете на ключ, который получили ранее, а дальше как обычно «строите» свою карту. Подробнее об этом можете почитать в отдельных наших постах.
Выпуск (добавление) дополнительных API-ключей для Яндекс.Карт
Если по какой-то из причин вам потребовался ещё один (или несколько) ключ для работы с картами, добавить новый вы можете в панели управления сервисом, в правом верхнем углу, нажатием на кнопку «Новый ключ».

В появившемся окне прописываете название ключа (необязательное действие) и жмёте «Добавить ключ»,

после чего тот появится в списке всех ключей в блоке «Ключи API».
Как ограничить использование API-ключа, полученного для работы с Яндекс.Картами на другом сайте?
Поскольку в некоторых случаях ключ можно без труда найти в исходном коде сайта и скопировать, его использование на других ресурсах можно ограничить. Сразу оговорюсь, что ограничение работает только для тарифицируемых запросов (это геокодирование, маршрутизация и панорамы Яндекса), сама же карта на другом сайте с использованием вашего ключа продолжит свою работу.
Настройка ограничения доступна в модальном окне, которое вызывается нажатием на «Изменить» в блоке каждого ключа.

Здесь нас интересуют два поля, это «Ограничение по IP-адресам» и «Ограничение по HTTP Referer» (домену). Заполняете необходимые (можно сразу оба) по примерам ниже их и сохраняете изменения нажатием на соответствующую кнопку (ОК).

Указанные ограничения начинают действовать через 15 минут после их добавления.
Как удалить API-ключ, полученный для работы с Яндекс.Картами?
Если я правильно понял, бесследно удалить ключ API нельзя, но его можно заблокировать, нажав на соответствующую ссылку, которая появляется при наведении курсора на блок с ключом.

По необходимости действие ключа можно восстановить, нажав на сменившуюся в том же месте кнопку «Разблокировать».
Что такое перехватчик заказов Яндекс.Такси
Заработная плата водителя такси напрямую зависит от его активности: чем больше заказов выполняется в день, тем выше доход, а поскольку рынок транспортных услуг — это весьма высококонкурентная сфера, обеспечить себя работой в нужном объеме рядовому перевозчику бывает очень трудно. Подключение к такси «Яндекс» позволяет отчасти решить данную проблему. Услугами агрегатора ежедневно пользуются миллионы людей, поэтому постоянный поток заказов, позволяющий заработать приличные деньги, гарантирован.
Многие водители, специализирующиеся на пассажирских перевозках, чтобы наверняка обеспечить себя работой, не только подключаются к системе «Яндекс.Такси», но и используют так называемые программы-перехватчики заказов. Насколько это законно и эффективно, постараемся разобраться.
Что собой представляет перехватчик заказов?
Перехватчик — это нелицензированная программа, разработанная программистами-любителями с целью личного заработка. Программное обеспечение позволяет получать приоритет в заказах: водитель видит заявку от клиента самым первым, еще до того, как она появилась на экране таксометра у других коллег, поэтому может спокойно ее забрать и выполнить. Настроить работу перехватчика можно под конкретного пользователя.
Таксист самостоятельно задает такие рабочие параметры, как:
- стоимость заказа;
- радиус действия программы;
- наилучший тариф;
- автоматическое определение удаленности по месту и времени.
Программа также позволяет выставлять месторасположение рабочего автомобиля вручную, изменяя показатели устройства GPS. Благодаря такому приему перевозчики получают возможность забирать выгодные заказы даже в самых отдаленных местах, несмотря на то, что находятся в совершенно другом конце города. Система по ошибке определяет авто водителя, использующего перехватчик, как самое ближайшее, и отдает заявку от клиента именно ему. Как результат — «жирный» заказ у перевозчика на руках, а клиент ожидает такси до 40 минут и более.
Разработчики программного обеспечения утверждают, что после установки «виртуального помощника» водитель зарабатывает в 2–3 раза больше, чем таксисты, работающие в официальной системе «Яндекс.Такси».
Как работает перехватчик?
Принцип работы прост: после запуска программное обеспечение автоматически подключается к внутренней системе таксопарка агрегатора, таксист на экране своего гаджета видит информацию обо всех заказах, которые операторы еще не успели распределить между водителями, работающими на линии. Перевозчик самостоятельно выбирает выгодную для него заявку, которая мгновенно закрепляется за ним. Выгода очевидна!

Как установить программу?
Программное обеспечение устанавливается быстро и просто. Все, что требуется от таксиста:
- найти соответствующее приложение в интернете;
- скачать программное обеспечение на смартфон или планшет;
- подвязать к системе GPS или сети таксопарка (в каждом отдельном случае используется определенная версия перехватчика);
- своевременно отслеживать свободные заявки и выбирать те, которые максимально отвечают запросам.
Перехватчик — это платная программа, поэтому найти ее в свободном доступе точно не получится.
Во сколько обойдется приложение и как быстро оно окупается?
Стоимость «виртуального помощника» разная. Она во многом зависит от версии, функционала и технических возможностей приложения. В среднем за программу разработчики просят от 3 до 5 тысяч рублей. Некоторые из них предлагают сначала испытать пробную версию, но для работы на постоянной основе она не подходит. Некоторые таксисты самостоятельно подыскивают достойных программистов, которые могут создать лично для них программу с нуля.
Сколько времени уйдет на то, чтобы полностью окупить перехватчик, точно никто сказать не может. Все зависит от водителя и его активности. Разработчики утверждают, что вернуть потраченные на покупку средства можно всего за 1 день плодотворной работы.
Последствия использования программного обеспечения
Использовать перехватчик, несомненно, выгодно, но нужно понимать, что такой софт считается незаконным. Если служба такси выявит факт применения программы, водитель будет навсегда заблокирован в системе и уже не сможет никогда полноценно работать.
Другие негативные моменты:
- высокий риск купить программное обеспечение, которое не будет эффективно функционировать. Перехватчики создают программисты-любители, и конкретных гарантий, что они будут в полном объеме выполнять свои основные функции без сбоев, никто дать не может. Тем более, что многие продавцы таких приложений — обычные мошенники, которые после получения денег просто исчезают. Поэтому перед тем, как приобрести перехватчик, нужно обязательно узнать у коллег, которые ими пользуются, насколько эффективно программы работают и где была совершена покупка;
- утечка личных данных. Многие софты, которые функционируют через всемирную паутину, могут успешно похищать личные данные — пароли, номера телефонов, доступ к картам, социальным сетям и другим сервисам. Особенно это касается перехватчиков, которые предлагают по минимальным ценам;
- внутренние проблемы и регулярные сбои в работе софта. На первый взгляд, приложение может работать эффективно, но со временем многие водители сталкиваются с рядом проблем и сбоев, которые практически невозможно устранить;
- трудности в работе. Программа требует не только установки, но и правильного использования. Если таксист не может работать даже с элементарными мобильными приложениями, освоить непростой интерфейс ему будет непросто.
Каждый таксист, принимающий решение использовать перехватчик, должен понимать, что за это его могут привлечь к материальной и административной ответственности. Служба «Яндекс.Такси» имеет полное право подать на нечестного перевозчика в суд и потребовать компенсацию за разглашение личной информации.
Стоит ли покупать перехватчик?
Разработчики такого софта обещают, конечно же, многое — и неограниченное число заказов, и возможность самостоятельного выбора самых выгодных заявок от клиентов, и увеличение дохода в 2–3 раза. Но, как показывает практика, у большинства таксистов не получается эффективно использовать перехватчик, поскольку информационные технологии не стоят на месте, постоянно появляется на рынке новый софт, который гораздо совершеннее и функциональнее, чем предыдущая версия. Нет никаких гарантий, что у водителя с ранее приобретенной программой не уведет заказ его конкурент, у которого установлено более мощное программное обеспечение.
Плюс ко всему за использование перехватчика «Яндекс.Такси» исключает из базы заказов навсегда, и поскольку от программ страдает в первую очередь пассажир, сервис тщательно отслеживает работу своих водителей, выявить нарушителя не составляет особого труда. Если вы дорожите своей работой в «Яндекс.Такси» и не хотите оказаться на скамье подсудимых, лучше работать честно, тем более, что заявок от клиентов, регулярно поступающих на сервис, предостаточно. Заработать сможет каждый желающий, было бы желание.
Вы еще не успели получить доступ к базе заказов «Яндекс.Такси»? Обращайтесь в The Cab. Компания является официальным партнером сервиса, поэтому имеет полное право без ограничений выполнять заказы, поступающие от клиентов. The Cab предлагает простое оформление, юридическую защиту + постоянную поддержку водителей. Даже без перехватчиков и другого подобного софта водители компании всегда обеспечены работой, поэтому прилично зарабатывают. The Cab успешно функционирует во всех городах России, где есть сервис «Яндекс.Такси». Устроиться на работу в компанию проще простого — подайте онлайн-заявку на официальном сайте The Cab, устанавливайте специальную программу сервиса и принимайте свои первые заказы.
Онлайн сервис заказа такси. Часть 4. Разработка сайта
Поскольку с мобильным приложением вопрос был решен, с этим вопросом занимался программист мобильного приложения, оставался вопрос с сайтом. И вот здесь, задача оказалась довольно сложной: дело в том, что задача создания сайта для заказа такси, крайне нестандартная, о чем я расскажу ниже.
Когда нам нужен сайт-визитка для организации или интернет-магазин, в подавляющем большинстве нам достаточно стандартных CMS, функциональность которых можно расширять готовыми модулями, но не в случае такси. Ведь в случае такси, сайт должен заменить диспетчера, фактически, необходимо создать очень сложную систему взаимодействия с человеком.

1. Система заказа автомобиля должна быть удобной и в ней должен разобраться любой человек.
2. Заказ передается через API партнеру, а обратно, получаем от партнера статус выполнения заказов.
3. Сайт должен иметь защиту от ботов и вредителей, чтобы кто-то нехороший не заказал десятки автомобилей.
В проработке структуры, изучил сайты основных лидеров сферы. Больше всего понравилась структура Яндекс.Такси. В итоге, было решено спереть у них.
Изначально оно выглядело так:
В итоге, после переработок, сайт стал выглядеть так

При разработке модуля оформления заказа, сразу столкнулись с лицензионными ограничениями.
Дело в том, что лицензия, Google Maps и Yandex Maps запрещают использовать бесплатную лицензию для службы такси и необходимо покупать платную.
Google ответил сразу о стоимости: от $11.900 за лицензию Google Maps for Work (да, от 12 килобаксов в год).
Однако, с Яндексом как всегда, ситуация бредовая.
Изначально, я получаю вот такой ответ

После этого, я задаю уточняющий вопрос

И получаю внезапный ответ

И тут, я оказываюсь в весьма специфичной ситуации.
С одной стороны, есть немало сервисов, которые используют API Yandex Maps и делают это без лицензии. С другой, Яндекс отказывается продавать лицензию службе такси, при том, что для своей службы Яндекс использует сервис.
И налицо пример монополизации, когда крупнейшая в стране компания, находящаяся под защитой государства, искусственно ставит ограничение на пользование их сервисом.
Вот честное слово, как всегда, все сделано через «пятую точку». Для такси лицензию не продают, в то же время, все сайты используют ее незаконно. Нормально это?
В итоге было принято решение, использовать 2 карты, с возможностью выбора юзерами:
1. Яндекс карты.
2. Open Street Map.
При этом, юзер может выбрать сам, какая карта ему больше нравится. По итогу, это прикроет мою пятую точку, если вдруг Яндекс решит судиться: дело можно развернуть так, что я не заработал ни рубля с использования Яндекс.Карт.
При работе с API возникли тоже сложности: для геокодирования мы применяли Яндекс Карты, а партнер использует Open Street Map, в результате, при передаче некоторых адресов, система партнера не понимала адрес подачи и возвращала ошибку. Данную проблему удалось решить передачей кроме адреса GPS координат: широту и долготу.
Дальше, возникла проблема с предоставлением предварительной стоимости поездки. Ведь в Москве она зависит от нескольких параметров: стоимость подачи, время включенное в подачу, стоимость минуты после включенного времени, а так же километраж.
Далее была сложность с трансфером – то есть фиксированные поездки в/из аэропорты, а также между аэропортами. Ведь Москва делится на 9 округов и стоимость в каждый аэропорт зависит от округа Москвы. И тут пришлось работать с полигонами и в дело пошли алгоритмы Брезенхема и трассировки лучами.
Вообще, окончательная схема работы сайта появилась только в Октябре.

И к вышеописанной структуре добавилась необходимость сделать API для мобильного приложения, чтобы пользователь мобильным приложением мог видеть в приложении предварительную стоимость поездки.