Аутентификация
Ключ rsk_, заголовок Authorization, скоупы и что делать при 403.
Получение ключа
Выпускаются в кабинете: раздел «API-ключи» → «Новый ключ». Задаёте название и набор прав, получаете плейнтекст вида rsk_<...> — он показывается один раз, в базе остаётся только хеш. Потеряли — выпустите новый и отзовите старый, там же.
Первый ключ можем выдать мы вместе с доступом в кабинет. Дальше это ваша кнопка: ждать оператора, чтобы отозвать утёкший ключ, — не та зависимость, которая нужна в момент инцидента.
Ротация: выпустите новый ключ, переключите интеграцию, отзовите старый. Оба живут одновременно ровно столько, сколько вам нужно на переключение.
Использование
Базовый адрес — https://logrus.space/api/v1/reseller. Каждый запрос требует заголовка:
Authorization: Bearer rsk_<ключ>
Проверить, что ключ живой:
GET /api/v1/reseller/me
200 OK
{
"id": "0f2c...",
"code": "your-brand",
"name": "Your Brand",
"status": "active",
"revshare_pct": 15,
"branding": { },
"user_count": 0
}
status кроме active может быть suspended — тогда пишущие ручки закрыты.
Скоупы
Ключ выпускается с набором прав. Просите минимальный набор под задачу:
accounts:read— читать список и карточки клиентов.accounts:write— создавать клиентов.metrics:read— читать агрегаты.prices:read,prices:write— читать и менять свои цены.payouts:read— читать историю выплат.
Ключ без нужного скоупа получает 403:
{
"error": "api key lacks required scope: accounts:write",
"code": "insufficient_scope",
"details": { "required": "accounts:write" }
}
Лимиты запросов
Лимит считается на ключ, а не на партнёра: у вас несколько интеграций, и зациклившийся дашборд не должен останавливать бота, который продаёт.
- По умолчанию 300 запросов в минуту на ключ.
- Пачкой подряд можно потратить около десяти секунд запаса (для 300/мин это 50 запросов), дальше пропускная способность выравнивается по лимиту.
- Превышение →
429с заголовкомRetry-Afterв секундах:
429 Too Many Requests
Retry-After: 3
{
"error": "rate limit exceeded for this api key",
"code": "rate_limited",
"details": { "retry_after_seconds": 3 }
}
Выждать ровно Retry-After достаточно — второй 429 подряд вы не получите. Действующий лимит по каждому ключу виден в кабинете; если вашей интеграции его мало, скажите, поднимем персонально.
Метрики всё равно нет смысла опрашивать чаще раза в несколько минут: они считаются по базе на лету и за секунду не меняются.