{"name":"СДЭК API v2","vendor":"СДЭК","industry":"logistics","summary":"Клиентский протокол интеграции с логистикой СДЭК: расчёт стоимости и сроков доставки, справочники населённых пунктов и пунктов выдачи, регистрация и изменение заказов, вызов курьера, печать квитанций и штрихкодов, договорённости о доставке, возвраты и вебхуки о статусах. Создание сущностей асинхронное: запрос сначала принимается, а результат проверяют отдельным методом или получают вебхуком.","docsUrl":"https://apidoc.cdek.ru/","coverage":{"included":[],"excluded":[]},"scenarios":[{"id":"rasschitat-stoimost-i-sroki-dostavki","title":"Рассчитать стоимость и сроки доставки","summary":"Показать покупателю цену и срок доставки СДЭК в корзине или калькуляторе на сайте.","steps":["Получи токен: POST /v2/oauth/token с grant_type=client_credentials, client_id (Account) и client_secret (Secure password) из личного кабинета СДЭК. Токен живёт expires_in секунд — сохрани его и переиспользуй, а не запрашивай на каждый расчёт.","Рассчитай все доступные тарифы: POST /v2/calculator/tarifflist с from_location, to_location и packages. Вес передавай в граммах, габариты — в сантиметрах.","В ответе для каждого тарифа есть код, название, стоимость delivery_sum и срок period_min–period_max в днях. Покажи покупателю подходящие тарифы и сохрани tariff_code — он понадобится при создании заказа.","Для отладки используй тестовый адрес https://api.edu.cdek.ru и тестовую учётную запись из документации, на боевом — https://api.cdek.ru."],"code":"# Токен (кешируй на expires_in секунд)\nTOKEN=$(curl -s -X POST \"https://api.cdek.ru/v2/oauth/token?grant_type=client_credentials&client_id=<Account>&client_secret=<Secure password>\" | jq -r .access_token)\n\n# Все тарифы: Москва → Санкт-Петербург, посылка 1,5 кг\ncurl -X POST https://api.cdek.ru/v2/calculator/tarifflist \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H 'Content-Type: application/json' \\\n  -d '{\n        \"from_location\": {\"code\": 44},\n        \"to_location\": {\"code\": 137},\n        \"packages\": [{\"weight\": 1500, \"length\": 20, \"width\": 15, \"height\": 10}]\n      }'","language":"bash","methods":["POST /v2/oauth/token","POST /v2/calculator/tarifflist"]},{"id":"pokazat-punkty-vydachi-v-gorode","title":"Показать пункты выдачи в городе покупателя","summary":"Список ПВЗ и постаматов СДЭК для выбора на странице оформления заказа.","steps":["Найди код населённого пункта СДЭК: GET /v2/location/cities по названию города. Код нужен и для расчёта, и для списка пунктов.","Запроси пункты выдачи: GET /v2/deliverypoints с city_code и type (PVZ, POSTAMAT или ALL). Для приёма оплаты при получении добавь allowed_cod=true, для крупных посылок — weight_max.","Покажи пункты на карте или списком и сохрани код выбранного пункта — он пойдёт в delivery_point заказа.","Обновляй список раз в сутки: пункты открываются и закрываются, хранить его статично нельзя."],"code":"# Код города\ncurl -G https://api.cdek.ru/v2/location/cities \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  --data-urlencode 'city=Казань' \\\n  --data-urlencode 'country_codes=RU'\n\n# Пункты выдачи и постаматы в этом городе\ncurl -G https://api.cdek.ru/v2/deliverypoints \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -d city_code=<код города> \\\n  -d type=ALL \\\n  -d is_handout=true","language":"bash","methods":["GET /v2/deliverypoints","GET /v2/location/cities"]},{"id":"sozdat-zakaz-i-dozhdatsya-ego","title":"Создать заказ и дождаться его регистрации","summary":"Передать заказ интернет-магазина в СДЭК и получить номер отправления.","steps":["Отправь заказ: POST /v2/orders с tariff_code, number (номер заказа у тебя), recipient (name и phones), packages с товарами в items и адресом: delivery_point для доставки до пункта выдачи или to_location для курьерской доставки — не оба сразу. Точно так же shipment_point и from_location взаимоисключающие.","Сервер ответит 202 Accepted с uuid заказа и статусом запроса ACCEPTED — это только первичная проверка, заказ ещё не создан.","Проверь результат: GET /v2/orders/{uuid} с паузой 2–3 секунды. Обычно ответ готов за полсекунды, в пиковые часы — до минуты. Статус запроса SUCCESSFUL означает, что заказ создан, INVALID — что нет, причина в errors.","Когда заказ создан, сохрани cdek_number: по нему покупатель отслеживает посылку.","Поменять заказ можно через PATCH /v2/orders, пока он в статусе CREATED или ACCEPTED. Если заказ уже принят к перевозке, придёт ошибка v2_update_forbidden."],"code":"# Тариф 136 — «Посылка склад-склад»: сдаёшь в ПВЗ, покупатель забирает в ПВЗ\ncurl -X POST https://api.cdek.ru/v2/orders \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H 'Content-Type: application/json' \\\n  -d '{\n        \"type\": 1,\n        \"number\": \"ORDER-1042\",\n        \"tariff_code\": 136,\n        \"shipment_point\": \"<код ПВЗ, куда сдашь посылку>\",\n        \"delivery_point\": \"<код ПВЗ покупателя>\",\n        \"recipient\": {\"name\": \"Иван Петров\", \"phones\": [{\"number\": \"+79990001122\"}]},\n        \"packages\": [{\n          \"number\": \"1\",\n          \"weight\": 1500, \"length\": 20, \"width\": 15, \"height\": 10,\n          \"items\": [{\"name\": \"Кружка\", \"ware_key\": \"SKU-17\", \"payment\": {\"value\": 0}, \"cost\": 990, \"weight\": 1500, \"amount\": 1}]\n        }]\n      }'\n\n# Через 2–3 секунды — проверить, создан ли заказ\ncurl https://api.cdek.ru/v2/orders/<uuid> -H \"Authorization: Bearer $TOKEN\"","language":"bash","methods":["POST /v2/orders","GET /v2/orders/{uuid}","PATCH /v2/orders"]},{"id":"napechatat-kvitantsiyu-i-vyzvat-kurera","title":"Напечатать квитанцию и вызвать курьера","summary":"Подготовить отправление к передаче: напечатать документы и заказать забор посылки со склада.","steps":["Закажи квитанцию: POST /v2/print/orders со списком заказов. Квитанция формируется асинхронно — сначала придёт uuid задания.","Когда задание готово, скачай PDF по адресу /v2/print/orders/{uuid}.pdf с тем же токеном. Штрихкоды мест печатаются отдельно через /v2/print/barcodes.","Вызови курьера: POST /v2/intakes с датой и интервалом забора, адресом и контактами отправителя. Свободные даты можно заранее узнать через /v2/intakes/availableDays.","Чтобы не опрашивать готовность квитанции, подпишись на событие PRINT_FORM через POST /v2/webhooks."],"code":"# Квитанция для двух заказов\ncurl -X POST https://api.cdek.ru/v2/print/orders \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"orders\": [{\"order_uuid\": \"<uuid заказа 1>\"}, {\"order_uuid\": \"<uuid заказа 2>\"}], \"copy_count\": 2}'\n\n# Готовый PDF\ncurl -o receipt.pdf https://api.cdek.ru/v2/print/orders/<uuid задания>.pdf -H \"Authorization: Bearer $TOKEN\"","language":"bash","methods":["POST /v2/intakes","POST /v2/print/orders","POST /v2/webhooks"]},{"id":"poluchat-statusy-zakazov-vebhukom","title":"Получать статусы заказов вебхуком","summary":"Узнавать о движении посылки сразу, без постоянного опроса заказов.","steps":["Подпишись на смену статусов: POST /v2/webhooks с type = ORDER_STATUS и url своего обработчика. Для изменений заказа есть ORDER_MODIFIED, для готовых квитанций — PRINT_FORM.","Обработчик должен отвечать быстро: СДЭК ждёт подключения 15 секунд, при ошибках повторяет до 12 раз за 75 минут и потом перестаёт присылать событие.","По uuid из события найди заказ у себя и обнови статус. Если нужна полная информация, запроси GET /v2/orders/{uuid}.","Отвечай 200 сразу, а тяжёлую обработку делай в фоне, иначе повторы будут дублировать события."],"code":"curl -X POST https://api.cdek.ru/v2/webhooks \\\n  -H \"Authorization: Bearer $TOKEN\" \\\n  -H 'Content-Type: application/json' \\\n  -d '{\"type\": \"ORDER_STATUS\", \"url\": \"https://example.ru/cdek/webhook\"}'","language":"bash","methods":["GET /v2/orders/{uuid}","POST /v2/webhooks"]}],"baseUrls":[{"label":"Боевой","url":"https://api.cdek.ru"},{"label":"Тестовый","url":"https://api.edu.cdek.ru"}],"auth":{"type":"oauth2","description":"OAuth 2.0 (client credentials). Токен получают запросом `POST /v2/oauth/token` с `grant_type=client_credentials`, `client_id` (Account) и `client_secret` (Secure password) из личного кабинета СДЭК (раздел интеграции) и передают в заголовке `Authorization: Bearer <token>` (JWT). Для интеграции нужен договор со СДЭК.\n\nТестовая учётная запись для `api.edu.cdek.ru` (из документации):","example":""},"methods":[{"id":"POST /v2/oauth/token","title":"Получение токена авторизации","httpMethod":"POST","path":"/v2/oauth/token","description":"В ответе: `access_token`, `token_type`, `expires_in`, `scope`, `jti`.","params":[{"name":"grant_type","in":"query","type":"string","required":true,"description":"client_credentials"},{"name":"client_id","in":"query","type":"string","required":true,"description":"Идентификатор клиента"},{"name":"client_secret","in":"query","type":"string","required":true,"description":"Секретный ключ клиента"}],"requestExample":"","responseExample":"","docsUrl":""},{"id":"POST /v2/calculator/tarifflist","title":"Расчёт по доступным тарифам","httpMethod":"POST","path":"/v2/calculator/tarifflist","description":"Стоимость и сроки доставки по всем доступным тарифам. Расчёт по конкретному тарифу — `POST /v2/calculator/tariff`, с доп. услугами — `POST /v2/calculator/tariffAndService`.","params":[{"name":"date","in":"body","type":"string","required":false,"description":"Плановая дата передачи заказа; по умолчанию текущая"},{"name":"type","in":"body","type":"integer","required":false,"description":"1 — интернет-магазин (по умолчанию), 2 — доставка"},{"name":"currency","in":"body","type":"integer","required":false,"description":"Код валюты расчёта"},{"name":"lang","in":"body","type":"string","required":false,"description":"rus, eng, zho"},{"name":"shipment_point","in":"body","type":"string","required":false,"description":"ПВЗ, куда клиент привезёт посылку"},{"name":"delivery_point","in":"body","type":"string","required":false,"description":"ПВЗ доставки"},{"name":"from_location","in":"body","type":"object","required":true,"description":"Откуда: code, postal_code, country_code, city, address, координаты"},{"name":"to_location","in":"body","type":"object","required":true,"description":"Куда: те же поля"},{"name":"packages","in":"body","type":"array","required":true,"description":"Места"},{"name":"packages[].weight","in":"body","type":"integer","required":true,"description":"Вес в граммах"},{"name":"packages[].length","in":"body","type":"integer","required":false,"description":"Длина, см"},{"name":"packages[].width","in":"body","type":"integer","required":false,"description":"Ширина, см"},{"name":"packages[].height","in":"body","type":"integer","required":false,"description":"Высота, см"}],"requestExample":"","responseExample":"","docsUrl":""},{"id":"POST /v2/orders","title":"Регистрация заказа","httpMethod":"POST","path":"/v2/orders","description":"Создаёт заказ на доставку. Возвращает `202 Accepted` с UUID заказа и статусом запроса; статус `ACCEPTED` не гарантирует создание заказа.","params":[{"name":"type","in":"body","type":"integer","required":false,"description":"1 — интернет-магазин, 2 — доставка"},{"name":"number","in":"body","type":"string","required":false,"description":"Номер заказа в системе клиента (для ИМ), до 40 символов"},{"name":"tariff_code","in":"body","type":"integer","required":true,"description":"Код тарифа"},{"name":"comment","in":"body","type":"string","required":false,"description":"Комментарий"},{"name":"shipment_point","in":"body","type":"string","required":false,"description":"ПВЗ, куда клиент привезёт посылку; не вместе с from_location"},{"name":"delivery_point","in":"body","type":"string","required":false,"description":"ПВЗ доставки; обязателен для тарифов «до склада»"},{"name":"sender","in":"body","type":"object","required":false,"description":"Отправитель; обязателен для типа «доставка»"},{"name":"recipient","in":"body","type":"object","required":true,"description":"Получатель"},{"name":"recipient.name","in":"body","type":"string","required":true,"description":"ФИО контактного лица"},{"name":"recipient.phones","in":"body","type":"array","required":true,"description":"Телефоны (до 10): number, additional"},{"name":"recipient.email","in":"body","type":"string","required":false,"description":"Email"},{"name":"from_location","in":"body","type":"object","required":false,"description":"Адрес отправления; не вместе с shipment_point"},{"name":"to_location","in":"body","type":"object","required":false,"description":"Адрес получения; не вместе с delivery_point"},{"name":"to_location.address","in":"body","type":"string","required":false,"description":"Строка адреса"},{"name":"to_location.code","in":"body","type":"integer","required":false,"description":"Код населённого пункта СДЭК"},{"name":"delivery_recipient_cost","in":"body","type":"object","required":false,"description":"Доп. сбор за доставку с получателя (для ИМ)"},{"name":"services","in":"body","type":"array","required":false,"description":"Дополнительные услуги"},{"name":"packages","in":"body","type":"array","required":true,"description":"Места, от 1 до 255"},{"name":"packages[].number","in":"body","type":"string","required":true,"description":"Номер упаковки"},{"name":"packages[].weight","in":"body","type":"integer","required":true,"description":"Вес, граммы"},{"name":"packages[].length","in":"body","type":"integer","required":false,"description":"Длина, см"},{"name":"packages[].width","in":"body","type":"integer","required":false,"description":"Ширина, см"},{"name":"packages[].height","in":"body","type":"integer","required":false,"description":"Высота, см"},{"name":"packages[].items","in":"body","type":"array","required":false,"description":"Товары; обязательно для заказов «интернет-магазин»"},{"name":"packages[].items[].name","in":"body","type":"string","required":true,"description":"Наименование товара"},{"name":"packages[].items[].ware_key","in":"body","type":"string","required":true,"description":"Артикул"},{"name":"packages[].items[].payment","in":"body","type":"object","required":true,"description":"Оплата при получении за единицу (value ≥ 0)"},{"name":"packages[].items[].cost","in":"body","type":"number","required":true,"description":"Объявленная стоимость за единицу"},{"name":"packages[].items[].weight","in":"body","type":"integer","required":true,"description":"Вес"},{"name":"packages[].items[].amount","in":"body","type":"integer","required":true,"description":"Количество"},{"name":"packages[].items[].marking","in":"body","type":"string","required":false,"description":"Код маркировки «Честный знак»"},{"name":"print","in":"body","type":"string","required":false,"description":"Тип печатной формы для формирования"}],"requestExample":"","responseExample":"","docsUrl":""},{"id":"GET /v2/orders/{uuid}","title":"Информация о заказе по UUID","httpMethod":"GET","path":"/v2/orders/{uuid}","description":"Детальная информация о заказе: статусы, доставка, получатель. По номеру СДЭК или номеру ИМ — `GET /v2/orders` с параметрами `cdek_number` или `im_number`.","params":[{"name":"uuid","in":"path","type":"string","required":true,"description":"Идентификатор заказа в ИС СДЭК"}],"requestExample":"","responseExample":"","docsUrl":""},{"id":"PATCH /v2/orders","title":"Изменение заказа","httpMethod":"PATCH","path":"/v2/orders","description":"Изменение возможно только в статусах `CREATED` и `ACCEPTED`. Удаление — `DELETE /v2/orders/{uuid}`.","params":[],"requestExample":"","responseExample":"","docsUrl":""},{"id":"POST /v2/intakes","title":"Вызов курьера","httpMethod":"POST","path":"/v2/intakes","description":"Регистрация заявки на вызов курьера за посылкой. Доступные даты — `POST /v2/intakes/availableDays`, статус — `GET /v2/intakes/{uuid}`.","params":[],"requestExample":"","responseExample":"","docsUrl":""},{"id":"POST /v2/print/orders","title":"Формирование квитанции к заказу","httpMethod":"POST","path":"/v2/print/orders","description":"Асинхронно формирует квитанцию; готовый PDF — `GET /v2/print/orders/{uuid}.pdf`. Штрихкод места — `POST /v2/print/barcodes`.","params":[],"requestExample":"","responseExample":"","docsUrl":""},{"id":"GET /v2/deliverypoints","title":"Список офисов","httpMethod":"GET","path":"/v2/deliverypoints","description":"Список действующих ПВЗ и постаматов. Обновляйте список раз в сутки, не храните статично.","params":[{"name":"code","in":"query","type":"string","required":false,"description":"Код ПВЗ"},{"name":"type","in":"query","type":"string","required":false,"description":"POSTAMAT, PVZ, ALL"},{"name":"postal_code","in":"query","type":"string","required":false,"description":"Почтовый индекс"},{"name":"city_code","in":"query","type":"integer","required":false,"description":"Код населённого пункта СДЭК"},{"name":"country_code","in":"query","type":"string","required":false,"description":"Код страны ISO 3166-1 alpha-2"},{"name":"region_code","in":"query","type":"integer","required":false,"description":"Код региона СДЭК"},{"name":"have_cashless","in":"query","type":"boolean","required":false,"description":"Есть терминал оплаты"},{"name":"allowed_cod","in":"query","type":"boolean","required":false,"description":"Разрешён наложенный платёж"},{"name":"weight_max","in":"query","type":"integer","required":false,"description":"Макс. вес, кг"},{"name":"is_handout","in":"query","type":"boolean","required":false,"description":"Пункт выдачи"},{"name":"is_reception","in":"query","type":"boolean","required":false,"description":"Приём заказов"},{"name":"size","in":"query","type":"integer","required":false,"description":"Размер страницы"},{"name":"page","in":"query","type":"integer","required":false,"description":"Номер страницы"}],"requestExample":"","responseExample":"","docsUrl":""},{"id":"GET /v2/location/cities","title":"Список населённых пунктов","httpMethod":"GET","path":"/v2/location/cities","description":"Справочник населённых пунктов СДЭК с кодами. Поиск по названию — `GET /v2/location/suggest/cities`.","params":[],"requestExample":"","responseExample":"","docsUrl":""},{"id":"POST /v2/webhooks","title":"Подписка на вебхуки","httpMethod":"POST","path":"/v2/webhooks","description":"Список подписок — `GET /v2/webhooks`, удаление — `DELETE /v2/webhooks/{uuid}`.","params":[{"name":"type","in":"body","type":"string","required":true,"description":"ORDER_STATUS, ORDER_MODIFIED, PRINT_FORM, RECEIPT, DOWNLOAD_PHOTO, PREALERT_CLOSED, ACCOMPANYING_WAYBILL, OFFICE_AVAILABILITY, DELIV_PROBLEM, DELIV_AGREEMENT"},{"name":"url","in":"body","type":"string","required":true,"description":"URL для событий"}],"requestExample":"","responseExample":"","docsUrl":""}],"codeExamples":[],"errors":[{"code":"v2_internal_error","description":"Системная ошибка"},{"code":"v2_similar_request_still_processed","description":"Предыдущий запрос того же типа над этой сущностью ещё не выполнен"},{"code":"v2_update_forbidden","description":"Заказ уже принят к перевозке — изменять нельзя"},{"code":"v2_bad_request","description":"Некорректный запрос"},{"code":"v2_invalid_format","description":"Некорректное значение параметра"},{"code":"v2_field_is_empty","description":"Не передано обязательное поле"},{"code":"v2_parameters_empty","description":"Все параметры пустые"},{"code":"v2_invalid_value_type","description":"Некорректный тип данных"},{"code":"v2_entity_not_found","description":"Сущность не найдена или удалена"},{"code":"v2_entity_forbidden","description":"Сущность принадлежит другому клиенту"}],"limits":"- Гарантированная обработка — до 200 запросов в секунду на все методы; при превышении корректность не гарантируется.\n- В заказе от 1 до 255 мест, до 10 телефонов получателя.","gotchas":["Создание сущностей асинхронное: статус запроса `ACCEPTED` означает только первичную валидацию, итог — `SUCCESSFUL` или `INVALID`. Обычно 200–500 мс, при пиковой нагрузке до 30–60 секунд; опрашивайте с паузой 2–3 секунды.","В `POST /v2/orders` нельзя одновременно передавать `shipment_point` и `from_location`, а также `delivery_point` и `to_location`.","Вес в граммах, габариты в сантиметрах.","Изменять заказ можно только в статусах `CREATED` и `ACCEPTED`.","Вебхуки: таймаут подключения 15 секунд, при ошибках — до 12 повторов за 75 минут, потом доставка прекращается.","Данные о сущностях, созданных через API, хранятся 1 год.","Сообщения — в UTF-8; обязательные поля не могут быть пустыми."],"slug":"cdek","version":2,"updatedAt":"2026-10-24T17:05:32.446Z","sources":[{"title":"Портал документации СДЭК API","url":"https://apidoc.cdek.ru/","kind":"research","addedAt":"2026-10-12T19:25:59.202Z"},{"title":"OpenAPI-спецификация","url":"https://gateway.cdek.ru/api-cdek-docs/web/docs/merged?sectionId=api_v2_integration","kind":"research","addedAt":"2026-10-12T19:25:59.202Z"},{"title":"Вставленный текст","url":"","kind":"import","addedAt":"2026-10-12T19:25:59.202Z"},{"title":"scenarios-cdek.md","url":"","kind":"import","addedAt":"2026-10-24T17:05:24.096Z"}],"logoUrl":null}