Система баллов API Calltouch
Что такое система API-баллов
Система API-баллов — это механизм регулирования нагрузки на серверы Calltouch. Для каждого проекта рассчитывается индивидуальный лимит баллов, который расходуется при выполнении запросов к API Calltouch.
Система работает с двумя типами лимитов: суточными и часовыми баллами.
Дополнительно действует ограничение RPS: не более 5 запросов в секунду с одного IP-адреса. При превышении лимита API-запросы завершаются с ошибкой 429 (Too Many Requests).
Расчёт суточных баллов
Суточные баллы рассчитываются автоматически один раз в сутки и начисляются в 00:00. Неизрасходованные баллы за предыдущие сутки обнуляются.
Размер суточного лимита определяется на основе потенциальной нагрузки проекта, которая учитывает тариф, среднее количество сессий, количество номеров и подключённые услуги, использующие API.
При полном расходе суточных баллов доступ к API блокируется до наступления следующих суток.
Расчёт часовых баллов
Часовые баллы начисляются в начале каждого астрономического часа (например, с 15:00 до 15:59) и не переносятся на следующий час - неизрасходованные баллы обнуляются.
Размер часового лимита рассчитывается на основе суточного лимита. Система проверяет остаток суточных баллов перед начислением: если остатка достаточно, начисляется полный часовой лимит, в противном случае начисляется только доступный остаток суточных баллов.
При исчерпании часового лимита дальнейшие вызовы методов API блокируются до наступления следующего часа.
Списание баллов
За каждый успешно выполненный запрос списываются баллы в зависимости от:
-
Стоимости вызова метода - фиксированное количество баллов за запрос.
-
Количества обработанных объектов - дополнительные баллы за каждый объект в запросе (для методов импорта).
Баллы списываются за все обработанные объекты, включая объекты с ошибками.
Таблица стоимости API методов
Ответы API
В каждом ответе API передаётся HTTP-заголовок Api-Point, содержащий информацию о расходе баллов:
Формат заголовка:
Api-Point: потраченные баллы за запрос / оставшиеся часовые баллы / оставшиеся суточные баллы
Пример:
Api-Point: 4/5256/102368
Исчерпание лимита
При исчерпании часовых баллов API возвращает ошибку с HTTP-кодом 429 и телом ответа:
{
"meta": [],
"data": {
"type": "apiError",
"apiErrorData": {
"errorCode": 90001,
"errorMessage": "Исчерпан часовой лимит баллов по сайту",
"errorDescription": null
},
"validationErrorData": null
}
}
- A/B тестирование (раздел «Подключение»)
- Email-трекинг (раздел «Подключение»)
- Отслеживание офлайн конверсии (раздел «Подключение»)
- Подключение к отслеживанию дополнительных доменов (раздел «Подключение»)
- Подмена номеров на AMP-страницах Google (раздел «Подключение»)