# Заказы

## Список заказов в мастерской

<mark style="color:blue;">`GET`</mark> `https://api.livesklad.com/shops/{id}/orders`

Возвращает массив заказов для мастерской. Для получения списка заказов у API должен быть настроен доступ к заказам и доступ к соответствующей мастерской\
\
Для сортировки результата необходимо в параметре **sort** передать строку "**<название\_поля> ASC**" или "**<название\_поля> DESC**". Где **ASC** - сортировать по возрастанию, **DESC** - сортировать по убыванию, **<название\_поля>** - поле по которому осуществляется сортировка, может быть одно из: **id**, **sn**, **typeOrder**, **manager**, **closeManager**, **master**, **brand**, **model**, **typeDevice**, **node**, **problem**, **completeSet**, **number**, **num**, **dateCreate**, **lastAction**, **dateClose**, **dateFinish**, **deadline**, **statusDeadline**, **counteragent**, **address**, **summ**, **cash**, **status**, **isUrgent**. По умолчанию заказы сортируются от новых к старым\
\
Фильтры по датам передаются в виде массива из двух чисел в формате Unix (**в миллисекундах**), где первый число - это начало диапазона, а второе - конец диапазона. Если какая-то граница диапазона отсутствует, то вместо нее нужно передать null. Например \[1690837200000,1693515599999] или \[null,1693515599999]

Из списка с любым заданным набором фильтров можно получить максимум 10000 элементов, то есть максимальное значение для **page** \* **pageSize** = 10000. Чтобы получить другие элементы, нужно либо изменить фильтр, либо изменить сортировку

#### Path Parameters

| Name                                 | Type   | Description   |
| ------------------------------------ | ------ | ------------- |
| id<mark style="color:red;">\*</mark> | string | id мастерской |

#### Query Parameters

| Name             | Type    | Description                                                                                                                                                                                    |
| ---------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| isVisible        | boolean | Фильтр по удаленным заказам. Если true - будут считаны только не удаленные заказы, если false - будут считаны только удаленные заказы, если параметр не отсутствует - будут считаны все заказы |
| sort             | string  | Сортировка                                                                                                                                                                                     |
| statusIds        | array   | Фильтр по статусам заказов, передается в виде массива id статусов                                                                                                                              |
| masterId         | string  | Фильтр по мастеру которому назначен заказ                                                                                                                                                      |
| managerId        | string  | Фильтр по менеджеру которому назначен заказ                                                                                                                                                    |
| counteragentId   | string  | Фильтр по контрагенту                                                                                                                                                                          |
| isUrgent         | boolean | Фильтр: "Срочные заказы"                                                                                                                                                                       |
| isDeadline       | boolean | Фильтр: "Просроченные заказы"                                                                                                                                                                  |
| isStatusDeadline | boolean | Фильтр: "Просроченные по норме времени статуса"                                                                                                                                                |
| page             | number  | Номер страницы выборки ( по умолчанию - 1)                                                                                                                                                     |
| pageSize         | number  | Количество элементов в выборке (по умолчанию - 10, максимум - 50)                                                                                                                              |
| filter           | string  | Текст для поиска по содержимому заказа                                                                                                                                                         |
| dateCreate       | array   | Фильтр по дате создания                                                                                                                                                                        |
| dateFinish       | array   | Фильтр по дате готовности                                                                                                                                                                      |
| dateClose        | array   | Фильтр по дате выдачи                                                                                                                                                                          |
| deadline         | array   | Фильтр по дате крайнего срока                                                                                                                                                                  |
| statusDeadline   | array   | Фильтр по дате крайнего срока статуса                                                                                                                                                          |
| lastAction       | array   | Фильтр по дате последнего изменения                                                                                                                                                            |
| num              | number  | Номер заказа (числовой номер, ищет по точному соответствию номера заказа без учета префикса)                                                                                                   |
| numer            | string  | Номер заказа (текстовый номер, ищет по частичному совпадению номера заказа с учетом префикса)                                                                                                  |

