# GetCourse API: Выгрузить учеников группы

Сценарий из mcp-everything. Актуально на 2026-10-24.

Список учеников потока — для рассылки, проверки доступа или переноса в другую систему.

1. Найди ID группы: GET /account/groups с key.
2. Запусти экспорт: GET /account/groups/{id}/users с key, при необходимости added_at[from] и added_at[to] — дата добавления в группу.
3. Забери результат: GET /account/exports/{export_id} — как и для заказов, с паузой и с учётом общего лимита Export API.
4. Для частых событий (новый ученик, оплата) экспорт не подходит: настрой в GetCourse процесс с операцией «Вызвать URL», и школа сама будет отправлять события в твою систему.

```bash
KEY='<секретный ключ>'
curl -s -G "https://myschool.getcourse.ru/pl/api/account/groups" -d key=$KEY

EXPORT=$(curl -s -G "https://myschool.getcourse.ru/pl/api/account/groups/123456/users" \
  -d key=$KEY -d 'added_at[from]=2026-09-01' | jq -r .info.export_id)
sleep 60
curl -s -G "https://myschool.getcourse.ru/pl/api/account/exports/$EXPORT" -d key=$KEY
```

## Базовые URL

- Боевой: `https://{account}.getcourse.ru/pl/api`

## Авторизация

Тип: API-ключ

Отдельной авторизации нет: секретный ключ аккаунта передаётся в каждом запросе — в импорте POST-параметром `key`, в экспорте параметром `key` в строке запроса. Ключ создаётся в аккаунте («Профиль» → «Настройки аккаунта» → «АПИ»); для импорта нужен ключ с правом записи.

## Методы сценария

### GET /account/groups — Список групп

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `key` | query | string | да | Секретный ключ |

### GET /account/groups/{id}/users — Экспорт пользователей группы

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `id` | path | integer | да | ID группы |
| `key` | query | string | да | Секретный ключ |
| `added_at[from]` | query | string | нет | Дата добавления в группу с |
| `added_at[to]` | query | string | нет | Дата добавления в группу по |
| `status` | query | string | нет | Статус пользователя |

### GET /account/exports/{export_id} — Результат экспорта

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `export_id` | path | integer | да | ID экспорта из ответа метода экспорта |
| `key` | query | string | да | Секретный ключ |

## Нюансы

- Импорт: POST с полями `action`, `key`, `params`; в base64 кодируется только `params`. Без POST/form-data будет ошибка «Пустой параметр action».
- Экспорт двухшаговый: запрос с фильтром → `export_id` → получение данных; экспорты выполняются последовательно, не параллельте их.
- Справочники доп. полей пользователей и заказов — `/account/fields` с `action=get`.
- Даты в импорте — `yyyy-mm-dd HH:MM:II`.
- Для оперативной передачи событий документация рекомендует процессы с операцией «Вызвать URL» вместо частого экспорта.

## Другие сценарии

- [Добавить ученика в группу после оплаты](https://mcp-everything.ru/integrations/getcourse/scenarios/dobavit-uchenika-v-gruppu-posle-oplaty.md)
- [Создать заказ и получить ссылку на оплату](https://mcp-everything.ru/integrations/getcourse/scenarios/sozdat-zakaz-i-poluchit-ssylku-na-oplatu.md)
- [Выгрузить заказы за период в аналитику](https://mcp-everything.ru/integrations/getcourse/scenarios/vygruzit-zakazy-za-period-v-analitiku.md)

---

Если этого недостаточно — официальная документация: https://getcourse.ru/help/api
Вся интеграция одним документом: https://mcp-everything.ru/integrations/getcourse.md
