Перейти к основному содержимому

Отклики

Фильтрация откликов (Offers)​

Метод предназначен для получения списка откликов исполнителей на объявления компании с применением гибких фильтров и постраничной навигации

Метод: POST URL: https://b2b.selfwork.ru/openapi/v2/organisation/{organisationId}/offers/filter

Общая структура запроса описана в разделе Фильтрация: общая структура.

Доступные фильтры (filters)​

Имя (name)Тип значения (value)Пример значенияОписание
IDarray[string]["698b08e4535a85cec7d3fa21"]Фильтрация по конкретным ID откликов (Mongo ObjectId)
STATUSarray[string]["ACCEPTED", "REJECTED"]Фильтрация по статусам отклика (см. справочник ниже)
ANNOUNCEMENT_IDarray[number][809, 810]Фильтрация по ID объявлений
CREATED_ATдиапазон дат{"from": "2026-02-01T00:00:00.000Z", "to": "2026-02-28T23:59:59.999Z"}Диапазон дат создания отклика
UPDATED_ATдиапазон дат{"from": "2026-02-01T00:00:00.000Z", "to": "2026-02-28T23:59:59.999Z"}Диапазон дат последнего изменения отклика
INDIVIDUAL_INNarray[string]["160285864492"]Фильтрация по ИНН исполнителей
TASK_INVITE_LINK_IDarray[string]["550e8400-e29b-41d4-a716-446655440000"]Фильтрация по ссылкам-приглашениям

Доступные сортировки​

Поле (field)Описание
STATUSСтатус отклика
ANNOUNCEMENT_IDID объявления
CREATED_ATДата создания отклика
UPDATED_ATДата последнего изменения отклика
FULL_NAMEФИО исполнителя

Поля, обрабатываемые по query​

Текстовый поиск (query) выполняет поиск частичного совпадения по услуге и описанию объявления, на которое был создан отклик.

Доступные статусы откликов (STATUS)​

СтатусОписание
APPLIEDОтклик подан, ожидает рассмотрения
ACCEPTEDОтклик принят заказчиком
REJECTEDОтклик отклонён заказчиком

Пример запроса​

curl --location "https://b2b.selfwork.ru/openapi/v2/organisation/550e8400-e29b-41d4-a716-446655440000/offers/filter" \
--header "Content-Type: application/json" \
--header "Authorization: Bearer ВАШ_API_КЛЮЧ" \
--data '{
"filters": [
{ "name": "STATUS", "value": ["ACCEPTED"] },
{ "name": "ANNOUNCEMENT_ID", "value": [809, 810] }
],
"pagination": { "limit": 10, "lastId": null }
}'

Пример ответа​

{
"requestId": "25f4f954-a53d-44f5-8154-f6b5ff4ef7a8",
"result": {
"lastId": "698b08e4535a85cec7d3fa21",
"items": [
{
"id": "698b08e4535a85cec7d3fa21",
"createdAt": "2026-02-10T10:31:00.480Z",
"updatedAt": "2026-02-10T10:31:00.480Z",
"createdBy": "6968d0e58adb5d56f5420178",
"toId": "6942bde29c4ba8df5b14653f",
"announcementId": 809,
"description": "",
"price": 0,
"status": "ACCEPTED",
"phone": "+79998887766",
"firstName": "Иван",
"lastName": "Иванов",
"middleName": "",
"inn": "111122223333",
"taskInviteLink": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"taskAnnouncementId": 809,
"token": "k7fd2mqrx9ab",
"name": "Телеграм-канал «Работа рядом»",
"status": "ACTIVE",
"expiresAt": null
}
}
]
},
"success": true
}

Структура ответа (Response Body)​

ПолеОписание
requestIdУникальный идентификатор транзакции запроса
successФлаг успешности выполнения запроса
result.lastIdИдентификатор последнего элемента в текущей выборке
result.itemsСписок объектов найденных откликов

Описание полей объекта отклика (items)​

КлючОписание
idУникальный системный идентификатор отклика
announcementIdID объявления, на которое сделан отклик
statusТекущий статус
priceПредложенная цена в копейках
firstNameИмя исполнителя
lastNameФамилия исполнителя
innИНН исполнителя
phoneКонтактный номер телефона
createdAtДата создания в формате
updatedAtДата последнего изменения в формате
createdByСистемный ID пользователя, создавшего отклик
toIdСистемный ID организации-получателя
taskInviteLinkСсылка-приглашение, по которой пришёл отклик

 

Принятие откликов исполнителей​

Метод предназначен для массового или точечного подтверждения откликов, поданных исполнителями на объявления компании. После успешного принятия статус отклика меняется на ACCEPTED

 

Метод: POST URL: https://b2b.selfwork.ru/openapi/v2/organisation/{organisationId}/offers/accept

Request Body (JSON)​

ПолеТипОбязательностьОписание
offersarray[string]ДаМассив строковых идентификаторов откликов (ID отклика)

Правила валидации​