#### Headers

| Name                                            | Type   | Description       |
| ----------------------------------------------- | ------ | ----------------- |
| Authorization<mark style="color:red;">\*</mark> | string | Токен авторизации |

{% tabs %}
{% tab title="200 " %}

```json
{
  data: [
    {
      isUrgent: false,
      color: "Белый",
      manager: {
        name: "Фамилия Имя",
        id: "63c015adcce57401c832fab4"
      },
      typeOrder: {
        name: "Платный",
        id: "63c015adcce57401c832fbf4"
      },
      approximatePrice: "3000р",
      counteragent: {
        name: "Кузнецов Евгений Анатольевич",
        rating: -1,
        phones: [
          "+7 (933) 333-33-33"
        ],
        id: "63c015afcce57401c832fc9e"
      },
      isVisible: true,
      dateCreate: "2022-12-12T14:14:07.820Z",
      number: "A000003",
      problem: [
        "Не заряжается"
      ],
      summ: {
        price: 0,
        soldPrice: 0
      },
      typeDevice: "Планшет",
      sn: "355636789089331",
      cash: {
        summ: 0
      },
      device: "Apple iPad 3",
      status: {
        id: "63c015adcce57401c832fbf1",
        name: "Новый",
        color: "#3E8EF7",
        type: "new",
        comment: "none",
        isChange: true
      },
      id: "63c015afcce57401c832fca4",
      shop: {
        id: "63c015adcce57401c832faee",
        name: "Мастерская",
        color: "#ff6666"
      }
    },
    {
      isUrgent: false,
      color: "Синий",
      manager: {
        name: "Фамилия Имя",
        id: "63c015adcce57401c832fab4"
      },
      typeOrder: {
        name: "Платный",
        id: "63c015adcce57401c832fbf4"
      },
      approximatePrice: "4000 р",
      counteragent: {
        name: "Смирнов Иван Андреевич",
        rating: 0,
        phones: [
          "+7 (944) 444-44-44"
        ],
        id: "63c015afcce57401c832fc9f"
      },
      isVisible: true,
      dateCreate: "2022-12-12T14:14:07.820Z",
      number: "A000004",
      problem: [
        "Замена корпуса"
      ],
      summ: {
        price: 0,
        soldPrice: 0
      },
      typeDevice: "Телефон",
      sn: "354578765434567",
      cash: {
        summ: 0
      },
      device: "Alcatel 5080x",
      status: {
        id: "63c015adcce57401c832fbf1",
        name: "Новый",
        color: "#3E8EF7",
        type: "new",
        comment: "none",
        isChange: true
      },
      id: "63c015afcce57401c832fca5",
      shop: {
        id: "63c015adcce57401c832faee",
        name: "Мастерская",
        color: "#ff6666"
      }
    }
  ],
  total: 10,
  page: 1,
  pageSize: 10,
  sort: {
    field: "dateCreate",
    dir: "DESC"
  },
  version: "2.0.0.0",
  remainRequest: 50,
  expireDate: "2022-12-13T09:09:20.861Z"
}
```

{% endtab %}

{% tab title="401 Доступ запрещен" %}

```json
{
  error: {
    statusCode: 401,
    name: "Error",
    message: "Access denied"
  }
}
```

{% endtab %}
{% endtabs %}

## Список заказов без привязки к мастерской

<mark style="color:blue;">`GET`</mark> `https://api.livesklad.com/company/orders`

