• Быстрый старт
    • Демо
  • УСТРОЙСТВО
    • Страницы
      • Markdown
      • Аналитика страниц
    • Фреймы
      • Поля данных
      • Сборка
    • Данные
    • Приложения
      • Данные приложения
    • Медиа
  • УПРАВЛЕНИЕ
    • Создание сайтов
    • Настройки
    • Меню
    • Языки
    • Свой домен
    • Пользователи
    • Стили и оформление
    • Соцсети и контакты
    • Ошибки и проблемы
  • ИНСТРУМЕНТЫ
    • SEO
    • Индексация
    • Кросспостинг
    • Аналитика
    • Кэш
    • Почта на домене
    • Редиректы
  • КЕЙСЫ
    • Загрузить HTML
    • Миграция
    • Перевод страницы
    • Чат с OpenAI
    • Справочник API
    • Общие правила
  • УСТРОЙСТВО
    • Страницы
    • Фреймы
      • Поля данных
      • Повторитель
      • Вставка фрейма и служебные блоки
      • Готовые фреймы
      • Сборка
    • Данные
    • Медиа
  • УПРАВЛЕНИЕ
    • Создание сайтов
    • Настройки
    • Меню
    • Языки
    • Свой домен
    • Пользователи
    • Кредиты
    • Автоматизация
    • Авторизация
      • Состояние API
    • Стили и оформление
    • Соцсети и контакты
    • Ошибки и проблемы
  • ИНСТРУМЕНТЫ
    • SEO
      • Семантика
    • Индексация
    • Кросспостинг
    • Аналитика
    • Кэш
    • Почта на домене
    • Редиректы
OnPress OnPress
Документация Справочник API Контакты
Войти Начать
Документация Справочник API Контакты Войти
    • Быстрый старт
    • Демо
  • УСТРОЙСТВО
    • Страницы
      • Markdown
      • Аналитика страниц
    • Фреймы
      • Поля данных
      • Сборка
    • Данные
    • Приложения
      • Данные приложения
    • Медиа
  • УПРАВЛЕНИЕ
    • Создание сайтов
    • Настройки
    • Меню
    • Языки
    • Свой домен
    • Пользователи
    • Стили и оформление
    • Соцсети и контакты
    • Ошибки и проблемы
  • ИНСТРУМЕНТЫ
    • SEO
    • Индексация
    • Кросспостинг
    • Аналитика
    • Кэш
    • Почта на домене
    • Редиректы
  • КЕЙСЫ
    • Загрузить HTML
    • Миграция
    • Перевод страницы
    • Чат с OpenAI
    • Справочник API
    • Общие правила
  • УСТРОЙСТВО
    • Страницы
    • Фреймы
      • Поля данных
      • Повторитель
      • Вставка фрейма и служебные блоки
      • Готовые фреймы
      • Сборка
    • Данные
    • Медиа
  • УПРАВЛЕНИЕ
    • Создание сайтов
    • Настройки
    • Меню
    • Языки
    • Свой домен
    • Пользователи
    • Кредиты
    • Автоматизация
    • Авторизация
      • Состояние API
    • Стили и оформление
    • Соцсети и контакты
    • Ошибки и проблемы
  • ИНСТРУМЕНТЫ
    • SEO
      • Семантика
    • Индексация
    • Кросспостинг
    • Аналитика
    • Кэш
    • Почта на домене
    • Редиректы
Справочник API Управление
Markdown
Открыть в ИИ
  • Открыть в ChatGPT
  • Открыть в Claude
  • Открыть в Gemini
  • Открыть в Perplexity
  • Открыть в Grok
  • Открыть в DeepSeek

Кредиты

API кредитов позволяет получить баланс и историю операций, создать счет на пополнение и проверить его статус. Профиль и доступ к сайту — в гайде «Пользователи», отправка страниц за кредиты — в гайде «Индексация».

МетодПутьДействие
GET/me/creditsПолучить баланс кредитов
GET/me/credits/transactionsПолучить операции с кредитами
POST/me/credits/topupСоздать счет на пополнение
GET/me/credits/topups/{id}Получить статус пополнения
info

Во всех примерах API — https://onpress.pro/api/v2, OP_TOKEN — токен op_XXXX. Эндпоинты /me/credits… работают без /site/$SITE: баланс ваш, а не сайта. Токен и права описаны на странице «Авторизация», форма отказа — на странице «Ошибки».

Цена и списание

1 кредит = 1 ₽. Баланс принадлежит пользователю, а не сайту: один баланс тратится на все сайты, где вы администратор, и в каждом списании записан сайт. Новый пользователь начинает с нулевого баланса. Ничего платного не уходит без подтверждения цены там, где ее заранее не видно: публикация релизов GitHub через ИИ просит confirm и expected_cost, новость стоит ровно столько, сколько показывает GET /news/auto.

