Если вы продавец с 100+ товарами на Авито, ручное создание накладных для каждого заказа — непозволительная роскошь. Через API СДЭК можно автоматически генерировать накладные в момент оформления заказа на Авито. В этом материале — готовый алгоритм: от получения ключей до боевого запуска.
Сравнение
| Критерий | По теме страницы | Создание накладных вручную через ЛК |
|---|---|---|
| Скорость создания накладной | Автоматически (менее 1 сек) | 2-5 минут |
| Человеческие ошибки | Отсутствуют | Возможны (опечатки, неверный тариф) |
| Интеграция с Авито | Полная (заказ → накладная) | Нет (нужно вводить вручную) |
| Затраты времени на 100 заказов | 5 минут | 3-4 часа |
Как это работает
В ЛК СДЭК перейдите в «Интеграция», создайте приложение, скопируйте client_id и client_secret.
Отправьте POST на /v2/oauth/token?grant_type=client_credentials&client_id=...&client_secret=... Сохраните токен сроком на 1 час.
Напишите на Python: используйте requests.post('https://api.edu.cdek.ru/v2/orders', json=data, headers={'Authorization': 'Bearer '+token}).
Проверьте создание накладной на тестовом сервере. Если вернулся uuid — всё работает. Повторите для 10 заказов.
Подробно
Структура запроса для создания накладной
Пример тела запроса: {"number": "AVITO123", "tariff_code": 136, "recipient": {"name": "Иван", "phones": [{"number": "+79001234567"}], "address": {"city": "Москва", "street": "Тверская", "house": "1"}}, "packages": [{"weight": 1000, "length": 20, "width": 15, "height": 10}]}. Обязательные поля: номер заказа (можно свой), тариф, адрес, вес в граммах.
Обработка ошибок и тестирование
На этапе тестирования используйте sandbox api.edu.cdek.ru. Типичные ошибки: неверный формат телефона, номера заказа уже существует (используйте уникальные), превышение лимита веса для тарифа. После исправления ошибок повторите запрос. В production установите лимит запросов — не более 10 в секунду на один токен.
Словарь терминов
Отзывы
Интегрировал API СДЭК с Авито: при каждом новом заказе автоматом создаётся накладная. Кэш токена сохраняю в файл, обновляю раз в 50 минут. Ни одной ошибки 429.
Раньше уходило часа два на создание накладных. Теперь скрипт делает это за секунду. Экономия времени — колоссальная.
Частые вопросы
Можно ли использовать API СДЭК без договора?
Нет, для доступа к API требуется заключить договор со СДЭК. Только после этого выдаются ключи.
Как часто нужно обновлять токен?
Токен действует 3600 секунд (1 час). Его нужно перевыпускать по истечении или кэшировать и обновлять по таймеру.
Что делать, если в ответе ошибка 429?
Превышен лимит запросов. Кэшируйте токен и результаты расчётов, добавляйте задержку между запросами (минимум 100 мс).
Попробуйте создать первую накладную через API — скачайте готовый скрипт на Python!
Читайте также по теме