Справочник API
Lost&Found MVP API (1.0.0)
Download OpenAPI specification:Download
В рамках данной версии описаны только 3 экрана:
- лента объявлений
- карточка объявления
- создание объявления
Получить список объявлений для ленты
Используется для:
- первичной загрузки ленты,
- поиска,
- фильтрации.
Request Body schema: application/jsonrequired
required | object (PaginationRequest) |
object (AdsFilter) Фильтры ленты объявлений |
Responses
Request samples
- Payload
Content type
application/json
{- "pagination": {
- "page": 1,
- "pageSize": 10
}, - "filters": {
- "status": "active",
- "type": "lost",
- "categoryId": "337f5e5d-288b-40d5-be14-901cc3acacc0",
- "dateFrom": "2019-08-24T14:15:22Z",
- "dateTo": "2019-08-24T14:15:22Z",
- "district": "string",
- "radiusKm": 0.1,
- "text": "Серый рюкзак"
}
}Response samples
- 200
- 400
- 500
Content type
application/json
{- "items": [
- {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "active",
- "type": "lost",
- "category": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "Документы"
}, - "placeShort": "Тверской район",
- "shortDescription": "Потерян серый рюкзак с одной красной лямкой",
- "eventAt": "2019-08-24T14:15:22Z",
}
], - "pagination": {
- "page": 1,
- "pageSize": 10,
- "hasNext": true
}
}Получить карточку объявления
Возвращает полные текстовые данные объявления и массив photoUrls для фотографий.
path Parameters
| adId required | string <uuid> Идентификатор объявления |
Responses
Response samples
- 200
- 404
- 500
Content type
application/json
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "status": "active",
- "type": "lost",
- "category": {
- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "name": "Документы"
}, - "eventAt": "2019-08-24T14:15:22Z",
- "location": {
- "city": "Москва",
- "district": "Тверской",
- "addressText": "м. Белорусская, у выхода №2",
- "latitude": 55.7764,
- "longitude": 37.5849,
- "source": "map"
}, - "description": "Потерян серый рюкзак с красной лямкой, внутри были тетради и зарядка",
}Создать объявление
Создаёт новое объявление типа «Потерял» или «Нашёл».
Authorizations:
BearerAuth
Request Body schema: application/jsonrequired
| type required | string (AdType) Enum: "lost" "found" Тип объявления |
| categoryId required | string <uuid> |
| eventAt required | string <date-time> |
required | object (Location) |
| description required | string <= 2000 characters |
| photoIds | Array of strings <uuid> [ items <uuid > ] Список идентификаторов ранее загруженных фотографий. |
Responses
Request samples
- Payload
Content type
application/json
{- "type": "lost",
- "categoryId": "337f5e5d-288b-40d5-be14-901cc3acacc0",
- "eventAt": "2019-08-24T14:15:22Z",
- "location": {
- "city": "Москва",
- "district": "Тверской",
- "addressText": "м. Белорусская, у выхода №2",
- "latitude": 55.7764,
- "longitude": 37.5849,
- "source": "map"
}, - "description": "string",
- "photoIds": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}Response samples
- 201
- 400
- 401
- 422
- 500
Content type
application/json
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}Пожаловаться на объявление
Создаёт жалобу на конкретное объявление.
Authorizations:
BearerAuth
path Parameters
| adId required | string <uuid> Идентификатор объявления |
Request Body schema: application/jsonrequired
| reason required | string (ReportReason) Enum: "spam" "fraud" "personal_data" "other" Причина жалобы |
| comment | string <= 1000 characters |
Responses
Request samples
- Payload
Content type
application/json
{- "reason": "spam",
- "comment": "string"
}Response samples
- 400
- 401
- 404
- 500
Content type
application/json
{- "code": "validation_error",
- "message": "string"
}Загрузить фото
Загружает фотографию отдельно от публикации объявления и возвращает photoId. Этот идентификатор затем передаётся в photoIds при создании объявления. До публикации объявления фотография хранится как временная и может быть удалена, если не была использована при создании объявления.
Authorizations:
BearerAuth
Request Body schema: multipart/form-datarequired
| file required | string <binary> |
Responses
Response samples
- 201
- 400
- 401
- 413
- 415
- 500
Content type
application/json
{- "photoId": "471eeb8e-973b-4db2-8b53-a320ccd51909"
}