Возвращает массив заказов найденных по всем мастерским. Для получения списка заказов у API должен быть настроен доступ к заказам\
\
Для сортировки результата необходимо в параметре **sort** передать строку "**<название\_поля> ASC**" или "**<название\_поля> DESC**". Где **ASC** - сортировать по возрастанию, **DESC** - сортировать по убыванию, **<название\_поля>** - поле по которому осуществляется сортировка, может быть одно из: **id**, **sn**, **typeOrder**, **manager**, **closeManager**, **master**, **brand**, **model**, **typeDevice**, **node**, **problem**, **completeSet**, **number**, **num**, **dateCreate**, **lastAction**, **dateClose**, **dateFinish**, **deadline**, **statusDeadline**, **counteragent**, **address**, **summ**, **cash**, **status**, **isUrgent**. По умолчанию заказы сортируются от новых к старым\
\
Фильтры по датам передаются в виде массива из двух чисел в формате Unix (**в миллисекундах**), где первый число - это начало диапазона, а второе - конец диапазона. Если какая-то граница диапазона отсутствует, то вместо нее нужно передать null. Например \[1690837200000,1693515599999] или \[null,1693515599999]

Из списка с любым заданным набором фильтров можно получить максимум 10000 элементов, то есть максимальное значение для **page** \* **pageSize** = 10000. Чтобы получить другие элементы, нужно либо изменить фильтр, либо изменить сортировку

#### Query Parameters

| Name             | Type    | Description                                                                                                                                                                                    |
| ---------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| isVisible        | boolean | Фильтр по удаленным заказам. Если true - будут считаны только не удаленные заказы, если false - будут считаны только удаленные заказы, если параметр не отсутствует - будут считаны все заказы |
| sort             | string  | Сортировка                                                                                                                                                                                     |
| statusIds        | array   | Фильтр по статусам заказов, передается в виде массива id статусов                                                                                                                              |
| masterId         | string  | Фильтр по мастеру которому назначен заказ                                                                                                                                                      |
| managerId        | string  | Фильтр по менеджеру которому назначен заказ                                                                                                                                                    |
| counteragentId   | string  | Фильтр по контрагенту                                                                                                                                                                          |
| isUrgent         | boolean | Фильтр: "Срочные заказы"                                                                                                                                                                       |
| isDeadline       | boolean | Фильтр: "Просроченные заказы"                                                                                                                                                                  |
| isStatusDeadline | boolean | Фильтр: "Просроченные по норме времени статуса"                                                                                                                                                |
| page             | number  | Номер страницы выборки (по умолчанию - 1)                                                                                                                                                      |
| pageSize         | number  | Количество элементов в выборке (по умолчанию - 10, максимум - 50)                                                                                                                              |
| filter           | string  | Текст для поиска по содержимому заказа                                                                                                                                                         |
| dateCreate       | array   | Фильтр по дате создания                                                                                                                                                                        |
| dateFinish       | array   | Фильтр по дате готовности                                                                                                                                                                      |
| dateClose        | array   | Фильтр по дате выдачи                                                                                                                                                                          |
| deadline         | array   | Фильтр по дате крайнего срока                                                                                                                                                                  |
| statusDeadline   | array   | Фильтр по дате крайнего срока статуса                                                                                                                                                          |
| lastAction       | array   | Фильтр по дате последнего изменения                                                                                                                                                            |
| num              | number  | Номер заказа (числовой номер, ищет по точному соответствию номера заказа без учета префикса)                                                                                                   |
| number           | string  | Номер заказа (текстовый номер, ищет по частичному совпадению номера заказа с учетом префикса)                                                                                                  |

#### Headers

| Name                                            | Type   | Description       |
| ----------------------------------------------- | ------ | ----------------- |
| Authorization<mark style="color:red;">\*</mark> | string | Токен авторизации |

{% tabs %}
{% tab title="200 " %}

