Операции
Фильтрация выплат
Метод предназначен для поиска и получения списка выплат компании с использованием фильтров и постраничной навигации.
Запрос
Метод: POST URL: https://b2b.selfwork.ru/openapi/v2/organisation/{organisationId}/operations/filter
Общая структура запроса описана в разделе Фильтрация: общая структура.
Path Parameters
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| organisationId | string (uuid) | Да | Идентификатор организации |
Доступные фильтры (filters)
Для фильтров со списком значений можно передать как одно значение, так и массив.
| Имя (name) | Тип значения (value) | Пример значения | Описание |
|---|---|---|---|
| ID | string (uuid) / array | ["3f2b8c1e-5d4a-4e6b-9c7d-1a2b3c4d5e6f"] | Фильтрация по ID выплат |
| NUMBER | number / array[number] | [1001, 1002] | Фильтрация по числовым номерам выплат |
| REGISTRY_ID | string (uuid) / array | ["8a7b6c5d-4e3f-4a1b-9c8d-7e6f5a4b3c2d"] | Фильтрация по ID реестров |
| INDIVIDUAL_ID | string (uuid) / array | ["c1d2e3f4-a5b6-4c7d-8e9f-0a1b2c3d4e5f"] | Фильтрация по ID исполнителей |
| STATUS | string / array[string] | ["PAYED_SUCCESS", "PAYED_ERROR"] | Статусы выплаты (см. справочник ниже) |
| PAYMENT_STATUS | string / array[string] | ["SUCCESS", "FAILED"] | Упрощённый статус выплаты (см. справочник ниже) |
| SUBJECT_TYPE | string / array[string] | ["MANUAL"] | Предмет выплаты (см. справочник ниже) |
| SUBJECT_ID | string / array[string] | ["3f2b8c1e-5d4a-4e6b-9c7d-1a2b3c4d5e6f"] | Идентификатор предмета выплаты |
| PAYMENT_METHOD_TYPE | string / array[string] | ["BANK_CARD", "BANK_ACCOUNT", "BANK_FPS"] | Тип способа оплаты |
| CREATED_AT | диапазон дат | {"from": "2026-01-01T00:00:00.000Z", "to": "2026-01-31T23:59:59.999Z"} | Диапазон дат создания выплаты |
| REGISTRATION_AT | диапазон дат | {"from": "2026-01-01T00:00:00.000Z", "to": "2026-01-31T23:59:59.999Z"} | Диапазон дат проведения выплаты |
| AMOUNT | диапазон чисел | {"from": 10000, "to": 100000} | Диапазон суммы выплаты в копейках |
| CONTRACTOR_FULL_NAME | string | "Иванов" | Поиск по ФИО исполнителя |
Фильтр ORGANISATION_ID тоже есть в схеме, но передавать его не нужно: организация всегда берётся из organisationId в пути.
Доступные сортировки
| Поле (field) | Описание |
|---|---|
| ID | ID выплаты |
| NUMBER | Номер выплаты |
| AMOUNT | Сумма выплаты |
| CREATED_AT | Дата создания |
| REGISTRATION_AT | Дата проведения выплаты |
Справочник статусов (STATUS)
| Статус | Описание |
|---|---|
| NEW | Новая выплата |
| CHECKED | Прошла предварительную проверку |
| ERROR | Ошибка предварительной проверки |
| PAYING | В процессе проведения платежа |
| PAYED_SUCCESS | Успешно проведена |
| PAYED_ERROR | Ошибка при проведении платежа |
| PAYED_LIMITS_ERROR | Превышение лимитов при проведении |
| MANUAL_PAY | Требует ручной обработки |
| NETWORK_ERROR | Сетевая ошибка |
| ON_SIGN | Ожидает подписания акта |
| SIGNED | Акт подписан |
| DECLINED | Отклонена |
| REPEATED_PAYMENT | Повторная попытка платежа |
| NOT_HAVE_MONEY | Недостаточно средств |
| CANCELLATION | В процессе отмены |
| CANCELED | Отменена |
Новые выплаты проходят только статусы
NEW,CHECKED,ON_SIGN,PAYING,PAYED_SUCCESS,ERRORиPAYED_ERROR. Остальные значения встречаются только у исторических выплат.
Справочник упрощённых статусов (PAYMENT_STATUS)
| Статус | Описание | STATUS у новых выплат |
|---|---|---|
| DRAFT | Выплата в черновике реестра: оплата не запускалась | NEW |
| IN_PROGRESS | Выплата в работе | CHECKED, ON_SIGN, PAYING |
| SUCCESS | Выплата проведена | PAYED_SUCCESS |
| FAILED | Выплата завершилась ошибкой, причина — в failureReason | ERROR, PAYED_ERROR |
Справочник предметов выплаты (SUBJECT_TYPE)
| Значение | Описание |
|---|---|
| TASK_DEAL | Сделка по объявлению о задаче |
| SIDE_JOB_DEAL | Сделка по подработке |
| MANUAL | Ручная выплата из реестра без сделки: subjectId равен id выплаты |
Справочник детализаций статуса (substatus)
| Substatus | Описание |
|---|---|
| SERVICE_ERROR | Ошибка сервиса |
| FNS_ERROR | Ошибка ФНС |
| BALANCE_ERROR | Ошибка баланса |
| ACT_REJECT_ERROR | Ошибка отклонения акта |
| ACT_NOT_SIGNED | Акт не подписан |
| SELFEMPLOYED_LIMIT_ERROR | Превышение лимита самозанятого |
| SELFEMPLOYED_MAX_LIMIT_ERROR | Достигнут максимальный лимит самозанятого |
| SELFEMPLOYED_NOT_BOUND | Самозанятый не привязан |
| NOT_SELFEMPLOYED | Не является самозанятым |
| LEGAL_IS_BLOCKED_ERROR | Юрлицо заблокировано |
| SUPPORT_CANCEL | Отмена службой поддержки |
| BLOCKED_BY_FROD | Заблокировано антифродом |
| PROVIDER_NOT_SUPPORT_PHYSICAL_PAYMENT | Провайдер не поддерживает выплаты физлицам |
Справочник причин ошибки (failureReason)
failureReason принимает все значения substatus (см. справочник выше) и, дополнительно, следующие:
| failureReason | Описание |
|---|---|
| CONTRACTOR_NOT_FOUND | Исполнитель не найден |
| CONTRACT_NOT_FOUND | Договор не найден |
| PAYMENT_METHOD_NOT_FOUND | Способ выплаты не найден |
| AMOUNT_NOT_SPECIFIED | Не указана сумма |
| PURPOSE_NOT_SPECIFIED | Не указано назначение платежа |
| CONTRACTOR_HAS_WRONG_STATUS | Неподходящий статус исполнителя |
| REGISTRY_UNSUPPORTED_CONTRACTOR_TYPE | Тип исполнителя не поддерживается реестром |
| CONTRACTOR_REQUISITE_IS_WRONG | Некорректные реквизиты исполнителя |
| PAYOUT_LIMIT_EXCEEDED | Превышен лимит выплат |
| COMPANY_DISABLED_EDO | У компании отключён ЭДО |
| CONNECT_DEAL_TO_PAYMENT_ERROR | Не удалось связать выплату со сделкой |
| CREATE_PAY_REGISTRY_TASK_ERROR | Ошибка при создании задачи оплаты реестра |
| CREATE_REGISTRY_WITH_PAYOUT_ERROR | Ошибка при создании реестра с выплатой |
| PAY_REGISTRY_ERROR | Ошибка запроса на оплату реестра |
| PROVIDER_REJECTED | Финансовый сервис отказал в выплате, причина — в failureMessage |
| RECEIPT_REGISTRATION_REJECTED | ФНС окончательно отказала в регистрации дохода, выплата не отправлялась |
| RECEIPT_REGISTRATION_TIMEOUT | Доход не удалось зарегистрировать в ФНС за отведённый срок, выплата не отправлялась |
| REQUISITE_RESTRICTED | Реквизит выплаты в стоп-листе платформы, выплата не отправлялась |
Пример запроса
curl --location "https://b2b.selfwork.ru/openapi/v2/organisation/550e8400-e29b-41d4-a716-446655440000/operations/filter" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ВАШ_API_КЛЮЧ" \
--data '{
"filters": [
{ "name": "PAYMENT_STATUS", "value": ["SUCCESS"] },
{ "name": "AMOUNT", "value": { "from": 10000, "to": 1000000 } }
],
"order": [{ "field": "CREATED_AT", "sort": "DESC" }],
"pagination": { "limit": 20, "lastId": null }
}'
Пример успешного ответа
{
"requestId": "d6475869-7a8b-9abc-0123-012345678901",
"success": true,
"result": {
"lastId": "3f2b8c1e-5d4a-4e6b-9c7d-1a2b3c4d5e6f",
"items": [
{
"id": "3f2b8c1e-5d4a-4e6b-9c7d-1a2b3c4d5e6f",
"number": 1001,
"registryId": "8a7b6c5d-4e3f-4a1b-9c8d-7e6f5a4b3c2d",
"contractor": {
"id": "c1d2e3f4-a5b6-4c7d-8e9f-0a1b2c3d4e5f",
"lastName": "Иванов",
"name": "Иван",
"middleName": "Иванович",
"inn": "770123456789"
},
"amount": 150000,
"purpose": "Оплата по договору №123",
"paymentMethod": {
"type": "BANK_ACCOUNT",
"details": {
"accountNumber": "40817810099910004312",
"bik": "044525225"
}
},
"status": "PAYED_SUCCESS",
"paymentStatus": "SUCCESS",
"failureReason": null,
"failureMessage": null,
"contract": {
"id": "6b1f0c2a-9d3e-4f5a-8b7c-2d1e0f9a8b7c",
"name": "Договор оказания услуг",
"status": "SIGNED",
"url": "https://storage.example.com/documents/contract.pdf",
"signedUrl": "https://storage.example.com/documents/contract-signed.pdf",
"signedAt": "2026-04-01T12:00:00.000Z",
"createdAt": "2026-04-01T10:00:00.000Z"
},
"partnerCommission": 10000,
"taxRetention": 9000,
"subjectType": "MANUAL",
"subjectId": "3f2b8c1e-5d4a-4e6b-9c7d-1a2b3c4d5e6f",
"registrationAt": "2026-04-15T10:00:02.000Z",
"createdAt": "2026-04-15T09:00:00.000Z"
}
]
}
}
Описание полей ответа
| Поле | Описание |
|---|---|
| requestId | Уникальный идентификатор запроса |
| success | Статус выполнения запроса |
| result | Контейнер с данными выборки |
| lastId | ID последнего элемента (для пагинации) |
| items | Массив объектов выплат |
| id | ID выплаты (UUID) |
| number | Числовой номер выплаты (он же payment.id в событиях Маркетплейса) |
| registryId | ID реестра выплат (UUID); у исторических выплат — null |
| contractor | Краткая информация об исполнителе (id, ФИО, ИНН) |
| amount | Сумма выплаты до удержания налога в копейках |
| purpose | Назначение платежа |
| paymentMethod | Способ оплаты (type и маскированные details); null — реквизит не выбран |
| status | Статус выплаты |
| substatus | Детализация статуса (опционально) |
| paymentStatus | Упрощённый статус: DRAFT, IN_PROGRESS, SUCCESS, FAILED |
| failureReason | Причина ошибки выплаты (см. справочник выше); null — ошибки нет |
| failureMessage | Текст ошибки — от проверки перед оплатой или от финансового сервиса; null — ошибки нет |
| contract | Связанный договор (опционально) |
| taxRatePercent | Налоговая ставка НПД (%) — только у исторических выплат (опционально) |
| partnerCommission | Комиссия платформы по тарифу в копейках (опционально) |
| taxRetention | Налог, удержанный в налоговую копилку исполнителя, в копейках; null — без удержания |
| subjectType | Предмет выплаты: TASK_DEAL, SIDE_JOB_DEAL, MANUAL |
| subjectId | Идентификатор предмета выплаты; у ручной выплаты — сама выплата |
| registrationAt | Дата проведения выплаты (итогового статуса), а до неё — дата создания (ISO 8601) |
| createdAt | Дата создания выплаты (ISO 8601) |
Поля объекта исполнителя (contractor)
| Поле | Тип | Описание |
|---|---|---|
| id | string (uuid) | ID исполнителя в организации; у исторических выплат — null |
| lastName | string | Фамилия |
| name | string | Имя; у исторических выплат — ФИО одной строкой |
| middleName | string | Отчество (опционально) |
| inn | string | ИНН исполнителя |
Поля способа выплаты (paymentMethod)
| Поле | Тип | Описание |
|---|---|---|
| type | string | Тип способа оплаты: BANK_CARD, BANK_ACCOUNT, BANK_FPS |
| details | object | Реквизиты, состав зависит от type (см. ниже) |
Состав details в зависимости от type:
| type | Поля details |
|---|---|
BANK_CARD | first4 — первые 4 цифры карты, last4 — последние 4 цифры карты |
BANK_ACCOUNT | accountNumber — номер счёта, bik — БИК банка |
BANK_FPS | phone — телефон в СБП, bankName — банк, bankId — ID банка в СБП |
Поля связанного договора (contract)
| Поле | Тип | Описание |
|---|---|---|
| id | string | ID документа (UUID) |
| name | string | Название документа |
| status | string | Статус документа |
| url | string | Ссылка на документ |
| signedUrl | string | Ссылка на подписанную копию; может быть null |
| signedAt | string | Дата подписания (ISO 8601); может быть null |
| createdAt | string | Дата создания (ISO 8601) |
Возможные ошибки
| Code | Описание |
|---|---|
| VALIDATION_ERROR | Ошибка валидации |
| FORBIDDEN_ERROR | Ошибка авторизации |
| UNKNOWN_ERROR | Ошибка сервера |
Получение информации о выплате
Метод возвращает детальную информацию о конкретной выплате, включая состояние операции в финансовом сервисе и связанные документы.
Запрос
Метод: GET URL: https://b2b.selfwork.ru/openapi/v2/organisation/{organisationId}/operations/{paymentId}
Path Parameters
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| organisationId | string (uuid) | Да | Идентификатор организации |
| paymentId | string (uuid) | Да | Идентификатор выплаты |
Пример запроса
curl --location "https://b2b.selfwork.ru/openapi/v2/organisation/550e8400-e29b-41d4-a716-446655440000/operations/3f2b8c1e-5d4a-4e6b-9c7d-1a2b3c4d5e6f" \
--header "accept: application/json" \
--header "Authorization: Bearer ВАШ_API_КЛЮЧ"
Пример успешного ответа
{
"requestId": "e758697a-8b9c-abcd-1234-123456789012",
"result": {
"id": "3f2b8c1e-5d4a-4e6b-9c7d-1a2b3c4d5e6f",
"number": 1001,
"registryId": "8a7b6c5d-4e3f-4a1b-9c8d-7e6f5a4b3c2d",
"contractor": {
"id": "c1d2e3f4-a5b6-4c7d-8e9f-0a1b2c3d4e5f",
"lastName": "Иванов",
"name": "Иван",
"middleName": "Иванович",
"inn": "770123456789"
},
"amount": 150000,
"purpose": "Оплата по договору №123",
"paymentMethod": {
"type": "BANK_ACCOUNT",
"details": {
"accountNumber": "40817810099910004312",
"bik": "044525225"
}
},
"status": "PAYED_SUCCESS",
"paymentStatus": "SUCCESS",
"failureReason": null,
"failureMessage": null,
"contract": {
"id": "6b1f0c2a-9d3e-4f5a-8b7c-2d1e0f9a8b7c",
"name": "Договор оказания услуг",
"status": "SIGNED",
"url": "https://storage.example.com/documents/contract.pdf",
"signedUrl": "https://storage.example.com/documents/contract-signed.pdf",
"signedAt": "2026-04-01T12:00:00.000Z",
"createdAt": "2026-04-01T10:00:00.000Z"
},
"partnerCommission": 10000,
"taxRetention": 9000,
"subjectType": "MANUAL",
"subjectId": "3f2b8c1e-5d4a-4e6b-9c7d-1a2b3c4d5e6f",
"registrationAt": "2026-04-15T10:00:02.000Z",
"createdAt": "2026-04-15T09:00:00.000Z",
"financeOperation": {
"operationId": "9e8d7c6b-5a4f-4e3d-8c2b-1a0f9e8d7c6b",
"status": "SUCCEEDED"
},
"relatedDocuments": [
{
"type": "CONTRACT",
"id": "6b1f0c2a-9d3e-4f5a-8b7c-2d1e0f9a8b7c",
"date": "2026-04-01",
"status": "SIGNED",
"url": "https://storage.example.com/documents/contract.pdf",
"localUrl": "https://storage.example.com/documents/contract-signed.pdf",
"createdAt": "2026-04-01T10:00:00.000Z"
},
{
"type": "RECEIPT",
"id": "200abc1234",
"date": "2026-04-15",
"url": "https://example.com/receipts/200abc1234",
"localUrl": "https://storage.example.com/receipts/200abc1234.pdf",
"createdAt": "2026-04-15T09:30:00.000Z"
}
]
},
"success": true
}
Описание полей ответа (result)
| Поле | Описание |
|---|---|
| id, number, registryId, contractor, amount, purpose, paymentMethod, status, substatus, paymentStatus, failureReason, failureMessage, contract, taxRatePercent, partnerCommission, taxRetention, subjectType, subjectId, registrationAt, createdAt | См. описание полей в методе "Фильтрация выплат" |
| financeOperation | Текущее состояние операции выплаты в финансовом сервисе; null — операция ещё не создана |
| relatedDocuments | Договор, акт и чек выплаты |
Поля contractor, paymentMethod и contract описаны в методе «Фильтрация выплат».
Поля операции в финансовом сервисе (financeOperation)
| Поле | Тип | Описание |
|---|---|---|
| operationId | string | Идентификатор операции в финансовом сервисе |
| status | string | Статус операции: PROCESSING — деньги в пути, SUCCEEDED — дошли, FAILED — отказ |
| taskStatus | string | Статус задачи выплаты в финансовом сервисе (опционально) |
| withdrawalStatus | string | Статус банковского вывода; может быть null (опционально) |
| requiresReconciliation | boolean | Вывод не завершён и требует сверки (опционально) |
Поля связанного документа (relatedDocuments[])
| Поле | Тип | Описание |
|---|---|---|
| type | string | Тип документа: CONTRACT, ACT, RECEIPT |
| id | string | Идентификатор документа: UUID договора и акта, идентификатор чека в ФНС |
| date | string | Дата документа, YYYY-MM-DD (опционально) |
| status | string | Статус документа (опционально) |
| url | string | Внешняя ссылка, например на чек ФНС (опционально) |
| localUrl | string | Ссылка на копию документа (опционально) |
| createdAt | string | Дата создания (ISO 8601) (опционально) |
Получение истории статусов выплаты
Метод возвращает список записей истории смены статусов конкретной выплаты по этапам её жизненного цикла.
Запрос
Метод: GET URL: https://b2b.selfwork.ru/openapi/v2/organisation/{organisationId}/operations/{paymentId}/history
Path Parameters
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
| organisationId | string (uuid) | Да | Идентификатор организации |
| paymentId | string (uuid) | Да | Идентификатор выплаты |
Справочник этапов (payoutStage)
| Этап | Описание |
|---|---|
| ACT_SIGNING | Подписание акта |
| RECEIPT_REG | Регистрация чека ФНС |
| PAYOUT_EXECUTION | Проведение выплаты в финансовом сервисе |
| RECEIPT_CANCELLATION | Аннулирование чека в ФНС после окончательного неуспеха выплаты |
Справочник статусов этапа (payoutStageStatus)
| Статус | Описание |
|---|---|
| PROCESSING | В процессе |
| SUCCESS | Успешно завершён |
| ERROR | Завершён с ошибкой |
Пример запроса
curl --location "https://b2b.selfwork.ru/openapi/v2/organisation/550e8400-e29b-41d4-a716-446655440000/operations/3f2b8c1e-5d4a-4e6b-9c7d-1a2b3c4d5e6f/history" \
--header "accept: application/json" \
--header "Authorization: Bearer ВАШ_API_КЛЮЧ"
Пример успешного ответа
{
"requestId": "f8697a8b-9cab-cdef-2345-234567890123",
"result": [
{
"id": "0b9a8c7d-6e5f-4a3b-8c2d-1e0f9a8b7c6d",
"payoutStage": "ACT_SIGNING",
"payoutStageStatus": "SUCCESS",
"createdAt": "2026-04-15T09:00:00.000Z"
},
{
"id": "1c0b9d8e-7f6a-4b5c-9d3e-2f1a0b9c8d7e",
"payoutStage": "RECEIPT_REG",
"payoutStageStatus": "SUCCESS",
"createdAt": "2026-04-15T09:30:00.000Z"
},
{
"id": "2d1c0e9f-8a7b-4c6d-8e4f-3a2b1c0d9e8f",
"payoutStage": "PAYOUT_EXECUTION",
"payoutStageStatus": "SUCCESS",
"createdAt": "2026-04-15T10:00:02.000Z"
}
],
"success": true
}
Описание полей ответа (items)
| Поле | Описание |
|---|---|
| id | ID записи истории (UUID) |
| payoutStage | Этап жизненного цикла выплаты (см. справочник выше) |
| payoutStageStatus | Статус этапа |
| createdAt | Дата и время изменения состояния (ISO 8601 UTC) |