Как тарифицируется ваш план
FourA предлагает два продукта, и они измеряются в разных единицах. Ваш тариф привязан к одной из этих двух единиц, что определяет лимиты и отображение карточек в дашборде. На этой странице представлена вся модель на одном экране.
Два продукта, две единицы измерения
| Продукт | Что вы вызываете | Единица измерения |
|---|---|---|
| API | POST /api/single, /api/proxy, /api/browser, /api/auto |
Request, оплачивается в кредитах |
| Proxy port | proxy.foura.ai:34004 из любого клиента, принимающего URL proxy |
Туннель, оплачивается в гигабайтах |
В API только результат success расходует кредиты. Request, завершившийся ошибкой на стороне целевого ресурса, на вашей стороне или на нашей, не стоит ничего. Премиум-трафик учитывается отдельно от кредитов, как описано ниже. См. Request Outcomes.
На proxy port нет кредитов и подсчета request, и это не упущение. Туннель представляет собой одно соединение, открываемое вашим инструментом, а внутри передается ваш зашифрованный трафик, поэтому FourA может учитывать только туннель и объем переданных байтов, но не более детальные данные. Количество request здесь было бы числом, которое вы никогда не смогли бы сопоставить со своими логами. Поэтому порт всегда продается по гигабайтам. См. Proxy Port.
Что такое гигабайт и что в него входит
Один гигабайт равен 1 073 741 824 байтам (2^30, единица измерения также обозначается как GiB). Каждый лимит, счетчик и тариф в вашем плане использует это значение, как для API, так и для proxy port.
Правила подсчета различаются в зависимости от продукта, так как они передают разные данные:
| Где | Что учитывается |
|---|---|
| API, стандартные выходы | Тело отправленного нам request плюс тело возвращенного response. HTTP header не учитываются ни с одной из сторон. |
| API, премиум-выходы | Каждый байт переданных по сети данных в обоих направлениях в том виде, в котором они передавались (со сжатием и шифрованием). |
| Proxy port | Каждый байт, проходящий через туннель в обоих направлениях после его открытия, включая установку зашифрованного соединения клиентом с сайтом. Открытие туннеля не учитывается, за исключением случаев, когда премиум-выход опрашивается портом и не используется при открытии туннеля: такой трафик считается премиальным. |
Несколько важных нюансов:
- Страница учитывается в декодированном виде, так как именно декодированную страницу мы отдаем. Чтобы получить ее, может потребоваться запустить реальный браузер, выполнить дополнительный шаг по требованию страницы, затем декодировать response и передать вам готовый к использованию контент. Вы платите за этот результат, а не за степень сжатия данных при передаче. Для proxy port действует другой принцип и другой расчет стоимости: там мы только передаем ваше собственное соединение и не обрабатываем его содержимое, поэтому байты считаются строго по объему трафика через туннель.
- Повторные попытки в стандартном пуле бесплатны. Когда Proxy Finder перебирает несколько выходных узлов, вы платите один раз за полученный ответ, независимо от числа попыток. На premium узлах учитывается каждая попытка, так как именно так тарифицируют premium сети.
- Сессия браузера на стандартном узле тарифицируется как обычный API response: учитывается возвращаемый вам body, а не каждый подресурс, загруженный страницей. Через premium узел весь сетевой трафик сессии проходит напрямую и учитывается полностью.
- Premium входит в общий объем, а не добавляется сверх него. Ваш стандартный лимит списывается только за ту часть, которая не проходила через premium узлы.
- Вызов Auto сам по себе не создает трафика. Выполняемые им запросы Single, Proxy Finder и Browser учитываются так, будто вы отправляли их напрямую.
- Отказ со стороны целевого сайта учитывается; отказ по лимитам вашего тарифа не учитывается. Если сайт возвращает 403, 404, 429 или 5xx, мы доставили вам этот ответ, поэтому он засчитывается. Если request отклонен лимитом вашего тарифа, данные не запрашиваются и ничего не списывается.
- Никаких округлений в большую сторону. Байты считаются точно, без фиксированного размера блока и без минимального порога на request, а ваши показатели сверяются каждую ночь с хранилищем метрик.
Два формата тарификации
Оба счетчика работают для каждого аккаунта. Разница заключается в том, по какому принципу тарифицируется ваш план.
Оплата по кредитам
API списывает кредиты за каждый тарифицируемый request. Для proxy port выделяются отдельные включенные гигабайты, так как в туннеле нет отдельного request для списания кредита. Эти объемы не пересекаются: ваш трафик API не тратит гигабайты порта, а туннели порта не тратят кредиты. Иначе один и тот же API request тарифицировался бы дважды: в кредитах и в байтах, полученных за эти кредиты.
Собственный лимит трафика API отключен, если он явно не задан вашим тарифом.
Оплата по трафику
Один общий лимит стандартного трафика покрывает и API, и proxy port, так как оба канала тарифицируются в единых единицах. В таких тарифах кредиты не списываются, поэтому они полностью скрыты из панели управления, чтобы не отображать неиспользуемые значения.
Premium трафик для обоих форматов
Для premium трафика всегда предусмотрен отдельный лимит в любом тарифе. Он никогда не включается в стандартный объем, поэтому один и тот же гигабайт не списывается из двух лимитов одновременно. Доступ к premium узлам осуществляется через exitClass: premium в POST /api/proxy/ или через -network-premium на proxy port.
Трафик измеряется при прохождении через сеть: в обоих направлениях, в сжатом и зашифрованном виде. В API учитывается каждая попытка использования premium, включая те, которые не вернули страницу. На proxy-порту учитывается трафик каждого premium-туннеля, а также любых premium-выходов, которые порт пытался использовать и сбросил при открытии.
Что и где возвращает отказ
| Лимит | В API | На proxy-порту |
|---|---|---|
| Кредиты на период | 429 с X-FourA-Limit: plan_limit_credits |
Не применимо |
| Стандартный трафик на период | 429 с X-FourA-Limit: plan_limit_bandwidth |
429 с X-Foura-Error с указанием трафика |
| Одновременно открытые туннели | Не применимо | 429 с X-Foura-Error |
| Открытия туннелей в минуту | Не применимо | 429 с X-Foura-Error |
| Premium-трафик | Понижение уровня вместо отказа | 403 при явном запросе |
У CONNECT нет тела для передачи ошибки в JSON. Поэтому отказ порта представляет собой статус плюс заголовок, а не структуру, описанную в Rate Limits. Читайте X-Foura-Error в первую очередь при любом proxy-соединении.
Исчерпание premium: единственная асимметрия
Два интерфейса намеренно отвечают по-разному, так как ситуации «я явно запросил списание» и «значение было задано ранее по умолчанию» различаются.
В API исчерпанный лимит premium никогда не останавливает выполнение задачи. Запрос обрабатывается из стандартного пула, а в ответе возвращается exitClass: standard, чтобы было видно, что именно получено. Тарифный план, который вообще не включает premium-выходы, дает другой ответ: 403 с plan_limit_premium.
На proxy-порту:
- Соединение, указывающее
-network-premium, отклоняется со статусом403. Вы запросили платную опцию, поэтому незаметное переключение на другой пул помешало бы сопоставить данные со счетом. - Если premium задан по умолчанию для пользователя proxy, уровень понижается до общей сети, и туннель все равно открывается. Вы не выбирали эту опцию явно для данного соединения.
- Настроенный
-fallback-premiumпросто не срабатывает.
Покупка дополнительных ресурсов
Дополнительно купленные объемы учитываются так же, как и включенные в тарифный план. В каждом периоде сначала расходуется лимит тарифного плана, и только превышение списывается с купленного баланса. Покупка действует двенадцать месяцев.
В панели управления эти два числа разделены везде, где указывается лимит (75,000 (50,000 incl + 25,000 bought)), чтобы значение на экране можно было сверить со счетом.
Где смотреть свои показатели
| Страница | Что отображает |
|---|---|
| Billing | Текущий период относительно доступного объема, по одной карточке на каждую метрику тарифа с кнопкой Buy на каждой |
| Usage & Limits | Каждый лимит рядом с текущим счетчиком, плюс детализация по ключам, endpoint и пользователям proxy |
| Overview | Объем и трафик за любой период с разбивкой по продуктам |
Отображение карточек в разделе Billing зависит от двух описанных выше сценариев: тариф с оплатой за кредиты получает карточку Credits и карточку Proxy port traffic; тариф с оплатой за трафик не содержит ни одной из них, а в карточке Standard traffic указан лимит с пометкой The API and the proxy port together.
Не фиксируйте эти числа в коде жестко. Каждый отказ API содержит превышенный лимит, а каждый отказ порта указывает его в X-Foura-Error.
Связанные разделы
- Rate Limits: Все тела и заголовки лимитов тарифа в API
- Proxy Port: Учет, коды ответов и параметры username
- Request Outcomes: Какие результаты тарифицируются для запросов и туннелей
- Billing & Subscriptions: Тарифы, пополнения и инвойсы
- Usage & Limits: Ваши текущие счетчики относительно лимитов тарифа