ПараметрПравило
offersМассив не может быть пустым. Каждый элемент — строка в формате Mongo ObjectId

Пример тела запроса:​

curl -X 'POST' \
"https://b2b.selfwork.ru/openapi/v2/organisation/550e8400-e29b-41d4-a716-446655440000/offers/accept" \
-H "accept: application/json" \
-H "Authorization: Bearer ВАШ_API_КЛЮЧ" \
-d '{
"offers": [
"698b0486535a85cec7d3f47e",
"587a9375424z74bdc6c2e36d"
]
}'

Пример успешного ответа:​

{
"requestId": "a9cee689-b069-4a61-bdaa-4983fcebcb53",
"result": {
"successfulItems": [
{
"id": "698b0486535a85cec7d3f47e",
"createdAt": "2026-02-10T10:12:22.165Z",
"updatedAt": "2026-02-10T10:12:22.165Z",
"createdBy": "6989f195684a224f7a7ef0e8",
"toId": "6942bde29c4ba8df5b14653f",
"announcementId": 809,
"description": "",
"price": 0,
"status": "ACCEPTED"
},
{
"id": "587a9375424z74bdc6c2e36d",
"createdAt": "2026-02-10T10:12:22.165Z",
"updatedAt": "2026-02-10T10:12:22.165Z",
"createdBy": "6989f195684a224f7a7ef0e8",
"toId": "6942bde29c4ba8df5b14653f",
"announcementId": 809,
"description": "",
"price": 0,
"status": "ACCEPTED"
}
],
"errors": []
},
"success": true
}

Ответ (Response Body)​

ПолеОписание
requestIdУникальный идентификатор запроса
successОбщий статус выполнения запроса
resultКонтейнер с результатами обработки массива переданных ID
successfulItemsСписок объектов откликов, которые были успешно приняты
idУникальный системный идентификатор отклика
announcementIdID объявления (задачи), на которое откликнулся исполнитель
statusТекущий статус отклика. В успешном ответе этого метода всегда ACCEPTED
priceСтоимость, указанная в отклике (в копейках). 0 означает, что цена не была указана исполнителем или зафиксирована по ставке объявления
descriptionСопроводительное письмо или комментарий исполнителя к отклику
createdByСистемный ID пользователя (исполнителя), создавшего этот отклик
toIdСистемный ID организации (компании), которой адресован отклик
createdAtДата и время создания отклика
updatedAtДата и время последнего изменения
errorsСписок откликов, которые не удалось принять (например, из-за неверного статуса). Если массив пуст [], значит все переданные ID обработаны успешно.

Возможные ошибки:​

Сообщение об ошибкеПричина
Offer not found or has wrong statusОтклик уже принят, отклонен или ID не существует
Документ не найден для контрагентаУ исполнителя (самозанятого) отсутствуют или не подписаны необходимые документы для работы с юрлицом

 

 

Отклонение откликов исполнителей​

Метод позволяет компании отклонить один или несколько откликов. После успешного выполнения статус отклика изменяется на REJECTED.

Метод: POST URL: https://b2b.selfwork.ru/openapi/v2/organisation/{organisationId}/offers/decline

Request Body (JSON)​

ПолеТипОбязательностьОписание
offersarray[string]ДаМассив строковых идентификаторов откликов (ID отклика)

Правила валидации​

ПараметрПравило
offersМассив не может быть пустым. Каждый элемент — строка в формате Mongo ObjectId

Пример тела запроса:​

curl -X 'POST' \
"https://b2b.selfwork.ru/openapi/v2/organisation/550e8400-e29b-41d4-a716-446655440000/offers/decline" \
-H "accept: application/json" \
-H "Authorization: Bearer ВАШ_API_КЛЮЧ" \
-d '{
"offers": [
"698b0486535a85cec7d3f47e",
"587a9375424z74bdc6c2e36d"
]
}'

Пример успешного ответа:​

{
"requestId": "a9cee689-b069-4a61-bdaa-4983fcebcb53",
"result": {
"successfulItems": [
{
"id": "698b0486535a85cec7d3f47e",
"createdAt": "2026-02-10T10:12:22.165Z",
"updatedAt": "2026-02-10T10:12:22.165Z",
"createdBy": "6989f195684a224f7a7ef0e8",
"toId": "6942bde29c4ba8df5b14653f",
"announcementId": 809,
"description": "",
"price": 0,
"status": "REJECTED"
},
{
"id": "587a9375424z74bdc6c2e36d",
"createdAt": "2026-02-10T10:12:22.165Z",
"updatedAt": "2026-02-10T10:12:22.165Z",
"createdBy": "6989f195684a224f7a7ef0e8",
"toId": "6942bde29c4ba8df5b14653f",
"announcementId": 809,
"description": "",
"price": 0,
"status": "REJECTED"
}
],
"errors": []
},
"success": true
}

Возможные ошибки:​

Сообщение об ошибкеПричина
Offer not found or has wrong statusОтклик уже принят, отклонен или ID не существует