# МойСклад JSON API 1.2: Отгрузить заказ

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

Отгрузка на основе заказа: шаблон заполнит контрагента, юрлицо, склад и позиции из заказа.

1. Получи шаблон: PUT /api/remap/1.2/entity/demand/new с `customerOrder.meta` в теле.
2. При необходимости поправь склад (`store`) и позиции в полученном JSON.
3. Создай отгрузку: POST /api/remap/1.2/entity/demand с телом шаблона (обязательны `organization`, `agent`, `store`).

```shell
curl --compressed -X PUT \
  "https://api.moysklad.ru/api/remap/1.2/entity/demand/new" \
  -H "Authorization: Basic <Credentials>" \
  -H "Accept-Encoding: gzip" \
  -H "Content-Type: application/json" \
  -d '{
    "customerOrder": {
      "meta": {
        "href": "https://api.moysklad.ru/api/remap/1.2/entity/customerorder/451cb4c0-3d1d-11e6-8a84-bae500000004",
        "metadataHref": "https://api.moysklad.ru/api/remap/1.2/entity/customerorder/metadata",
        "type": "customerorder",
        "mediaType": "application/json"
      }
    }
  }'
```

## Базовые URL

- Боевой: `https://api.moysklad.ru`
- Все пути начинаются с .: `/api/remap/1.2`

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

Тип: Bearer-токен

Два способа: Basic Auth (заголовок `Authorization: Basic` с `логин:пароль` в Base64) или токен доступа (`Authorization: Bearer <AccessToken>`). Токен пользователя выдаёт POST /api/remap/1.2/security/token; для решений из маркетплейса используется токен решения. Лимит запросов зависит от способа: токены решений расходуют лимит медленнее, чем логин/пароль и токен пользователя.

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

### PUT /api/remap/1.2/entity/demand/new — Шаблон отгрузки

Возвращает предзаполненную отгрузку; без тела — пустой шаблон со стандартными значениями.

Документация: https://dev.moysklad.ru/doc/api/remap/1.2/#/documents/demand#2-otgruzka

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `customerOrder.meta` | body | object | нет | Заказ покупателя, на основе которого создаётся отгрузка |

### POST /api/remap/1.2/entity/demand — Создание отгрузки

Документация: https://dev.moysklad.ru/doc/api/remap/1.2/#/documents/demand#2-otgruzka

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `organization.meta` | body | object | да | Ваше юрлицо |
| `agent.meta` | body | object | да | Контрагент |
| `store.meta` | body | object | да | Склад |
| `customerOrder.meta` | body | object | нет | Связанный заказ |
| `positions` | body | array | нет | Позиции, до 1000 |

## Нюансы

- Обязательно сжатие: заголовок `Accept-Encoding: gzip`, иначе `415` без тела.
- Ссылки на объекты передаются в формате `meta` (`href`, `type`, `mediaType`).
- Списки возвращают `meta` (`size`, `limit`, `offset`, `nextHref`, `previousHref`) и `rows`; `limit` — до 1000.
- Массив `positions` в запросе на обновление полностью заменяет позиции документа: непереданные удаляются.
- Цены и суммы — в копейках.
- Функции под заголовком `X-Lognex-Remap-Beta-Feature` не подпадают под гарантию неизменности структуры.
- Остаток по заголовкам: `X-RateLimit-Limit`, `X-RateLimit-Remaining`, `X-Lognex-Retry-TimeInterval`, `X-Lognex-Reset`, `X-Lognex-Retry-After`.
- Вебхуки работают только на платных тарифах и в пробный период; при бесплатном тарифе их нельзя создать.
- Есть MCP-сервер документации JSON API (раздел MCP-dev) — он ищет по документации и не выполняет запросы к аккаунту.

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

- [Получить токен и начать работу](https://mcp-everything.ru/integrations/moysklad/scenarios/poluchit-token-i-nachat-rabotu.md)
- [Выгрузить каталог с остатками](https://mcp-everything.ru/integrations/moysklad/scenarios/vygruzit-katalog-s-ostatkami.md)
- [Создать покупателя и заказ](https://mcp-everything.ru/integrations/moysklad/scenarios/sozdat-pokupatelya-i-zakaz.md)
- [Получать уведомления об изменениях](https://mcp-everything.ru/integrations/moysklad/scenarios/poluchat-uvedomleniya-ob-izmeneniyah.md)
- [Выгрузить большой отчёт асинхронно](https://mcp-everything.ru/integrations/moysklad/scenarios/vygruzit-bolshoy-otchet-asinhronno.md)

---

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