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