Количество запросов не равно стоимости провайдера
Список сохранённых подключений — небольшой database read, а connect или sync выполняет подписанные вызовы биржи, нормализацию и обновление снимков. Плоская квота скрывает разницу. Взвешенные кредиты показывают относительную стоимость и позволяют использовать дешёвые metadata endpoints, когда свежий provider call не нужен.
Базовый вес сочетается с ограниченными множителями
Каталог публикует базовую и максимальную стоимость. Чтение страниц умножается при запросе 51–100 элементов, а история масштабируется от коротких окон 24 часа и 7 дней до максимума all history. Connect и sync имеют фиксированную цену. GET /api/v1/usage/credits возвращает актуальные правила для бюджета и предупреждений.
Наблюдайте стоимость и баланс каждого ответа
Успешные metered responses содержат X-Credit-Cost и X-Credits-Remaining. Отправляйте их в серверные метрики и предупреждайте операторов до нулевого баланса. HTTP 402 с code insufficient_credits сообщает цену операции и остаток, позволяя остановить необязательные refresh jobs и направить владельца биллинга к покупке пакета.
Разделяйте кредиты между продуктовыми задачами
Отделите интерактивные действия от плановых refresh и backfill. Резервируйте баланс для connect и manual sync, ограничивайте фоновую конкуренцию и не обновляйте давно неактивных пользователей. Простой дневной бюджет по окружениям не позволит сломанному staging scheduler потратить production-баланс.
Связывайте расход кредитов с unit economics
Для consumer subscription измеряйте кредиты на активный Free и Pro workspace, комиссии, provider failures и поддержку. Для B2B считайте расход по клиентам и функциям. Credit packs — предоплаченные единицы использования, а не деньги на счёте, поэтому цена продукта должна учитывать реальную частоту refresh, повторы и неполные данные.