Сценарий из mcp-everything. Актуально на 2026-10-24.
Каждый заказ интернет-магазина сразу попадает в CRM с клиентом, товарами, доставкой и оплатой.
curl -X POST "https://<поддомен>.retailcrm.ru/api/v5/orders/create" \
--data-urlencode "apiKey=$RCRM_KEY" \
--data-urlencode 'site=my-shop' \
--data-urlencode 'order={
"externalId": "1042",
"orderMethod": "shopping-cart",
"firstName": "Иван",
"lastName": "Петров",
"phone": "+79990001122",
"email": "ivan@example.ru",
"items": [{"offer": {"externalId": "SKU-17"}, "quantity": 2, "initialPrice": 990}],
"delivery": {"address": {"text": "Москва, ул. Тверская, 1, кв. 5"}, "cost": 300},
"customerComment": "Позвонить за час"
}'
https://{your-subdomain}.retailcrm.ru/api/v5/Тип: API-ключ
API-ключ создаётся в аккаунте RetailCRM и передаётся в параметре apiKey (GET или POST). Если ключ даёт доступ к нескольким магазинам, части методов нужен параметр site — символьный код магазина. Запросы — только по HTTPS, кодировка UTF-8.
Тело — 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 | нет | |
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 | нет | Комментарий оператора |
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
site |
body | string | нет | Код магазина |
customer |
body | string (JSON) | да | Клиент |
customer.externalId |
body | string | нет | Внешний ID |
customer.firstName |
body | string | нет | Имя |
customer.lastName |
body | string | нет | Фамилия |
customer.email |
body | string | нет | |
customer.phones |
body | array | нет | Телефоны |
customer.address |
body | object | нет | Адрес |
customer.managerId |
body | integer | нет | Менеджер |
customer.customFields |
body | object | нет | Пользовательские поля |
application/x-www-form-urlencoded, а вложенные структуры (order, customer, offers) — JSON-строкой внутри поля формы.site.limit, totalCount, currentPage, totalPageCount./orders/history и /customers/history, а не полную перевыгрузку списков.460 при пакетной загрузке означает, что часть заказов загружена с ошибками; загруженные перечислены в uploadedOrders.Если этого недостаточно — официальная документация: https://rest-api-docs.retailcrm.ru/v5/ Вся интеграция одним документом: https://mcp-everything.ru/integrations/retailcrm.md