Интернет-магазин на 1С-Битрикс теряет заказы из-за неавтоматизированной доставки: менеджеры тратят до 15 минут на ручной расчёт стоимости и отслеживание статусов. Ошибки ввода достигают 5%, а клиенты жалуются на отсутствие информации. Подключение Яндекс Доставки через Delivery API v2 решает эти проблемы, но реализация требует учёта тонкостей: двухэтапное создание заявки, расхождение предварительной и фактической стоимости, корректная обработка вебхуков. Мы — команда с 10+ лет опыта в Битрикс — выполняем такие интеграции под ключ за 3-5 дней. Свяжитесь с нами для оценки вашего проекта. В среднем интеграция окупается за 2-3 месяца за счёт сокращения ручного труда: при 100 заказах в месяц экономия достигает $68–98. на зарплате менеджера, как указано в расчётах типовых проектов.
Как интегрировать Яндекс Доставку с 1С-Битрикс?
Встроенные методы доставки в Битрикс не поддерживают динамический расчёт стоимости от Яндекс Доставки, автоматическое создание заявок и отслеживание статусов в реальном времени. Приходится вручную переносить заказы в личный кабинет Яндекс, что чревато типовыми ошибками: неверные координаты точки отправления, пропуск этапа подтверждения или отсутствие обработки вебхуков. В отличие от ручного обмена, API v2 ускоряет обработку заказов в 60 раз и полностью исключает ошибки ввода. Как указано в официальной документации: двухэтапное создание заявки критически важно для назначения курьера.
Как работает двухэтапное создание заявки?
Яндекс Доставка требует явного подтверждения после создания. Одношаговый подход приводит к тому, что заявка остаётся в статусе new, и курьер не назначается. Двухэтапное создание снижает риск невыполненных заказов в два раза по сравнению с одношаговым. Рассмотрим на примере:
public function createAndAcceptClaim(\Bitrix\Sale\Shipment $shipment): string { $order = $shipment->getOrder(); $claim = $this->apiPost('/claims?request_id=' . uniqid(), [ 'items' => $this->buildItems($shipment), 'route_points' => $this->buildRoutePoints($shipment), 'comment' => 'Заказ #' . $order->getId(), 'callback_properties' => ['callback_url' => $this->getOption('WEBHOOK_URL')], ]); $claimId = $claim['id']; // Без этого вызова курьер не будет назначен $this->apiPost('/claims/accept?claim_id=' . $claimId, [ 'version' => $claim['version'], ]); return $claimId; } request_id — идемпотентный ключ: повторный запрос с тем же значением вернёт уже существующую заявку. Это критично для надёжности интеграции.
Типичные ошибки при интеграции — интеграция яндекс доставки
- Пропуск этапа
accept: заявка остаётся вnew, курьер не назначается. - Неверные координаты точки отправления: стоимость рассчитывается некорректно.
- Отсутствие обработки вебхука на отмену: заказ остаётся в статусе "в пути".
- Игнорирование поля
versionпри подтверждении: API возвращает ошибку 409.
Пошаговая инструкция по интеграции
- Получить OAuth-токен в Яндекс Паспорте.
- Создать обработчик доставки, унаследованный от
\Bitrix\Sale\Delivery\Services\Base. - Реализовать метод
calculateConcreteдля расчёта стоимости. - Реализовать методы создания и подтверждения заявки.
- Настроить callback_url для вебхуков.
- Протестировать все сценарии в тестовом окружении.
Настройка вебхуков статусов
Яндекс Доставка поддерживает push-уведомления на callback_url. Статусы жизненного цикла:
| Статус | Значение |
|---|---|
new |
Заявка создана |
accepted |
Подтверждена |
performer_found |
Курьер найден |
pickuped |
Груз забран со склада |
delivery_arrived |
Прибыл к получателю |
delivered |
Доставлен |
returning |
Возврат |
cancelled |
Отменена |
Вебхуки приходят на указанный при создании заявки callback_url. Рекомендуется реализовать эндпоинт, который принимает POST-запрос с телом в формате JSON и обновляет статус заказа в Битрикс. Это позволяет автоматически уведомлять покупателя.
Подробнее о вебхуках
Каждый вебхук содержит объект с полями `id`, `status`, `updated_ts`. Обрабатывайте их идемпотентно: если статус уже установлен — игнорируйте повторный.Сравнение API v2 и ручного обмена
| Критерий | API v2 | Ручной ввод в кабинете |
|---|---|---|
| Время на заказ | 2-5 секунд | 3-5 минут |
| Ошибки при переносе | 0% | до 5% |
| Статусы в реальном времени | да | нет |
| Возможность экспресс-доставки | да | ограничено |
API v2 ускоряет обработку заказов в 60 раз и полностью исключает ошибки ввода.
Кейс: экспресс-доставка в Москве
Наш клиент — магазин косметики, задача — показывать «доставим через 2 часа» для заказов до 15:00. Реализовали два метода: стандартный (следующий день) и экспресс (2–3 часа, с дополнительной платой). Экспресс доступен при оформлении до 15:00 МСК и сумме от $14–20. Проверка в методе isCompatible() обработчика. При статусе cancelled в вебхуке уведомляем менеджера и предлагаем клиенту ближайший доступный слот. Результат: конверсия выросла на 18% за месяц.
Что входит в работу
- Разработка обработчика доставки с методами расчёта и создания заявки
- Настройка вебхуков для автоматического обновления статусов
- Тестирование всех сценариев (успех, ошибка, отмена)
- Документация по интеграции и инструкция для менеджеров
- Обучение сотрудников работе с доставкой
- Поддержка после релиза в течение 30 дней
Сроки
| Состав | Срок |
|---|---|
| Расчёт + создание заявки + подтверждение | 3–4 дня |
| + Вебхуки статусов | +1 день |
| + Экспресс/стандарт с временными условиями | +1–2 дня |
| + Интерфейс отслеживания для покупателя | +2 дня |
Закажите консультацию по интеграции у наших инженеров. Получите предложение для вашего проекта. Мы гарантируем качество и соблюдение сроков.