Резерв, потом списание. Перед работой действие резервирует свою цену. Не хватает доступного остатка — отказ сразу, до всякой работы: 402 insufficient_credits с required (сколько нужно), available (сколько свободно), action и quantity. После успеха резерв списывается, при сбое снимается целиком. Доступный остаток — баланс минус открытые резервы. Если кредиты на сервере не настроены, любой эндпоинт /me/credits… отвечает 503 credits_not_configured.

Прайс

ДействиеКлючКредитов
Запись чейнджлога через ИИgithub_ai5
Новость без картинкиnews5
Новость с картинкой 16:9news_image20
Съем одной позиции в выдачеserp_position1
Отправка одной страницы на индексациюindex_submit2

Позиции и отправка на индексацию описаны в справочнике SEO, здесь только их цена.

Получить баланс кредитов

GET /me/credits

Отдает баланс, прайс, пределы пополнения и последние 10 движений. Например:

curl -s "$API/me/credits" -H "Authorization: Bearer $OP_TOKEN"

Параметры пути. У операции нет собственных параметров пути.

Параметры строки запроса. Дополнительных параметров нет.

Тело запроса. Не требуется.

Ответ

{
  "success": true,
  "balance": 20,
  "held": 0,
  "available": 20,
  "prices": { "github_ai": 5, "news": 5, "news_image": 20, "serp_position": 1, "index_submit": 2 },
  "transactions": [ { "id": 31, "type": "spend", "delta": -20, "balance_after": 5, "action": "news_image", "site_id": "x9HTLHECq", "site_domain": "example.com", "job_id": 15, "note": "news_image", "created_at": "2026-10-02T11:42:04Z" } ],
  "packages": [
    { "id": "pack_100", "credits": 100, "price_rub": 100, "title": "100 кредитов" },
    { "id": "pack_500", "credits": 500, "price_rub": 500, "title": "500 кредитов", "popular": true },
    { "id": "pack_1000", "credits": 1000, "price_rub": 1000, "title": "1000 кредитов" },
    { "id": "pack_5000", "credits": 5000, "price_rub": 5000, "title": "5000 кредитов" }
  ],
  "topup": { "min": 100, "max": 100000, "rub_per_credit": 1, "suggested": [100, 500, 1000, 5000] }
}
ПолеОписание
balanceвсе начисленное минус списанное
heldоткрытые резервы
availableсколько можно потратить сейчас
pricesпрайс
topupпределы пополнения: min и max в кредитах, rub_per_credit — рублей за кредит, suggested — суммы для быстрого выбора
packagesфиксированные пакеты кредитов; popular: true — пакет, который консоль выделяет

Ошибки

КодHTTPКогдаЧто делать
credits_not_configured503сервис кредитов недоступенобратитесь в поддержку

Получить операции с кредитами

GET /me/credits/transactions

Отдает историю движений, свежие сверху. Например, только списания:

curl -s "$API/me/credits/transactions?limit=2&direction=out" -H "Authorization: Bearer $OP_TOKEN"

Параметры пути. У операции нет собственных параметров пути.

Параметры строки запроса

ПараметрТипОбязателенПо умолчаниюОписание
limitintнет50от 1 до 200
beforeintнет—следующая порция: next из прошлого ответа
directionstringнетallin — только начисления, out — только списания, all — все; со следующей порцией передавайте тот же

Тело запроса. Не требуется.

Ответ

{
  "success": true,
  "transactions": [
    { "id": 31, "type": "spend", "delta": -20, "balance_after": 5, "action": "news_image", "site_id": "x9HTLHECq", "site_domain": "example.com", "job_id": 15, "note": "news_image", "created_at": "2026-10-02T11:42:04Z" }
  ],
  "next": 31
}
ПолеОписание
typebonus — бонус платформы, topup — оплата пополнения, grant и adjust — начисление и коррекция поддержкой, spend — списание за действие, refund — возврат
deltaизменение баланса: начисление больше нуля, списание меньше
balance_afterбаланс сразу после записи, без учета резервов, открытых в тот момент
actionключ действия из прайса; у начислений null
site_id, site_domainсайт, за который списано; у начислений null
job_idзадача ИИ, если списание за задачу
nextid для следующей порции; null — дальше пусто

Ошибки

КодHTTPКогдаЧто делать
invalid_direction400direction не all, in и не outисправьте параметр

Создать счет на пополнение

POST /me/credits/topup

Создает заказ на пополнение; деньги по этому вызову не двигаются. К оплате amount × rub_per_credit рублей. Кредиты зачисляются, когда платежный сервис подтвердил платеж, повторное уведомление о том же платеже ничего не удваивает; ждать зачисления — опросом GET /me/credits/topups/{id}. Способ оплаты задает flow: widget — окно CloudPayments поверх своей страницы, без перехода; link — ссылка на страницу оплаты CloudPayments в payment_url. Например, 500 кредитов виджетом:

curl -s -X POST "$API/me/credits/topup" \
  -H "Authorization: Bearer $OP_TOKEN" -H 'Content-Type: application/json' \
  -d '{"amount": 500, "flow": "widget"}'

Параметры пути. У операции нет собственных параметров пути.

Параметры строки запроса. Дополнительных параметров нет.

Параметры тела

ПолеТипОбязателенПо умолчаниюОписание
amountintamount или package—кредитов, от topup.min до topup.max из GET /me/credits, сейчас от 100 до 100 000
packagestringpackage или amount—id пакета из packages; если переданы оба поля, берется amount
flowstringнетlinkwidget или link
return_pathstringнет/settings/creditsдля link: путь консоли без хоста, куда человек вернется после оплаты с ?topup=ID, после неуспешной — еще и с topup_failed=1

Ответ

{
  "success": true, "topup_id": 41, "invoice_id": "cr_41", "credits": 500, "price_rub": 500,
  "widget": {
    "public_id": "pk_XXXX", "invoice_id": "cr_41", "amount": 500, "currency": "RUB",
    "description": "OnPress: 500 кредитов", "account_id": "user@example.com", "email": "user@example.com",
    "data": { "kind": "credits", "topup_id": 41, "package": "custom" }
  }
}

widget — все, что нужно передать виджету cp.CloudPayments().pay('charge', …): public_id в publicId, invoice_id в invoiceId, amount, currency, description, account_id в accountId, email, data. Номер счета менять нельзя: по нему платеж находит заказ. Со "flow": "link" вместо widget приходит payment_url.

Ошибки

КодHTTPКогдаЧто делать
invalid_amount400amount не целое или вне пределов; пределы в min и maxисправьте сумму
unknown_package400нет amount, а пакета нет в списке; допустимые — в packagesпередайте amount
payment_link_failed502платежный сервис не выдал ссылку (только link)повторите позже
payments_not_configured503оплата на сервере не подключенанапишите в поддержку

Получить статус пополнения

GET /me/credits/topups/{id}

Отдает состояние своего заказа на пополнение. Опрашивайте раз в 2–3 секунды; обычно зачисление занимает несколько секунд. Например:

curl -s "$API/me/credits/topups/41?verify=1" -H "Authorization: Bearer $OP_TOKEN"

Параметры пути

ПараметрТипОбязателенПо умолчаниюОписание
idintegerда—положительный id записи

Параметры строки запроса

ПараметрТипОбязателенПо умолчаниюОписание
verifystringнет—1 — неоплаченный заказ младше 48 часов сверяется с платежным сервисом напрямую, не дожидаясь его уведомления; прошедший платеж зачисляется тут же. Не чаще раза в 4 секунды на заказ, чаще — ответ без provider

Тело запроса. Не требуется.

Ответ

{ "success": true, "topup_id": 41, "invoice_id": "cr_41", "status": "new", "credits": 500, "price_rub": 500,
  "created_at": "2026-10-06T09:22:05.000Z", "paid_at": null,
  "provider": { "status": "Declined", "reason": "InsufficientFunds", "message": "Недостаточно средств на карте", "credited": 0 } }
ПолеОписание
statusnew — не оплачен или подтверждение еще не пришло, paid — кредиты зачислены, failed — ссылку создать не удалось
paid_atкогда зачислено
providerтолько с verify=1: что платежный сервис знает о последней попытке — status (Completed, Declined, NotFound и другие статусы CloudPayments), reason, message — причина отказа банка для человека, credited

Ошибки

КодHTTPКогдаЧто делать
topup_not_found404заказа нет или он чужойпроверьте {id}
payment_mismatch409сумма или счет оплаты не совпали с заказом, зачисления нетнапишите в поддержку
arrow_backНазад
Индексация
На этой странице
  • Цена и списание
    • Прайс
  • Получить баланс кредитов
    • Ответ
      • Ошибки
    • Получить операции с кредитами
      • Параметры строки запроса
        • Ответ
          • Ошибки
        • Создать счет на пополнение
          • Параметры тела
            • Ответ
              • Ошибки
            • Получить статус пополнения
              • Параметры пути
                • Параметры строки запроса
                  • Ответ
                    • Ошибки
                  1. Главная
                  2. Docs
                  3. Документация OnPress v2
                  4. Справочник API
                  5. Кредиты
                  © 2026 OnPress ИП Зуев И.В. ИНН: 360408359441 info@onpress.pro Политика конфиденциальности Публичная оферта
                  • Visa
                  • Mastercard
                  • Сбер Pay
                  • T-Pay