При массовых отправках через СДЭК вручную проверять статус каждого заказа неэффективно. Бот автоматически получает обновления через API и веб-хуки, уведомляя вас в мессенджер.
Сравнение
| Критерий | По теме страницы | Ручная проверка статусов в личном кабинете |
|---|---|---|
| Способ получения статусов | Бот с API и веб-хуками | Ручная проверка в ЛК СДЭК |
| Время на проверку 50 заказов | Менее 1 минуты (автоматически) | 10-15 минут |
| Риск пропустить статус | Минимальный (мгновенные уведомления) | Высокий (человеческий фактор) |
| Стоимость разработки | Бесплатно (своими силами) или 5-10 т.р. (под ключ) | 0 руб., но затраты времени |
Как это работает
Заключите договор со СДЭК, войдите в lk.cdek.ru/integration, создайте ключи client_id и client_secret.
Telegram-бот (pyTelegramBotAPI) или другой мессенджер. Установите Python 3.8+ и библиотеки requests.
Получите токен по client_id/client_secret. Кэшируйте его в файл до истечения 3600 секунд, чтобы избежать 429 ошибки.
Укажите URL бота как endpoint для веб-хуков. При получении POST-запроса от СДЭК отправляйте уведомление в чат.
Подробно
Архитектура бота: API, веб-хуки и кэширование
Для работы бота требуется договор со СДЭК и доступ к API. Получите client_id и client_secret в ЛК lk.cdek.ru/integration. Токен OAuth 2.0 действует 3600 секунд — важно кэшировать его, чтобы избежать ошибки 429 Too Many Requests. Подпишитесь на веб-хуки для автоматического получения обновлений статусов: при изменении статуса СДЭК отправляет POST-запрос на ваш endpoint. Для массовых отслеживаний используйте метод GET /v2/orders с фильтрацией по статусу.
Пошаговая инструкция: от получения ключей до запуска
1. Создайте приложение (например, Telegram-бот на Python). 2. Получите client_id и client_secret в ЛК СДЭК. 3. Реализуйте получение OAuth-токена с кэшированием. 4. Настройте веб-хук: укажите URL вашего бота для приёма уведомлений. 5. Подпишитесь на статусы (например, 'DELIVERED', 'RETURNED'). 6. Протестируйте в sandbox api.edu.cdek.ru. 7. Запустите бота. Пример кода для получения статуса через запрос GET /v2/orders?im_number=123456789.
Словарь терминов
Отзывы
После внедрения бота перестал пропускать возвраты. Экономит 2 часа в день на проверке 80 заказов.
Настроили бота в Telegram за вечер. Ошибка 429 возникала, пока не закэшировали токен — теперь всё стабильно.
Частые вопросы
Нужно ли иметь сервер для бота?
Да, требуется VPS или облачная функция (AWS Lambda) для приёма веб-хуков и работы бота 24/7.
Можно ли отслеживать заказы по трек-номеру без API?
Без API — только ручная проверка на сайте СДЭК. Бот требует интеграции через договор.
Какие статусы можно получать?
Все статусы из документации: 'Принят', 'В пути', 'Готов к выдаче', 'Вручен', 'Возврат' и другие.
Попробуйте демо-бота в Telegram: @cdek_status_bot
Читайте также по теме