# RetailCRM API v5: POST /api/v5/orders/create — Создать заказ

Тело — `application/x-www-form-urlencoded`; объект `order` передаётся JSON-строкой.

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `apiKey` | body | string | да | API-ключ |
| `site` | body | string | нет | Код магазина |
| `order` | body | string (JSON) | да | Заказ |
| `order.externalId` | body | string | нет | Внешний ID |
| `order.number` | body | string | нет | Номер заказа |
| `order.orderType` | body | string | нет | Тип заказа |
| `order.orderMethod` | body | string | нет | Способ оформления, например phone |
| `order.status` | body | string | нет | Статус, например assembling |
| `order.firstName` | body | string | нет | Имя |
| `order.lastName` | body | string | нет | Фамилия |
| `order.patronymic` | body | string | нет | Отчество |
| `order.phone` | body | string | нет | Телефон |
| `order.email` | body | string | нет | Email |
| `order.customer` | body | object | нет | Привязка к клиенту (id и тип) |
| `order.managerId` | body | integer | нет | Менеджер |
| `order.items` | body | array | нет | Позиции: offer, quantity, priceType, purchasePrice и др. |
| `order.delivery` | body | object | нет | Доставка: address, cost, netCost и др. |
| `order.payments` | body | array | нет | Оплаты: type, status, amount, paidAt |
| `order.customFields` | body | object | нет | Пользовательские поля |
| `order.shipmentStore` | body | string | нет | Склад отгрузки |
| `order.shipmentDate` | body | string | нет | Дата отгрузки |
| `order.customerComment` | body | string | нет | Комментарий клиента |
| `order.managerComment` | body | string | нет | Комментарий оператора |

## Базовые URL

- Боевой: `https://{your-subdomain}.retailcrm.ru/api/v5/`

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

Тип: API-ключ

API-ключ создаётся в аккаунте RetailCRM и передаётся в параметре `apiKey` (GET или POST). Если ключ даёт доступ к нескольким магазинам, части методов нужен параметр `site` — символьный код магазина. Запросы — только по HTTPS, кодировка UTF-8.

## Нюансы

- POST-запросы отправляются как `application/x-www-form-urlencoded`, а вложенные структуры (`order`, `customer`, `offers`) — JSON-строкой внутри поля формы.
- Для ключа с доступом к нескольким магазинам часть методов требует `site`.
- Ответы списков содержат метаданные пагинации: `limit`, `totalCount`, `currentPage`, `totalPageCount`.
- Для синхронизации изменений используйте `/orders/history` и `/customers/history`, а не полную перевыгрузку списков.
- Код `460` при пакетной загрузке означает, что часть заказов загружена с ошибками; загруженные перечислены в `uploadedOrders`.

## Сценарии с этим методом

- [Передать заказ с сайта в RetailCRM](https://mcp-everything.ru/integrations/retailcrm/scenarios/peredat-zakaz-s-sayta-v-retailcrm.md)

---

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