```json
{
  data: [
    {
      isUrgent: false,
      color: "Белый",
      manager: {
        name: "Фамилия Имя",
        id: "63c015adcce57401c832fab4"
      },
      typeOrder: {
        name: "Платный",
        id: "63c015adcce57401c832fbf4"
      },
      approximatePrice: "3000р",
      counteragent: {
        name: "Кузнецов Евгений Анатольевич",
        rating: -1,
        phones: [
          "+7 (933) 333-33-33"
        ],
        id: "63c015afcce57401c832fc9e"
      },
      isVisible: true,
      dateCreate: "2022-12-12T14:14:07.820Z",
      number: "A000003",
      problem: [
        "Не заряжается"
      ],
      summ: {
        price: 0,
        soldPrice: 0
      },
      typeDevice: "Планшет",
      sn: "355636789089331",
      cash: {
        summ: 0
      },
      device: "Apple iPad 3",
      status: {
        id: "63c015adcce57401c832fbf1",
        name: "Новый",
        color: "#3E8EF7",
        type: "new",
        comment: "none",
        isChange: true
      },
      id: "63c015afcce57401c832fca4",
      shop: {
        id: "63c015adcce57401c832faee",
        name: "Мастерская",
        color: "#ff6666"
      }
    },
    {
      isUrgent: false,
      color: "Синий",
      manager: {
        name: "Фамилия Имя",
        id: "63c015adcce57401c832fab4"
      },
      typeOrder: {
        name: "Платный",
        id: "63c015adcce57401c832fbf4"
      },
      approximatePrice: "4000 р",
      counteragent: {
        name: "Смирнов Иван Андреевич",
        rating: 0,
        phones: [
          "+7 (944) 444-44-44"
        ],
        id: "63c015afcce57401c832fc9f"
      },
      isVisible: true,
      dateCreate: "2022-12-12T14:14:07.820Z",
      number: "A000004",
      problem: [
        "Замена корпуса"
      ],
      summ: {
        price: 0,
        soldPrice: 0
      },
      typeDevice: "Телефон",
      sn: "354578765434567",
      cash: {
        summ: 0
      },
      device: "Alcatel 5080x",
      status: {
        id: "63c015adcce57401c832fbf1",
        name: "Новый",
        color: "#3E8EF7",
        type: "new",
        comment: "none",
        isChange: true
      },
      id: "63c015afcce57401c832fca5",
      shop: {
        id: "63c015adcce57401c832faee",
        name: "Мастерская",
        color: "#ff6666"
      }
    }
  ],
  total: 10,
  page: 1,
  pageSize: 10,
  sort: {
    field: "dateCreate",
    dir: "DESC"
  },
  version: "2.0.0.0",
  remainRequest: 50,
  expireDate: "2022-12-13T09:09:20.861Z"
}
```

{% endtab %}

{% tab title="401 Доступ запрещен" %}

```json
{
  error: {
    statusCode: 401,
    name: "Error",
    message: "Access denied"
  }
}
```

{% endtab %}
{% endtabs %}

## Создание заказа

<mark style="color:green;">`POST`</mark> `https://api.livesklad.com/shops/{id}/orders`

Создает заказ в мастерской. Для создания заказа у API должен быть настроен доступ к заказам и и доступ к соответствующей мастерской, так же должен быть установлен доступ на создание заказов

#### Path Parameters

| Name                                 | Type   | Description   |
| ------------------------------------ | ------ | ------------- |
| id<mark style="color:red;">\*</mark> | string | id мастерской |

#### Headers

| Name                                            | Type   | Description       |
| ----------------------------------------------- | ------ | ----------------- |
| Authorization<mark style="color:red;">\*</mark> | string | Токен авторизации |

#### Request Body

