РусскийПользовательский APIАвторизация и соглашения

Авторизация и соглашения

Авторизация

API-ключ (скрипты, рекомендуется)

Ваш постоянный API-ключ находится в Профиль → API-ключ. Формат: {user_id}-{user_api}, например 42-d3adb33f….

Передавайте его как query-параметр — это работает на всех эндпоинтах, включая POST:

curl "https://my.altercpa.top/api/profile/info.json?id=42-d3adb33f…"

Или в заголовке Authorization как Bearer-токен:

curl -H "Authorization: Bearer 42-d3adb33f…" \
     "https://my.altercpa.top/api/profile/info.json"

API-ключ не имеет срока действия. Его можно обновить в Профиле или через profile/apikey; старый ключ перестаёт работать немедленно.

Сессионный токен (дашборд)

Дашборд (SPA) использует короткоживущий сессионный токен, выдаваемый после входа через Telegram. Передаётся так же (Authorization: Bearer {token}). Для скриптов этот метод не нужен.


Соглашения

  • GET для чтения, POST для записи. Без исключений.

  • Каждый ответ — HTTP 200 с Content-Type: application/json, независимо от результата. Проверяйте поле status, а не HTTP-код.

  • Каждый ответ — JSON-объект:

    { "status": "ok",    "data": {  } }
    { "status": "error", "error": "code" }
  • Эндпоинты оканчиваются на .json (например profile/info.json).

  • Тело POST-запросов может быть JSON (Content-Type: application/json) или form-encoded (application/x-www-form-urlencoded).

  • Параметр ?id= для авторизации всегда передаётся в строке запроса (query string), даже для POST-эндпоинтов.


Системные ошибки

Любой эндпоинт может вернуть эти ошибки.

errorЗначение
keyОтсутствует или недействительный API-ключ
banАккаунт заблокирован
funcНеизвестный путь эндпоинта
dbОшибка базы данных — повторите попытку; если проблема сохраняется, обратитесь в поддержку
unpaidПодписка истекла и льготный период завершился

Льготный период: когда подписка истекает, дашборд перестаёт работать немедленно, но публичный API остаётся доступным ещё 7 дней. После этого все аутентифицированные эндпоинты возвращают unpaid. Полные правила перехода — в разделе Оплата и тарифы.

Ошибки, специфичные для конкретных эндпоинтов (exists, limit, token, webhook, unreachable, …), описаны на соответствующих страницах.