# GetCourse API: POST /users — Импорт пользователя

Тело — `form-data`: `action`, `key` и `params` (JSON, закодированный в base64).

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `action` | body | string | да | add — создать (или обновить при refresh_if_exists=1); update — задать полный список групп по user.id |
| `key` | body | string | да | Секретный ключ |
| `params` | body | string | да | JSON в base64 |
| `params.user.email` | body | string | нет | Email (нужен email или телефон) |
| `params.user.phone` | body | string | нет | Телефон |
| `params.user.first_name` | body | string | нет | Имя |
| `params.user.last_name` | body | string | нет | Фамилия |
| `params.user.city` | body | string | нет | Город |
| `params.user.country` | body | string | нет | Страна |
| `params.user.group_name` | body | array | нет | Группы (можно с датой добавления) |
| `params.user.addfields` | body | object | нет | Дополнительные поля |
| `params.system.refresh_if_exists` | body | integer | нет | 1 — обновить существующего пользователя |
| `params.system.partner_email` | body | string | нет | Email партнёра |
| `params.session` | body | object | нет | UTM-метки: utm_source, utm_medium, utm_content, utm_campaign, utm_group |

## Базовые URL

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

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

Тип: API-ключ

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

## Нюансы

- Импорт: 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://getcourse.ru/help/api
Вся интеграция одним документом: https://mcp-everything.ru/integrations/getcourse.md