| Name                                          | Type    | Description                                                            |
| --------------------------------------------- | ------- | ---------------------------------------------------------------------- |
| counteragentId                                | string  | id контрагента                                                         |
| name                                          | string  | Имя контрагента                                                        |
| address                                       | string  | Адрес контрагента                                                      |
| phones                                        | array   | Телефоны контрагента, передаются в виде массива строк                  |
| email                                         | string  | email контрагента                                                      |
| isBuyer                                       | boolean | Контрагент является покупателем (по умолчанию - false)                 |
| isVendor                                      | boolean | Контрагент является поставщиком (по умолчанию - false)                 |
| counteragentNode                              | string  | Примечание контрагента                                                 |
| isSendSms                                     | boolean | Контрагенту можно отправлять смс-сообщения (по умолчанию - false)      |
| rating                                        | number  | Рейтинг контрагента (обычный: 0, негативный клиент: -1, позитивный: 1) |
| typeOrderId<mark style="color:red;">\*</mark> | string  | id типа заказа                                                         |
| isUrgent                                      | boolean | Срочный заказ (по умолчанию - false)                                   |
| masterId                                      | string  | id мастера которому необходимо назначить заказ                         |
| managerId                                     | string  | id менеджера которому необходимо назначить заказ                       |
| deadline                                      | number  | Крайний срок заказа (передается в формате Unix, в **миллисекундах**)   |
| typeDevice                                    | string  | Тип устройства                                                         |
| brand                                         | string  | Марка                                                                  |
| model                                         | string  | Модель                                                                 |
| sn                                            | string  | Серийный номер                                                         |
| problem                                       | array   | Список неисправностей, передается в виде массива строк                 |
| completeSet                                   | array   | Комплектация, передается в виде массива строк                          |
| cashRegisterId                                | string  | id кассы в которую будет принята предоплата                            |
| money                                         | number  | Сумма предоплаты наличными                                             |
| bank                                          | number  | Сума предоплаты безналичными                                           |
| approximatePrice                              | string  | Предварительная стоимость                                              |
| orderNode                                     | string  | Примечание к заказу                                                    |
| appearance                                    | array   | Внешний вид, передается в виде массива строк                           |
| color                                         | string  | Цвет                                                                   |
| customFields                                  | array   | Массив пользовательских полей                                          |
| howKnowId                                     | string  | id источника рекламы                                                   |

{% tabs %}
{% tab title="200 " %}

```json
{
  data: {
    dateCreate: "2022-12-13T13:49:50.907Z",
    lastAction: "2022-12-13T13:49:50.907Z",
    number: "A000011",
    num: 11,
    isVisible: true,
    isUrgent: false,
    id: "63c1617e360b094eed16ab6a",
    shop: {
      id: "63c015adcce57401c832faee",
      name: "Мастерская",
      color: "#ff6666",
      phones: [],
      address: null,
      isVisible: true
    },
    status: {
      name: "Новый",
      color: "#3E8EF7",
      type: "new",
      id: "63c015adcce57401c832fbf1",
      comment: "none",
      isPayRequired: false
    },
    createManager: {
      id: "63c0164bcce57401c832fd36",
      name: "API"
    },
    typeOrder: {
      id: "63c015adcce57401c832fbf4",
      name: "Платный"
    },
    counteragent: {
      name: "Клиент",
      phones: [],
      isBuyer: true,
      isVendor: false,
      isVisible: true,
      isSendSms: false,
      isSendEmail: false,
      isSendTelegram: false,
      rating: 0,
      id: "63c1617e360b094eed16ab69",
      typeCounteragent: {
        name: "Частное лицо",
        id: "63c015adcce57401c832fbf5"
      }
    },
    howKnow: {
      name: "Повторное обращение",
      id: "63c015adcce57401c832fabb"
    },
    positions: []
  },
  version: "2.0.0.0",
  remainRequest: 50,
  expireDate: "2022-12-13T09:09:20.861Z"
}
```

{% endtab %}

{% tab title="401 Доступ запрещен" %}

```json
{
  error: {
    statusCode: 401,
    name: "Error",
    message: "Access denied"
  }
}
```

{% endtab %}
{% endtabs %}

Контрагент при создании заказ может быть указан двумя способами:\
1\) **counteragentId** - id уже существующего контрагента\
2\) **name**, **typeCounteragentId**, **phones**, **isBuyer**, **isVendor**, **email**, **address**, **isSendSms**, **rating**, **counteragentNode, howKnowId** - данные контрагента которого необходимо создать при создании заказа. В случае если не указан **typeCounteragentId,** используется значение указанное в системе по умолчанию.\
Один из параметров **counteragentId** или **name** - обязателен.

В **customFields** передаются пользовательские поля по заказу и контрагенту (в том случае если контрагент создается при создании заказа). Поле передается в формате:

