Проблема API-ключей, которые никогда не истекают
Ключ, выданный много лет назад, ни разу не заменённый и до сих пор действующий, это не удобство. Это риск, на который никто не смотрел уже много лет.
Попросите у API местоположения список функций, и обычно первым будет геокодирование, следом определение IP, а почтовые индексы окажутся где-то внизу, описанные одной строкой, как будто сопоставить почтовый индекс с местом или место с его почтовым индексом это тривиальный поиск с одним очевидным ответом. Это не так. Почтовые системы сильно различаются от страны к стране: одни кодируют административную иерархию прямо в цифрах, другие буквенно-цифровые, одни охватывают территорию размером с район, а другие размером с небольшую страну. Если считать это второстепенным служебным эндпоинтом, можно сильно недооценить, какая реальная структура за ним стоит.
Мы сделали поиск по почтовому индексу полноценным эндпоинтом наравне с геокодированием, IP, часовым поясом и высотой, а не дополнением, прикрученным к ответу геокодирования. Цены на него те же, что и на любой другой эндпоинт: сначала бесплатная дневная квота, затем те же 0,0001 € за запрос или тот же ключ Unlimited за 50 €, как и для всего остального. Нет отдельного уровня «служебных эндпоинтов», который относился бы к поиску по индексу как к второстепенной функции, достойной меньшей цены и, неявно, меньшего инженерного внимания.
Отчасти почтовые индексы недооценивают потому, что они кажутся простыми из страны, где система представляет собой фиксированное число цифр, чётко привязанных к небольшой территории. Эта простота не распространяется на другие страны. Поиск по почтовому индексу должен действительно справляться со всем разнообразием форматов и административных значений, существующих в разных странах, а не только со схемой, наиболее знакомой тому, кто создавал функцию. API, который негласно принимает почтовый формат одной страны за стандарт, а всё остальное считает пограничным случаем, на самом деле не предлагает глобальной поддержки почтовых индексов. Он предлагает систему одной страны с прикрученным ограниченным покрытием.
На практике это важно так, что легко упустить из виду, пока не возникнет проблема. Расчёт доставки, определение налоговой юрисдикции, проверка зоны обслуживания и региональные цены зависят от правильной работы с почтовыми индексами, часто более непосредственно, чем от полного геокодирования до уровня улицы. Для расчёта стоимости доставки обычно не нужен адрес с точностью до крыши. Нужен правильный почтовый регион, определяемый единообразно. Если считать это мелкой функцией по сравнению с полным геокодированием, то для многих реальных приложений реальная зависимость переворачивается с ног на голову.
Мы не утверждаем, что задача данных о почтовых индексах решена во всём мире, поскольку почтовые системы продолжают меняться, а качество покрытия действительно различается в зависимости от страны и того, насколько активно конкретная почтовая служба публикует обновления. Мы говорим о другом: этот эндпоинт заслуживает такого же серьёзного отношения, как и любой другой, то есть полноценной документации, той же цены, что и всё остальное, и того же ожидания, что он будет продолжать работать правильно, а не станет уголком продукта, к которому никто не возвращается, как только он формально начал возвращать ответ.