> For the complete documentation index, see [llms.txt](https://docs.inskill.ru/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.inskill.ru/nastroiki-proekta/api/students.md).

# Students

Методы для управления участниками проекта.

## Index

<mark style="color:blue;">`GET`</mark> `https://{subdomain}.inskill.ru/api/v3/students`

Поиск пользователей

#### Path Parameters

| Name                                        | Type   | Description                        |
| ------------------------------------------- | ------ | ---------------------------------- |
| subdomain<mark style="color:red;">\*</mark> | String | Уникальный поддомен вашего проекта |

#### Query Parameters

| Name                                     | Type    | Description                                                                            |
| ---------------------------------------- | ------- | -------------------------------------------------------------------------------------- |
| search<mark style="color:red;">\*</mark> | String  | Строка для поиска пользователей. Поиск осуществляется по email, ФИО и номеру телефона. |
| withProducts                             | Boolean | Возвращать информацию о продуктах, или нет?                                            |

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

```javascript
{
  // Основные данные ученика
  "data": {
    "id": 5,
    "name": "Ольга",
    "email": "user123@example.com",
    "phone": "+79123456789",
    "avatar": "https://path.to/image.jpg",
    "isActive": true // Есть ли у пользователя активный доступ к курсам? 
  },
  // Данные о продуктах ученика
  "products": [
    {
      "id": 133,
      "name": "Женщины. Дом. Новички.",
      "price": 2900.00,
      "currency": "RUB",
      "pivot": {
        "is_form_filled": 0, // Заполнена ли анкета
        "payment_id": null, // ID платежа, по которому был выдан продукт
        "is_delivered": false, // Продукт уже активирован, или нет?
        "created_at": "2022-02-28T16:11:57.000000Z" // Дата добавления продукта
      }
    }
  ]
}
```

{% endtab %}
{% endtabs %}

## Show

<mark style="color:blue;">`GET`</mark> `https://{subdomain}.inskill.ru/api/v3/students/{student}`

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

#### Path Parameters

| Name                                        | Type   | Description                                                                                                               |
| ------------------------------------------- | ------ | ------------------------------------------------------------------------------------------------------------------------- |
| student<mark style="color:red;">\*</mark>   | String | Уникальный ID ученика. ID ученика может быть получен в личном кабинете администратора, или при создании ученика через API |
| subdomain<mark style="color:red;">\*</mark> | String | Уникальный поддомен вашего проекта                                                                                        |

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

```javascript
{
  // Основные данные ученика
  "data": {
    "id": 5,
    "name": "Ольга",
    "email": "user123@example.com",
    "phone": "+79123456789",
    "avatar": "https://path.to/image.jpg",
    "isActive": true // Есть ли у пользователя активный доступ к курсам? 
  },
  // Данные о продуктах ученика
  "products": [
    {
      "id": 133,
      "name": "Женщины. Дом. Новички.",
      "price": 2900.00,
      "currency": "RUB",
      "pivot": {
        "is_form_filled": 0, // Заполнена ли анкета
        "payment_id": null, // ID платежа, по которому был выдан продукт
        "is_delivered": false, // Продукт уже активирован, или нет?
        "created_at": "2022-02-28T16:11:57.000000Z" // Дата добавления продукта
      }
    }
  ]
}
```

{% endtab %}
{% endtabs %}

## Create

<mark style="color:green;">`POST`</mark> `https://{subdomain}.inskill.ru/api/v3/students`

Добавление нового ученика в проект.

#### Path Parameters

| Name      | Type   | Description                        |
| --------- | ------ | ---------------------------------- |
| subdomain | string | Уникальный поддомен вашего проекта |

#### Request Body

| Name                   | Type    | Description                                                                                                                                                   |
| ---------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| notify\_about\_product | boolean | Если true, то при добавлении продукта, клиенту будет отправлено письмо о новом продукте (содержимое письма задается в настройках проекта).                    |
| email                  | string  | Email пользователя                                                                                                                                            |
| name                   | string  | ФИО пользователя                                                                                                                                              |
| phone                  | string  | Номер телефона в международном формате E.164. Пример: +79123456789                                                                                            |
| product                | integer | ID продукта, который необходимо назначить пользователю после добавления. ID продукта можно взять на странице "Моя страница" в личном кабинете администратора. |
| force                  | boolean | Если клиент уже есть в проекте, то он будет обновлен.                                                                                                         |

{% tabs %}
{% tab title="200 Возвращает данные созданного пользователя" %}

```javascript
{
  "data": {
    "id": 2131,
    "name": "Prof. Golden Wintheiser",
    "email": "jane43@hotmail.com",
    "phone": "+18657085469952",
    "avatar": ""
  },
  "status": "ok",
  "message": "Пользователь успешно добавлен"
}
```

{% endtab %}

{% tab title="422 Ошибка валидации: пользователь уже добавлен" %}

```javascript
{
  "data": {
    "id": 2131,
    "name": "Prof. Golden Wintheiser",
    "email": "jane43@hotmail.com",
    "phone": "+18657085469952",
    "avatar": ""
  },
  "message": "The given data was invalid.",
  "errors": {
    "email": [ "Пользователь с таким email уже присутствует в проекте. Воспользуйтесь методом Update для обновления пользователя." ]
  }
}
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}

#### Для ученика будет создан случайный пароль и отправлено приветственное письмо.

Текст приветственного письма можно задать в настройках проекта.
{% endhint %}

## Update

<mark style="color:purple;">`PATCH`</mark> `https://{subdomain}.inskill.ru/api/v3/students/{student}`

Обновление имеющегося ученика

#### Path Parameters

| Name                                        | Type    | Description                                                                                                               |
| ------------------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------- |
| student<mark style="color:red;">\*</mark>   | integer | Уникальный ID ученика. ID ученика может быть получен в личном кабинете администратора, или при создании ученика через API |
| subdomain<mark style="color:red;">\*</mark> | string  | Уникальный поддомен вашего проекта                                                                                        |

#### Request Body

| Name    | Type    | Description                                                                                                                                  |
| ------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------- |
| phone   | string  | Телефон ученика в международном формате E.164. Пример: +79123456789                                                                          |
| name    | string  | ФИО ученика                                                                                                                                  |
| product | integer | ID продукта, который необходимо назначить пользователю. ID продукта можно взять на странице "Моя страница" в личном кабинете администратора. |

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

```javascript
{
  "data": {
    "id": 1324,
    "name": "Prof. Golden Hugo",
    "email": "hu2n3@example.com",
    "phone": "+18126388729",
    "avatar": ""
  },
  "status": "ok",
  "message": "Пользователь успешно обновлен"
}

```

{% endtab %}
{% endtabs %}