```
[
  {
    id: "5e0cea8e7ae81e080c8be6d8",
    value: true
  },
  {
    id: "5e0ceaf77ae81e080c8be700",
    value: "Приоритетный клиент"
  }
]
```

В случае если по заказу нужно внести предоплату, необходимо указать параметры **cashRegisterId** и какой-то из параметров **money** или **bank** (в случае смешанной оплаты можно указать сразу оба параметра)

По умолчанию для создания заказа обязательным является только поле **typeOrderId** и одно из полей **counteragentId** или **name**. Но в случае если для указанного типа заказа (определяется по **typeOrderId**) изменена форма заказа, то обязательными могут быть так же и другие поля

Для создания контрагента при создании заказа, по умолчанию обязательным является только поле **name**. Но в случае если для типа контрагента указанного в системе по умолчанию, изменена форма контрагента, то обязательными могут быть так же и другие поля.

Если указать поле **howKnowId**, то для заказа будет прописан источник рекламы. Если при создании заказа создается новый контрагент, а не используется уже существующий, то для созданного контрагента будет прописан тот же источник рекламы.

## Список типов заказов

<mark style="color:blue;">`GET`</mark> `https://api.livesklad.com/type-orders`

Возвращает массив типов заказов

#### Headers

| Name                                            | Type   | Description       |
| ----------------------------------------------- | ------ | ----------------- |
| Authorization<mark style="color:red;">\*</mark> | string | Токен авторизации |

{% tabs %}
{% tab title="200 " %}

```json
{
  data: [
    {
      id: "5d0cb1188ede076111d797fe"
      name: "Платный"
    },
    {
      id: "5d0cb1188ede076111d79837",
      name: "Гарантийный"
    }
  ],
  version: "2.0.0.0",
  remainRequest: 50,
  expireDate: "2022-12-13T09:09:20.861Z"
}
```

{% endtab %}

{% tab title="401 Доступ запрещен" %}

```json
{
  error: {
    statusCode: 401,
    name: "Error",
    message: "Access denied"
  }
}
```

{% endtab %}
{% endtabs %}

## Список пользовательских полей для типа заказа

<mark style="color:blue;">`GET`</mark> `https://api.livesklad.com/type-orders/{id}/fields`

Возвращает массив пользовательских полей для типа заказов

#### Path Parameters

| Name                                 | Type   | Description     |
| ------------------------------------ | ------ | --------------- |
| id<mark style="color:red;">\*</mark> | string | id типа заказов |

#### Headers

| Name                                            | Type   | Description       |
| ----------------------------------------------- | ------ | ----------------- |
| Authorization<mark style="color:red;">\*</mark> | string | Токен авторизации |

{% tabs %}
{% tab title="200 " %}

```json
{
  data: [
    {
      description: "Мое поле",
      type: "order",
      dataType: "string",
      items: null,
      defaultValue: null,
      id: "5d21b65ed25624421c1b310a"
    }
  ],
  version: "2.0.0.0",
  remainRequest: 50,
  expireDate: "2022-12-13T09:09:20.861Z"
}
```

{% endtab %}

{% tab title="401 Доступ запрещен" %}

```json
{
  error: {
    statusCode: 401,
    name: "Error",
    message: "Access denied"
  }
}
```

{% endtab %}
{% endtabs %}

## Информация о заказе

<mark style="color:blue;">`GET`</mark> `https://api.livesklad.com/orders/{id}`

Возвращает информацию о заказе. Для получения информации о заказе у API должен быть настроен доступ к заказам, так же в настройках статусов у API должен быть настроен доступ на просмотр заказов в нужных статусах

#### Path Parameters

| Name                                 | Type   | Description |
| ------------------------------------ | ------ | ----------- |
| id<mark style="color:red;">\*</mark> | string | id заказа   |

#### Headers

| Name                                            | Type   | Description       |
| ----------------------------------------------- | ------ | ----------------- |
| Authorization<mark style="color:red;">\*</mark> | string | Токен авторизации |

