# orderBy для bot.findLeads()

### Базовая структура:

Параметр **orderBy** используется для сортировки результатов поиска лидов по заданным полям. Он представляет собой массив условий, где каждое условие задаёт поле для сортировки и порядок сортировки (по возрастанию или по убыванию).

Каждое условие внутри массива **orderBy** имеет следующую структуру:

```JavaScript
let orderBy = [
  ['поле', 'порядок']
]

bot.findLeads([], [], orderBy)
```

- **Поле** — название поля, по которому будет производиться сортировка (например, created\_at, updated\_at, id);
- **Порядок** — определяет, как будет сортироваться поле. Возможны два значения: 
    - **ASC** — по возрастанию;
    - **DESC** — по убыванию.

Доступные категории полей:

- [Поля лидов;](https://docs.metabot24.ru/link/744#bkmrk-1.-%D0%9F%D0%BE%D0%BB%D1%8F-%D0%BB%D0%B8%D0%B4%D0%BE%D0%B2)
- [Статусы лидов (leadstatuses).](https://docs.metabot24.ru/link/744#bkmrk-3.-%D0%A1%D1%82%D0%B0%D1%82%D1%83%D1%81%D1%8B-%D0%BB%D0%B8%D0%B4%D0%BE%D0%B2-%28le)

### Примеры использования

#### Сортировка по одному полю

```JavaScript
let orderBy = [
  ['created_at', 'ASC']
]

let leads = bot.findLeads([], [], orderBy)
```

Этот пример сортирует лидов по дате создания в порядке возрастания (от самого раннего к самому позднему).

#### Сортировка по нескольким полям

```JavaScript
let orderBy = [
  ['updated_at', 'DESC'],
  ['id', 'ASC']
]

let leads = bot.findLeads([], [], orderBy)
```

Этот пример сначала сортирует лидов по дате обновления в порядке убывания (от самого последнего к самому раннему), а затем — по **id** в порядке возрастания.

### Пример с where и orderBy

```JavaScript
let where = [
  ['name', 'like', '%Иван%'],
  ['channels.code', 'telegram']
]

let orderBy = [
  ['created_at', 'DESC']
]

let leads = bot.findLeads([], where, orderBy)
```