# GetCourse API: POST /deals — Импорт заказа

Создаёт заказ или обновляет существующий по `deal_number`; смена статуса — `action=add` с `user.email`, `deal.deal_number` и `deal.deal_status`. Минимум для создания: код или название предложения, сумма и email (либо `offer_id` и email).

В ответе: `success`, `action`, `result` (`deal_id`, `deal_number`, `user_id`, `user_status`, `payment_link`, `error_message`, `error`).

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `action` | body | string | да | add |
| `key` | body | string | да | Секретный ключ |
| `params` | body | string | да | JSON в base64 |
| `params.user.email` | body | string | да | Email покупателя |
| `params.deal.deal_number` | body | string | нет | Номер заказа (для обновления) |
| `params.deal.offer_code` | body | string | нет | Код предложения |
| `params.deal.offer_id` | body | string | нет | ID предложения |
| `params.deal.product_title` | body | string | нет | Название предложения |
| `params.deal.deal_cost` | body | string | нет | Сумма заказа |
| `params.deal.deal_status` | body | string | нет | Статус: new, payed, cancelled и др. |
| `params.deal.deal_is_paid` | body | integer | нет | Признак оплаты |
| `params.deal.payment_type` | body | string | нет | Способ оплаты |
| `params.deal.payment_status` | body | string | нет | Статус платежа |
| `params.deal.manager_email` | body | string | нет | Email менеджера |
| `params.deal.deal_comment` | body | string | нет | Комментарий |
| `params.system.multiple_offers` | body | integer | нет | 1 — несколько предложений в одном заказе (добавляются по одному) |
| `params.system.return_payment_link` | body | integer | нет | Вернуть ссылку на оплату |
| `params.system.return_deal_number` | body | integer | нет | Вернуть номер заказа |

## Базовые 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/sozdat-zakaz-i-poluchit-ssylku-na-oplatu.md)

---

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