{% tabs %}
{% tab title="200 " %}

```json
{
  data: {
    dateCreate: "2022-12-12T14:14:07.820Z",
    number: "A000009",
    num: 9,
    isVisible: true,
    isUrgent: false,
    typeDevice: "Телефон",
    typeDeviceId: "63c015afcce57401c832fc79",
    brand: "Samsung",
    model: "I9300",
    sn: "354578765434567",
    problem: [
      Не работает кнопка громкости"
    ],
    completeSet: [],
    approximatePrice: "500 р",
    appearance: [
      царапины",
      потертости"
    ],
    customFields: [
      {
        id: "5e9958929dd07567102a19b4",
        value: "2024-05-01T10:36:00.869Z"
      },
      {
        id: "652550d56ee1234d73c61be0",
        value: false
      }
    ],
    color: "Синий",
    lastAction: "2022-12-12T14:14:08.577Z",
    dateFinish: "2022-12-12T14:14:08.551Z",
    id: "63c015afcce57401c832fcaa",
    shop: {
      name: "Мастерская",
      color: "#ff6666",
      phones: [],
      isVisible: true,
      id: "63c015adcce57401c832faee"
    },
    typeOrder: {
      name: "Платный",
      id: "63c015adcce57401c832fbf4"
    },
    cash: {
      order: 500,
      orderReturn: 0,
      invoice: 0,
      elements: [
        {
          id: "65f56f78069ccb6dc9a0a3ee",
          date": "2022-12-12T14:14:07.820Z",
          money": 500,
          type": "order",
          isBankTransfer": false
        }
      ]
    },
    status: {
      name: "Готов",
      color: "#00B86A",
      type: "finish",
      isPayRequired: false,
      comment: "none",
      id: "63c015adcce57401c832fbf3",
      isChange: true,
      isChecked: true
    },
    counteragent: {
      name: "Смирнов Иван Андреевич",
      phones: [
        +7 (944) 444-44-44"
      ],
      isBuyer: true,
      isVendor: false,
      isVisible: true,
      isSendSms: true,
      isSendEmail: false, 
      isSendTelegram: false,
      rating: 0,
      id: "63c015afcce57401c832fc9f",
      typeCounteragent: {
        name: "Частное лицо",
        id: "63c015adcce57401c832fbf5"
      }
    },
    manager: {
      id: "63c015adcce57401c832fab4",
      name: "Фамилия Имя"
    },
    createManager: {
      id: "63c015adcce57401c832fab4",
      name: "Фамилия Имя"
    },
    positions: [
      {
        measure: {
          id: "63c015adcce57401c832fab5",
          value: "шт.",
          isFloat: false
        },
        positionId: "63c015b0cce57401c832fd1c",
        modifyId: "63c015b0cce57401c832fcf3",
        nomenclatureId: "63c015b0cce57401c832fcf2",
        code: 12,
        name: "Диагностика",
        isWork: true,
        price: 500,
        soldPrice: 500,
        date: "2022-12-12T14:14:08.484Z",
        minPrice: 500,
        count: 1,
        purchasePriceSumm: 0,
        customer: {
          id: "63c015adcce57401c832fab4",
          name: "Фамилия Имя"
        }
      }
    ]
  },
  version: "2.0.0.0",
  remainRequest: 50,
  expireDate: "2022-12-13T09:09:20.861Z"
}
```

{% endtab %}

{% tab title="401 Доступ запрещен" %}

```json
{
  error: {
    statusCode: 401,
    name: "Error",
    message: "Access denied"
  }
}
```

{% endtab %}
{% endtabs %}

## Изменить заказ

<mark style="color:purple;">`PATCH`</mark> `https://api.livesklad.com/orders/{id}`

Для изменения заказа в настройках API должен быть установлен доступ к заказам. Так же в настройках статусов у API должен быть настроен доступ на редактирование заказов в нужных статусах

#### Path Parameters

