> ## Documentation Index
> Fetch the complete documentation index at: https://docs.monyfix.tech/llms.txt
> Use this file to discover all available pages before exploring further.

# Магазин

> Сущность магазинов

## Как получить список магазинов

Получить список магазинов можно с помощью `GET` запроса к API `/stores`.

<Card title="Get stores list" icon="link" href="/api-reference/stores/get-stores">
  Перейти к роуту и изучить основные поля
</Card>

<Note>
  Данный роут **требует** JWT авторизацию для получения данных.
</Note>

## Как получить один магазин

Получить один магазин можно с помощью `GET` запроса к API `/stores/{id}` по `ID` магазина.

<Card title="Get single store" icon="link" href="/api-reference/stores/get-single-store">
  Перейти к роуту и изучить основные поля
</Card>

<Note>
  Данный роут **требует** JWT авторизацию для получения данных.
</Note>

### Структура ответа

Метод возвращает объект или массив объектов, в зависимости роута:

```json theme={null}
{
  "id": "int",
  "name": "string",
  "short_desc": "string",
  "detail_desc": "string",
  "web_site": "string",
  "logo_url": "string",
  "address": "string",
  "email": "string",
  "phone_number": "string"
}
```

## Как получить список товаров магазина

Получить список товаров магазина можно с помощью `GET` запроса к API `/stores/{id}/products` по его `ID`.

<Card title="Get store products" icon="link" href="/api-reference/stores/get-store-products">
  Перейти к роуту и изучить основные поля
</Card>

<Note>
  Данный роут **требует** JWT авторизацию для получения данных.
</Note>

В ответ на запрос, вернется список объектов продукта:

```json theme={null}
[
  {
    "id": "string",
    "name": "string",
    "price": "numeric",
    "main_picture_url": "string",
    "is_active": "bool",
    "quantity": "int",
    "store_id": "int",
    "detail_desc": "string",
    "question_id": "int"
  }
]
```

где:

`price` - цена товара в **копейках**

`quantity` - кол-во единиц товара (пока что будет всегда **1**)

`question_id` - необезательное поле, вернет `ID` вопроса, привязанного к товару, если есть

`store_id` - `ID` магазина, к которому привязан продукт

## Как создать магазин

Создать магазин можно с помощью `POST` запроса к API `/stores`.

<Card title="Create store" icon="link" href="/api-reference/stores/create-store">
  Перейти к роуту и изучить основные поля
</Card>

<Note>
  Данный роут **требует** JWT авторизацию для получения данных.
</Note>

<Warning>
  На данный момент магазины создаются вручную через админку только для проверенных контрагентов.
</Warning>

### JSON объект, необходимый для создания

<Note>
  Запрос должен отправляться как `multipart/form-data`, чтобы можно было отправить изображение в виде файла.
</Note>

```json theme={null}
{
  "name": "string",
  "short_desc": "string",
  "detail_desc": "string",
  "web_site": "string",
  "logo_url": "string",
  "address": "string",
  "email": "string",
  "phone_number": "string"
}
```

где:

`logo_url` - Загруженное пользователем изображение в формате `File`
