Обновление состояния отчёта

POST /v1/billing/report/update

POST/v1/billing/report/update

Обновляет состояние отчётного периода. Разрешены только переходы, предусмотренные жизненным циклом отчёта. Мерчант может перевести отчёт в состояние APPROVED_BY_MERCHANT или DISPUTED_BY_MERCHANT только из IN_REVIEW_BY_MERCHANT. Состояние PAYMENT_RECEIVED может быть установлено только после перехода отчёта в PAID и только участником, получившим платёж.

Тело запроса

report_id
string
required
Уникальный идентификатор отчётного периода.
state
string
required
Закрытый набор состояний, которые можно запросить через report/update. APPROVED_BY_MERCHANT: одобрение отчёта мерчантом. DISPUTED_BY_MERCHANT: оспаривание отчёта мерчантом. PAYMENT_RECEIVED: подтверждение поступления платежа.
Допустимые значения
APPROVED_BY_MERCHANTDISPUTED_BY_MERCHANTPAYMENT_RECEIVED
comment
string
Комментарий к approve/dispute/payment received.

Успешный ответ

200Новое состояние отчёта после успешного перехода.
application/json
object
report_id
string
required
Уникальный идентификатор отчётного периода.
state
string
required
Статус отчётного периода, отражающий его жизненный цикл. Возможные значения: DRAFT — черновик; IN_REVIEW_BY_STOREFRONT — на проверке у витрины; APPROVED_BY_STOREFRONT — одобрен витриной; IN_REVIEW_BY_MERCHANT — на проверке у мерчанта; APPROVED_BY_MERCHANT — одобрен мерчантом; DISPUTED_BY_MERCHANT — оспорен мерчантом; AGREED — согласован; SIGNED — подписан; PAYMENT_ORDER_CREATED — платёжное поручение создано; PAID — оплачен; PAYMENT_RECEIVED — поступление платежа подтверждено.
Допустимые значения
DRAFTIN_REVIEW_BY_STOREFRONTAPPROVED_BY_STOREFRONTIN_REVIEW_BY_MERCHANTAPPROVED_BY_MERCHANTDISPUTED_BY_MERCHANTAGREEDSIGNEDPAYMENT_ORDER_CREATEDPAIDPAYMENT_RECEIVED
state_changed_at
string
required
Момент перехода. Формат RFC3339 с обязательным timezone (пример: 2026-07-02T10:25:00+02:00). Несоблюдение формата может привести к непредсказуемому поведению системы и проблемам со сверкой.
errors
array
required
Ошибки, возникшие при изменении состояния отчёта; пустой массив при успехе.
Ошибка валидации или бизнес-проверки при изменении состояния отчёта.
Показать свойства
field
string
Имя поля в запросе (например report_id или state).
code
string
- REQUIRED: Поле отсутствует или пустое, но обязательно. - INVALID_TYPE: Неверный JSON-тип значения. - INVALID_ENUM: Значение не входит в перечень допустимых значений. - INVALID_FORMAT: Значение не соответствует требуемому формату. - NOT_FOUND: Отчётный период не найден или недоступен пользователю. - INVALID_STATUS_TRANSITION: Переход в запрошенное состояние недопустим из текущего состояния отчётного периода. - STATUS_NOT_ALLOWED: Запрошенное состояние недоступно в текущем контексте отчётного периода. - STOREFRONT_RULE_VIOLATION: Нарушено бизнес-правило витрины.
Допустимые значения
REQUIREDINVALID_TYPEINVALID_ENUMINVALID_FORMATNOT_FOUNDINVALID_STATUS_TRANSITIONSTATUS_NOT_ALLOWEDSTOREFRONT_RULE_VIOLATION
message
string
Описание ошибки.

Ошибки

400Некорректный запрос
application/json
object
error_type
string
ERROR_TYPE_UNAUTHORIZED — 401, ERROR_TYPE_RATE_LIMIT — 429, ERROR_TYPE_INTERNAL — 500
Допустимые значения
ERROR_TYPE_UNSPECIFIEDERROR_TYPE_UNAUTHORIZEDERROR_TYPE_RATE_LIMITERROR_TYPE_INTERNAL
code
string
код ошибки
message
string
сообщение
details
object
401Ошибка авторизации
application/json
object
error_type
string
ERROR_TYPE_UNAUTHORIZED — 401, ERROR_TYPE_RATE_LIMIT — 429, ERROR_TYPE_INTERNAL — 500
Допустимые значения
ERROR_TYPE_UNSPECIFIEDERROR_TYPE_UNAUTHORIZEDERROR_TYPE_RATE_LIMITERROR_TYPE_INTERNAL
code
string
код ошибки
message
string
сообщение
details
object
409Запрошенный переход отчёта запрещён state machine.
application/json
object
error_type
string
ERROR_TYPE_UNAUTHORIZED — 401, ERROR_TYPE_RATE_LIMIT — 429, ERROR_TYPE_INTERNAL — 500
Допустимые значения
ERROR_TYPE_UNSPECIFIEDERROR_TYPE_UNAUTHORIZEDERROR_TYPE_RATE_LIMITERROR_TYPE_INTERNAL
code
string
код ошибки
message
string
сообщение
details
object
429Превышен лимит запросов
application/json
object
error_type
string
ERROR_TYPE_UNAUTHORIZED — 401, ERROR_TYPE_RATE_LIMIT — 429, ERROR_TYPE_INTERNAL — 500
Допустимые значения
ERROR_TYPE_UNSPECIFIEDERROR_TYPE_UNAUTHORIZEDERROR_TYPE_RATE_LIMITERROR_TYPE_INTERNAL
code
string
код ошибки
message
string
сообщение
details
object
500Внутренняя ошибка сервера
application/json
object
error_type
string
ERROR_TYPE_UNAUTHORIZED — 401, ERROR_TYPE_RATE_LIMIT — 429, ERROR_TYPE_INTERNAL — 500
Допустимые значения
ERROR_TYPE_UNSPECIFIEDERROR_TYPE_UNAUTHORIZEDERROR_TYPE_RATE_LIMITERROR_TYPE_INTERNAL
code
string
код ошибки
message
string
сообщение
details
object
defaultОшибка (неожиданная или прочие)
application/json
object
error_type
string
ERROR_TYPE_UNAUTHORIZED — 401, ERROR_TYPE_RATE_LIMIT — 429, ERROR_TYPE_INTERNAL — 500
Допустимые значения
ERROR_TYPE_UNSPECIFIEDERROR_TYPE_UNAUTHORIZEDERROR_TYPE_RATE_LIMITERROR_TYPE_INTERNAL
code
string
код ошибки
message
string
сообщение
details
object
POST/v1/billing/report/update
1curl https://api.omninet.ru/v1/billing/report/update \2  --request POST \3  --header 'Content-Type: application/json' \4  --data '{5  "report_id": "string",6  "state": "string",7  "comment": "string"8}'
{
  "report_id": "string",
  "state": "string",
  "state_changed_at": "string",
  "errors": [
    {
      "field": "string",
      "code": "string",
      "message": "string"
    }
  ]
}

Новое состояние отчёта после успешного перехода.