| Name                                 | Type   | Description |
| ------------------------------------ | ------ | ----------- |
| id<mark style="color:red;">\*</mark> | string | id заказ    |

#### Headers

| Name                                            | Type   | Description       |
| ----------------------------------------------- | ------ | ----------------- |
| Authorization<mark style="color:red;">\*</mark> | string | Токен авторизации |

#### Request Body

| Name             | Type    | Description                                             |
| ---------------- | ------- | ------------------------------------------------------- |
| howKnowId        | string  | id источника рекламы (изменяет источник рекламы заказа) |
| statusId         | string  | id статуса                                              |
| typeOrderId      | string  | id типа заказа                                          |
| isUrgent         | boolean | Срочный заказ                                           |
| managerId        | string  | id менеджера которому необходимо назначить заказ        |
| masterId         | string  | id мастера которому необходимо назначить заказ          |
| deadline         | number  | Крайний срок                                            |
| typeDevice       | string  | Тип устройства                                          |
| brand            | string  | Марка                                                   |
| model            | string  | Модель                                                  |
| sn               | string  | Серийный номер                                          |
| problem          | array   | Список неисправностей, передается в виде массива строк  |
| completeSet      | array   | Комплектация, передается в виде массива строк           |
| approximatePrice | string  | Предварительная стоимость                               |
| orderNode        | string  | Примечание к заказу                                     |
| appearance       | array   | Внешний вид, передается в виде массива строк            |
| cashRegisterId   | string  | id кассы в которую будет принята оплата                 |
| money            | number  | Сумма наличными                                         |
| bank             | number  | Сумма безналичными                                      |
| nodePay          | string  | Примечание к оплате                                     |
| color            | string  | Цвет                                                    |
| recommendation   | string  | Вердикт / рекомендации                                  |
| comment          | string  | Комментарий                                             |
| customFields     | array   | Массив пользовательских полей                           |
| counteragentId   | string  | id контрагента                                          |

{% tabs %}
{% tab title="200 " %}

```json
{
  data: {
    success: true
  },
  version: "2.0.0.0",
  remainRequest: 50,
  expireDate: "2022-12-13T09:09:20.861Z"
}
```

{% endtab %}

{% tab title="401 Доступ запрещен" %}

```json
{
  error: {
    statusCode: 401,
    name: "Error",
    message: "Access denied"
  }
}
```

{% endtab %}
{% endtabs %}

В customFields передаются пользовательские поля по заказу и контрагенту (в том случае если контрагент создается при создании заказа). Поле передается в формате:

```
[
  {
    id: "5e0cea8e7ae81e080c8be6d8",
    value: true
  },
  {
    id: "5e0ceaf77ae81e080c8be700",
    value: "Приоритетный клиент"
  }
]
```

Произвести оплату по заказу (параметры **cashRegisterId**, **money**, **bank**, **nodePay**) возможно только в том случае если у заказа меняется статус (указан параметр **statusId**) и у данного статуса в настройках задан параметр "Затребовать оплату при перехода заказа в этот статус".

## Удалить заказ

<mark style="color:red;">`DELETE`</mark> `https://api.livesklad.com/orders/{id}`

Для удаления заказа в настройках API должен стоять соответствующий доступ

#### Path Parameters

| Name | Type   | Description |
| ---- | ------ | ----------- |
| id   | string | id заказа   |

#### Headers

| Name          | Type   | Description       |
| ------------- | ------ | ----------------- |
| Authorization | string | Токен авторизации |

{% tabs %}
{% tab title="200 " %}

```json
{
  data: {
    count: 1
  },
  version: "2.0.0.0",
  remainRequest: 50,
  expireDate: "2022-12-13T09:09:20.861Z"
}
```

{% endtab %}

{% tab title="401 Доступ запрещен" %}

```
{
  error: {
    statusCode: 401,
    name: "Error",
    message: "Access denied"
  }
}
```

{% endtab %}
{% endtabs %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://developer.livesklad.com/api/order.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
