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

Справочник API

Lost&Found MVP API (1.0.0)

Download OpenAPI specification:Download

В рамках данной версии описаны только 3 экрана:

  • лента объявлений
  • карточка объявления
  • создание объявления

Объявления

Получить список объявлений для ленты

Используется для:

  • первичной загрузки ленты,
  • поиска,
  • фильтрации.
Request Body schema: application/json
required
required
object (PaginationRequest)
object (AdsFilter)

Фильтры ленты объявлений

Responses

Request samples

Content type
application/json
{
  • "pagination": {
    },
  • "filters": {
    }
}

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "pagination": {
    }
}

Получить карточку объявления

Возвращает полные текстовые данные объявления и массив photoUrls для фотографий.

path Parameters
adId
required
string <uuid>

Идентификатор объявления

Responses

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "status": "active",
  • "type": "lost",
  • "category": {
    },
  • "eventAt": "2019-08-24T14:15:22Z",
  • "location": {
    },
  • "description": "Потерян серый рюкзак с красной лямкой, внутри были тетради и зарядка",
  • "photoUrls": []
}

Создать объявление

Создаёт новое объявление типа «Потерял» или «Нашёл».

Authorizations:
BearerAuth
Request Body schema: application/json
required
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

Content type
application/json
{
  • "type": "lost",
  • "categoryId": "337f5e5d-288b-40d5-be14-901cc3acacc0",
  • "eventAt": "2019-08-24T14:15:22Z",
  • "location": {
    },
  • "description": "string",
  • "photoIds": [
    ]
}

Response samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}

Откликнуться на объявление

Создаёт отклик на объявление.

Authorizations:
BearerAuth
path Parameters
adId
required
string <uuid>

Идентификатор объявления

Responses

Response samples

Content type
application/json
{
  • "code": "validation_error",
  • "message": "string"
}

Пожаловаться на объявление

Создаёт жалобу на конкретное объявление.

Authorizations:
BearerAuth
path Parameters
adId
required
string <uuid>

Идентификатор объявления

Request Body schema: application/json
required
reason
required
string (ReportReason)
Enum: "spam" "fraud" "personal_data" "other"

Причина жалобы

comment
string <= 1000 characters

Responses

Request samples

Content type
application/json
{
  • "reason": "spam",
  • "comment": "string"
}

Response samples

Content type
application/json
{
  • "code": "validation_error",
  • "message": "string"
}

Справочники

Получить список категорий

Используется в фильтрах ленты и в форме создания объявления.

Responses

Response samples

Content type
application/json
{
  • "items": [
    ]
}

Медиа

Загрузить фото

Загружает фотографию отдельно от публикации объявления и возвращает photoId. Этот идентификатор затем передаётся в photoIds при создании объявления. До публикации объявления фотография хранится как временная и может быть удалена, если не была использована при создании объявления.

Authorizations:
BearerAuth
Request Body schema: multipart/form-data
required
file
required
string <binary>

Responses

Response samples

Content type
application/json
{
  • "photoId": "471eeb8e-973b-4db2-8b53-a320ccd51909"
}