Сценарий из mcp-everything. Актуально на 2026-10-24.
Передать заказ интернет-магазина в СДЭК и получить номер отправления.
# Тариф 136 — «Посылка склад-склад»: сдаёшь в ПВЗ, покупатель забирает в ПВЗ
curl -X POST https://api.cdek.ru/v2/orders \
-H "Authorization: Bearer $TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"type": 1,
"number": "ORDER-1042",
"tariff_code": 136,
"shipment_point": "<код ПВЗ, куда сдашь посылку>",
"delivery_point": "<код ПВЗ покупателя>",
"recipient": {"name": "Иван Петров", "phones": [{"number": "+79990001122"}]},
"packages": [{
"number": "1",
"weight": 1500, "length": 20, "width": 15, "height": 10,
"items": [{"name": "Кружка", "ware_key": "SKU-17", "payment": {"value": 0}, "cost": 990, "weight": 1500, "amount": 1}]
}]
}'
# Через 2–3 секунды — проверить, создан ли заказ
curl https://api.cdek.ru/v2/orders/<uuid> -H "Authorization: Bearer $TOKEN"
https://api.cdek.ruhttps://api.edu.cdek.ruТип: OAuth 2.0
OAuth 2.0 (client credentials). Токен получают запросом POST /v2/oauth/token с grant_type=client_credentials, client_id (Account) и client_secret (Secure password) из личного кабинета СДЭК (раздел интеграции) и передают в заголовке Authorization: Bearer <token> (JWT). Для интеграции нужен договор со СДЭК.
Тестовая учётная запись для api.edu.cdek.ru (из документации):
Создаёт заказ на доставку. Возвращает 202 Accepted с UUID заказа и статусом запроса; статус ACCEPTED не гарантирует создание заказа.
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
type |
body | integer | нет | 1 — интернет-магазин, 2 — доставка |
number |
body | string | нет | Номер заказа в системе клиента (для ИМ), до 40 символов |
tariff_code |
body | integer | да | Код тарифа |
comment |
body | string | нет | Комментарий |
shipment_point |
body | string | нет | ПВЗ, куда клиент привезёт посылку; не вместе с from_location |
delivery_point |
body | string | нет | ПВЗ доставки; обязателен для тарифов «до склада» |
sender |
body | object | нет | Отправитель; обязателен для типа «доставка» |
recipient |
body | object | да | Получатель |
recipient.name |
body | string | да | ФИО контактного лица |
recipient.phones |
body | array | да | Телефоны (до 10): number, additional |
recipient.email |
body | string | нет | |
from_location |
body | object | нет | Адрес отправления; не вместе с shipment_point |
to_location |
body | object | нет | Адрес получения; не вместе с delivery_point |
to_location.address |
body | string | нет | Строка адреса |
to_location.code |
body | integer | нет | Код населённого пункта СДЭК |
delivery_recipient_cost |
body | object | нет | Доп. сбор за доставку с получателя (для ИМ) |
services |
body | array | нет | Дополнительные услуги |
packages |
body | array | да | Места, от 1 до 255 |
packages[].number |
body | string | да | Номер упаковки |
packages[].weight |
body | integer | да | Вес, граммы |
packages[].length |
body | integer | нет | Длина, см |
packages[].width |
body | integer | нет | Ширина, см |
packages[].height |
body | integer | нет | Высота, см |
packages[].items |
body | array | нет | Товары; обязательно для заказов «интернет-магазин» |
packages[].items[].name |
body | string | да | Наименование товара |
packages[].items[].ware_key |
body | string | да | Артикул |
packages[].items[].payment |
body | object | да | Оплата при получении за единицу (value ≥ 0) |
packages[].items[].cost |
body | number | да | Объявленная стоимость за единицу |
packages[].items[].weight |
body | integer | да | Вес |
packages[].items[].amount |
body | integer | да | Количество |
packages[].items[].marking |
body | string | нет | Код маркировки «Честный знак» |
print |
body | string | нет | Тип печатной формы для формирования |
Детальная информация о заказе: статусы, доставка, получатель. По номеру СДЭК или номеру ИМ — GET /v2/orders с параметрами cdek_number или im_number.
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
uuid |
path | string | да | Идентификатор заказа в ИС СДЭК |
Изменение возможно только в статусах CREATED и ACCEPTED. Удаление — DELETE /v2/orders/{uuid}.
ACCEPTED означает только первичную валидацию, итог — SUCCESSFUL или INVALID. Обычно 200–500 мс, при пиковой нагрузке до 30–60 секунд; опрашивайте с паузой 2–3 секунды.POST /v2/orders нельзя одновременно передавать shipment_point и from_location, а также delivery_point и to_location.CREATED и ACCEPTED.Если этого недостаточно — официальная документация: https://apidoc.cdek.ru/ Вся интеграция одним документом: https://mcp-everything.ru/integrations/cdek.md