Обновление состояния отчёта
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"
}
]
}Новое состояние отчёта после успешного перехода.