# Сим-карты

# Список сим-карт

Для получения списка сим-карт используется метод **sim/list**:

```javascript
POST https://api.novaconnect.kz/api/sim/list

{
  "page": <int>,
  "size": <int>,
  "filter": {
    "profile": <string>,
    "msu_block": <bool>,
    "blocked": <bool>,
    "query": <string>
  },
  "sort": <object>
}
```
#### Параметры
| Параметр | Тип | Описание | Обязательность |
|-------|----------|---------|---------|
| **page**     | int     | Страница (нумерация с 0)    |Нет
| **size**     | int     | Размер страницы     |Нет
| **filter**     | object     | Объект фильтра    |Нет
| **sort**     | object    | Объект сортировки    |Нет

##### Фильтр
| Параметр | Тип | Описание | Обязательность |
|-------|----------|---------|---------|
| **profile**     | string     | Код профиля сим-карты    |Нет
| **msu_block**     | bool     | Блокировка по MSU     |Нет
| **blocked**     | bool     | Блокировка    |Нет
| **query**     | string     | Поисковый запрос    |Нет

- Фильтр **query** принимает на вход поисковый запрос, подробнее см. [Фильтрация информации -> Универсальное поле поиска](https://kb.novaconnect.kz/books/rukovodstvo-polzovatelia/page/filtraciia-informacii#bkmrk-%D0%9F%D0%BE%D0%BB%D1%8F-%D0%B2%D0%B2%D0%BE%D0%B4%D0%B0-iccid-%D0%B8-%D0%BD);
- Фильтр **profile** принимает на вход код профиля: **TD** для сим профиля TD, **TC** для сим профиля TC;
- Фильтр **blocked** работает по следующей логике:
  - при передаче значения **false** будут получены все записи, у которых значение **block = n**, то есть разблокированные;
  - при передаче значения **true** будут получены все записи, у которых значение **block = u, p, m, g, f**, то есть заблокированные по любой причине;

##### Сортировка
В объект сортировки передается код поля, по которому нужно провести сортировку, в качестве ключа. В качестве значение - направление (ASC - по возрастанию, DESC - по убыванию).
```
{
    "id": "DESC" //Сортировка по убыванию идентификаторов сим
}
```


#### Ограничения и доступы
Метод доступен пользователю с любой ролью

#### Успешный ответ
```javascript
{
  "code": 200,
  "message": <string>,
  "count": <int>,
  "all_count": <int>,
  "items": [
        //Объекты типа Сим-карта
  ]
}
```

| Параметр | Тип | Описание |
|-------|----------|---------|
| **code**     | int     | Код ответа, для успеха - 200
| **message**    | string      | Сообщение ответа
| **count**    | int      | Количество элементов в массиве items
| **all_count**    | int      | Количество элементов в БД
| **items**    | array      | Массив элементов типа [Сим-карта](https://kb.novaconnect.kz/books/rukovodstvo-razrabotcika/page/sim-karta)

# Блокировка

Для блокировки сим-карт используется метод **sim/block**:

```javascript
POST https://api.novaconnect.kz/api/sim/block

{
  "items": <array>
  "callbackUrl": <string>
}
```
##### Параметры
| Параметр | Тип | Описание | Обязательность |
|-------|----------|---------|---------|
| **items**     | array     | Массив идентификаторов сим-карт    |Да
| **callbackUrl**     | int     | Размер страницы     |Нет

#### Ограничения и доступы
Метод доступен пользователю с ролью **Администратор**.

#### Успешный ответ
В результате возвращается информация о постановке в очередь.

```javascript
{
  "code": 200,
  "message": <string>,
  "result": {
    "item": {
        "queue_id"
    }
  }
}
```

| Параметр | Тип | Описание |
|-------|----------|---------|
| **code**     | int     | Код ответа, для успеха - 200
| **message**    | string      | Сообщение ответа
| **result.item.queue_id**    | string      | Идентификатор задания

После выполнения задания на URL, указанный в параметре **callbackUrl** выполняется POST-запрос с объектом сим-карты. Подробнее - [Операции с сим-картами](https://kb.novaconnect.kz/books/rukovodstvo-razrabotcika/page/operacii-s-sim-kartami)

# Разлокировка

Для разблокировки сим-карт используется метод **sim/unblock**:

```javascript
POST https://api.novaconnect.kz/api/sim/unblock

{
  "items": <array>
  "callbackUrl": <string>
}
```
##### Параметры
| Параметр | Тип | Описание | Обязательность |
|-------|----------|---------|---------|
| **items**     | array     | Массив идентификаторов сим-карт    |Да
| **callbackUrl**     | int     | Размер страницы     |Нет

#### Ограничения и доступы
Метод доступен пользователю с ролью **Администратор**.

#### Успешный ответ
В результате возвращается информация о постановке в очередь.

```javascript
{
  "code": 200,
  "message": <string>,
  "result": {
    "item": {
        "queue_id"
    }
  }
}
```

| Параметр | Тип | Описание |
|-------|----------|---------|
| **code**     | int     | Код ответа, для успеха - 200
| **message**    | string      | Сообщение ответа
| **result.item.queue_id**    | string      | Идентификатор задания

После выполнения задания на URL, указанный в параметре **callbackUrl** выполняется POST-запрос с объектом сим-карты. Подробнее - [Операции с сим-картами](https://kb.novaconnect.kz/books/rukovodstvo-razrabotcika/page/operacii-s-sim-kartami)

# Перезагрузка

> **Внимание!** Метод перенаправляется на [sim/disconnect](https://kb.novaconnect.kz/books/rukovodstvo-razrabotcika/page/otkliucenie)

Для "мягкой перезагрузки" (отправка Package of Disconnect для разрыва активной сессии передачи данных) сим-карт используется метод **sim/reconnect**:

```javascript
POST https://api.novaconnect.kz/api/sim/reconnect

{
  "items": <array>
  "callbackUrl": <string>
}
```
##### Параметры
| Параметр | Тип | Описание | Обязательность |
|-------|----------|---------|---------|
| **items**     | array     | Массив идентификаторов сим-карт    |Да
| **callbackUrl**     | int     | Размер страницы     |Нет

#### Ограничения и доступы
Метод доступен пользователю с ролью **Администратор**.

#### Успешный ответ
В результате возвращается информация о постановке в очередь.

```javascript
{
  "code": 200,
  "message": <string>,
  "result": {
    "item": {
        "queue_id"
    }
  }
}
```

| Параметр | Тип | Описание |
|-------|----------|---------|
| **code**     | int     | Код ответа, для успеха - 200
| **message**    | string      | Сообщение ответа
| **result.item.queue_id**    | string      | Идентификатор задания

После выполнения задания на URL, указанный в параметре **callbackUrl** выполняется POST-запрос с объектом сим-карты. Подробнее - [Операции с сим-картами](https://kb.novaconnect.kz/books/rukovodstvo-razrabotcika/page/operacii-s-sim-kartami)

# Отключение

> **Внимание!** На этот метод перенаправляются запросы [sim/reconnect](https://kb.novaconnect.kz/books/rukovodstvo-polzovatelia/page/perezagruzka). Это сделано из-за некорректной работы методов отправки PoD у операторов.
> 
Для отключения сим-карт от сети (Cancel Location: разрыв подключения к сети) используется метод **sim/disconnect**:

```javascript
POST https://api.novaconnect.kz/api/sim/disconnect

{
  "items": <array>
  "callbackUrl": <string>
}
```
##### Параметры
| Параметр | Тип | Описание | Обязательность |
|-------|----------|---------|---------|
| **items**     | array     | Массив идентификаторов сим-карт    |Да
| **callbackUrl**     | int     | Размер страницы     |Нет

#### Ограничения и доступы
Метод доступен пользователю с ролью **Администратор**.

#### Успешный ответ
В результате возвращается информация о постановке в очередь.

```javascript
{
  "code": 200,
  "message": <string>,
  "result": {
    "item": {
        "queue_id"
    }
  }
}
```

| Параметр | Тип | Описание |
|-------|----------|---------|
| **code**     | int     | Код ответа, для успеха - 200
| **message**    | string      | Сообщение ответа
| **result.item.queue_id**    | string      | Идентификатор задания

После выполнения задания на URL, указанный в параметре **callbackUrl** выполняется POST-запрос с объектом сим-карты. Подробнее - Операции с сим-картами

# Пинг

> **Внимание!** Этот метод корректно работает только для сим-карт профиля **TD**

Для пинга сим-карты (отправка СМС с текстом PING на сим-карту) используется метод **sim/ping**:

```javascript
POST https://api.novaconnect.kz/api/sim/ping

{
  "items": <array>
  "callbackUrl": <string>
}
```
##### Параметры
| Параметр | Тип | Описание | Обязательность |
|-------|----------|---------|---------|
| **items**     | array     | Массив идентификаторов сим-карт    |Да
| **callbackUrl**     | int     | Размер страницы     |Нет

#### Ограничения и доступы
Метод доступен пользователю с ролью **Администратор**.

#### Успешный ответ
В результате возвращается информация о постановке в очередь.

```javascript
{
  "code": 200,
  "message": <string>,
  "result": {
    "item": {
        "queue_id"
    }
  }
}
```

| Параметр | Тип | Описание |
|-------|----------|---------|
| **code**     | int     | Код ответа, для успеха - 200
| **message**    | string      | Сообщение ответа
| **result.item.queue_id**    | string      | Идентификатор задания

После выполнения задания на URL, указанный в параметре **callbackUrl** выполняется POST-запрос с объектом сим-карты. Подробнее - Операции с сим-картами

# СМС

> **Внимание!** Этот метод работает только для сим-карт профиля **TD**

Для отправки СМС на сим-карты используется метод **sim/sms**:

```javascript
POST https://api.novaconnect.kz/api/sim/sms

{
  "items": <array>
  "callbackUrl": <string>,
  "params": {
    "text": <string>
  }
}
```
##### Параметры
| Параметр | Тип | Описание | Обязательность |
|-------|----------|---------|---------|
| **items**     | array     | Массив идентификаторов сим-карт    |Да
| **callbackUrl**     | int     | Размер страницы     |Нет
| **params.text**     | string (70)     | Текст СМС (не больше 70 символов)     |Да

#### Ограничения и доступы
Метод доступен пользователю с ролью **Администратор**.

#### Успешный ответ
В результате возвращается информация о постановке в очередь.

```javascript
{
  "code": 200,
  "message": <string>,
  "result": {
    "item": {
        "queue_id"
    }
  }
}
```

| Параметр | Тип | Описание |
|-------|----------|---------|
| **code**     | int     | Код ответа, для успеха - 200
| **message**    | string      | Сообщение ответа
| **result.item.queue_id**    | string      | Идентификатор задания

После выполнения задания на URL, указанный в параметре **callbackUrl** выполняется POST-запрос с объектом сим-карты. Подробнее - Операции с сим-картами

# Установка лимита

> **Внимание!** Этот метод работает только для сим-карт профиля **TС**

Для установки лимита на сим-карты используется метод **sim/limit**:

```javascript
POST https://api.novaconnect.kz/api/sim/limit

{
  "items": <array>
  "callbackUrl": <string>,
  "params": {
    "value": <int>,
    "type": <string>
  }
}
```
##### Параметры
| Параметр | Тип | Описание | Обязательность |
|-------|----------|---------|---------|
| **items**     | array     | Массив идентификаторов сим-карт    |Да
| **callbackUrl**     | int     | Размер страницы     |Нет
| **params.value**     | int     | Размер лимита в мегабайтах     |Да
| **params.type**     | string     | Тип лимита (off - без лимита, month1 - календарный месяц)     |Да

#### Ограничения и доступы
Метод доступен пользователю с ролью **Администратор**.

#### Успешный ответ
В результате возвращается информация о постановке в очередь.

```javascript
{
  "code": 200,
  "message": <string>,
  "result": {
    "item": {
        "queue_id"
    }
  }
}
```

| Параметр | Тип | Описание |
|-------|----------|---------|
| **code**     | int     | Код ответа, для успеха - 200
| **message**    | string      | Сообщение ответа
| **result.item.queue_id**    | string      | Идентификатор задания

После выполнения задания на URL, указанный в параметре **callbackUrl** выполняется POST-запрос с объектом сим-карты. Подробнее - Операции с сим-картами

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

> **Внимание!** Этот метод работает только для сим-карт профиля **TD**

Для изменения настроек тарифного плана сим-карт используется метод **sim/tariff**:

```javascript
POST https://api.novaconnect.kz/api/sim/tariff

{
  "items": <array>
  "callbackUrl": <string>,
  "params": {
    "value": <int>,
    "auto_package": <bool>,
    "all_world": <bool>
  }
}
```
##### Параметры
| Параметр | Тип | Описание | Обязательность |
|-------|----------|---------|---------|
| **items**     | array     | Массив идентификаторов сим-карт    |Да
| **callbackUrl**     | int     | Размер страницы     |Нет
| **params.value**     | int     | Размер пакета в **килобайтах**     |Да
| **params.auto_package**     | bool     | Флаг автоматического переподключения пакета по истечении     |Да
| **params.all_world**     | bool     | Флаг подключения роуминга во всем мире (тариф TD_Mega)     |Нет

##### Размеры пакета
Минимальный пакет - 15360 килобайт (15 мб), максимальный - 102400 килобайт (100 мб). Шаг - 5120 килобайт (5 мб)

#### Ограничения и доступы
Метод доступен пользователю с ролью **Администратор**.

#### Успешный ответ
В результате возвращается информация о постановке в очередь.

```javascript
{
  "code": 200,
  "message": <string>,
  "result": {
    "item": {
        "queue_id"
    }
  }
}
```

| Параметр | Тип | Описание |
|-------|----------|---------|
| **code**     | int     | Код ответа, для успеха - 200
| **message**    | string      | Сообщение ответа
| **result.item.queue_id**    | string      | Идентификатор задания

После выполнения задания на URL, указанный в параметре **callbackUrl** выполняется POST-запрос с объектом сим-карты. Подробнее - Операции с сим-картами

# Переподключение пакета

> **Внимание!** Этот метод доступен только для сим-карт профиля **TD**

Для переподключения пакета трафика используется метод **sim/repackage**:

```javascript
POST https://api.novaconnect.kz/api/sim/repackage

{
  "items": <array>
  "callbackUrl": <string>
}
```
##### Параметры
| Параметр | Тип | Описание | Обязательность |
|-------|----------|---------|---------|
| **items**     | array     | Массив идентификаторов сим-карт    |Да
| **callbackUrl**     | int     | Размер страницы     |Нет

#### Ограничения и доступы
Метод доступен пользователю с ролью **Администратор**.

#### Успешный ответ
В результате возвращается информация о постановке в очередь.

```javascript
{
  "code": 200,
  "message": <string>,
  "result": {
    "item": {
        "queue_id"
    }
  }
}
```

| Параметр | Тип | Описание |
|-------|----------|---------|
| **code**     | int     | Код ответа, для успеха - 200
| **message**    | string      | Сообщение ответа
| **result.item.queue_id**    | string      | Идентификатор задания

После выполнения задания на URL, указанный в параметре **callbackUrl** выполняется POST-запрос с объектом сим-карты. Подробнее - Операции с сим-картами

# Переименование

Для переименования сим-карты используется метод **sim/edit**:

```javascript
POST https://api.novaconnect.kz/api/sim/edit

{
  "id": <int>
  "name": <string>
}
```
##### Параметры
| Параметр | Тип | Описание | Обязательность |
|-------|----------|---------|---------|
| **id**     | int     | Идентификатор сим-карты    |Да
| **name**     | string     | Название сим-карты     |Да

#### Ограничения и доступы
Метод доступен пользователю с ролью **Администратор**.

#### Успешный ответ
В результате возвращается информация о постановке в очередь.

```javascript
{
  "code": 200,
  "message": <string>,
  "result": {
    "item": {
        "id": <int>,
        "name": <string>
    }
  }
}
```

| Параметр | Тип | Описание |
|-------|----------|---------|
| **code**     | int     | Код ответа, для успеха - 200
| **message**    | string      | Сообщение ответа
| **result.item.id**    | int      | ID сим-карты
| **result.item.name**    | string      | Имя сим-карты

# Группы

Для изменения групп используется запрос **sim/group**:

```javascript
POST https://api.novaconnect.kz/api/sim/group

{
  "items": <array of int>
  "callbackUrl": <string>,
  "group: <array>,
  "new_group": <array>

}
```

##### Параметры
| Параметр | Тип | Описание | Обязательность |
|-------|----------|---------|---------|
| **items**     | array     | Массив идентификаторов сим-карт    |Да
| **callbackUrl**     | int     | Размер страницы     |Нет
| **group**     | array     | Массив идентификаторов Групп     |Нет
| **new_group**     | array     | Массив названий Групп     |Нет



#### Дополнительная информация

В параметр **group** передаются идентификаторы групп, которые уже имеются в базе данных. Параметр **new_group** позволяет создать новые группы "на лету" и привязать туда сим-карты из параметра **items**. Если в **new_group** будет передано названия уже существующих групп, то привязка будет осуществлена, в том числе, в них.

#### Ограничения и доступы

Метод доступен пользователю с ролью **Администратор**

#### Успешный ответ
В результате возвращается информация о постановке в очередь.

```javascript
{
  "code": 200,
  "message": <string>,
  "result": {
    "item": {
        "queue_id"
    }
  }
}
```

| Параметр | Тип | Описание |
|-------|----------|---------|
| **code**     | int     | Код ответа, для успеха - 200
| **message**    | string      | Сообщение ответа
| **result.item.queue_id**    | string      | Идентификатор задания

После выполнения задания на URL, указанный в параметре **callbackUrl** выполняется POST-запрос с объектом сим-карты. Подробнее - [Операции с сим-картами](https://kb.novaconnect.kz/books/rukovodstvo-razrabotcika/page/operacii-s-sim-kartami)