Совместимая замена TomTom Search

Эндпоинты Geocode, Reverse Geocode и Fuzzy Search от TomTom отвечают на tomtom.mygeocode.com с той же структурой summary и results, включая поле freeformAddress, которое показывает большинство интеграций.

Измените одно имя хоста

Исходный хост
  • api.tomtom.com
Используйте вместо негоtomtom.mygeocode.com
Параметр ключаkey (необязательно: любой адрес получает 2 500 запросов в день без ключа; укажите здесь свой ключ My Geocode, чтобы пользоваться балансом, пакетами и историей использования)
До
curl "https://api.tomtom.com/search/2/geocode/Avenida%20Paulista%201578%20S%C3%A3o%20Paulo.json?key=YOUR_TOMTOM_KEY"
После
curl "https://tomtom.mygeocode.com/search/2/geocode/Avenida%20Paulista%201578%20S%C3%A3o%20Paulo.json?key=YOUR_MYGEOCODE_KEY"

Почему переходят

Бесплатный тариф TomTom даёт 2 500 транзакций в день, столько же, сколько наш, но одна транзакция там может стоить несколько кредитов. Здесь каждый вызов равен одному запросу, а для платного использования есть вариант с фиксированной ценой.

Та же бесплатная квота, с ключом или без. Запросы к tomtom.mygeocode.com учитываются в тех же 2 500 бесплатных запросах в день, которые ваш адрес или ваш ключ получает на наших собственных эндпоинтах. Сверх этого: предоплаченный баланс по 0,0001 € за запрос или 50 € в месяц за ключ Unlimited. Для регистрации нужен только адрес электронной почты.

Смотреть цены Получить бесплатный ключ

Эндпоинты

Путь на tomtom.mygeocode.comЧто делаетНа основе
/search/2/geocode/{query}.jsonГеокодированиеПрямое геокодирование
/search/2/structuredGeocode.json?countryCode=...&streetName=...Структурированное геокодированиеПрямое геокодирование
/search/2/reverseGeocode/{lat},{lon}.jsonОбратное геокодированиеОбратное геокодирование
/search/2/search/{query}.json?typeahead=trueНечёткий поиск с подсказками при вводеАвтодополнение адресов

Пример ответа

Вот что возвращает запрос выше. Названия полей, вложенность и типы соответствуют TomTom. Наши только данные за ними.

Ответ от tomtom.mygeocode.com
{
  "summary": {
    "query": "avenida paulista 1578 sao paulo",
    "queryType": "NON_NEAR",
    "queryTime": 21,
    "numResults": 1,
    "offset": 0,
    "totalResults": 1,
    "fuzzyLevel": 1
  },
  "results": [
    {
      "type": "Point Address",
      "id": "mg.br.addr.7d1a55f2",
      "score": 11.98,
      "address": {
        "streetNumber": "1578",
        "streetName": "Avenida Paulista",
        "municipalitySubdivision": "Bela Vista",
        "municipality": "São Paulo",
        "countrySecondarySubdivision": "São Paulo",
        "countrySubdivision": "São Paulo",
        "countrySubdivisionCode": "SP",
        "postalCode": "01310-200",
        "countryCode": "BR",
        "country": "Brasil",
        "countryCodeISO3": "BRA",
        "freeformAddress": "Avenida Paulista 1578, Bela Vista, São Paulo, SP 01310-200",
        "localName": "São Paulo"
      },
      "position": { "lat": -23.561414, "lon": -46.655881 },
      "viewport": {
        "topLeftPoint": { "lat": -23.560514, "lon": -46.656881 },
        "btmRightPoint": { "lat": -23.562314, "lon": -46.654881 }
      }
    }
  ]
}

Подробности и отличия

Для первых 2 500 запросов в день ключ не нужен. Чтобы использовать ключ My Geocode, укажите его там, где был ключ TomTom: в параметре запроса key. Заголовок X-API-Key, Authorization: Bearer и базовая HTTP-аутентификация (ключ в качестве имени пользователя) тоже работают на каждом хосте, поэтому клиентские библиотеки со своим способом аутентификации продолжают работать без изменений.

  • Маршрутизируются геокодирование по свободному тексту, структурированное и обратное геокодирование, а также эндпоинт search.
  • Ответы сохраняют структуру TomTom с summary и results.
  • Batch Search работает в обоих режимах. POST /search/2/batch/sync.json обрабатывает до 100 batchItems за раз в структуре TomTom (statusCode и response для каждого элемента, summary). POST /search/2/batch.json принимает до 10 000 элементов, отвечает 202 с заголовком Location, и результат забирается оттуда. Каждый элемент пакета считается одним запросом, как их считает TomTom; пакет, превышающий остаток квоты, отклоняется целиком с ответом TomTom 429, а получение сохранённого результата не учитывается.

Если ваш клиент зависит от поля или поведения, которого здесь нет, сообщите нам. Пробелы в совместимости исправляются быстро, потому что обычно они невелики.

Другие совместимые хосты

Как работают совместимые хосты, обзор и совместимые замены для библиотек JavaScript.