Битрикс24

Доставка за КАД: расчёт по километрам

от Xlogic xlogic.ringdelivery

4 900 ₽

Электронная передача по России, без платы за доставку, после подтверждения заказа и не позже 5 дней. Условия.

Скриншоты

Технические данные

Опубликовано:
14.10.2026
Версия:
1.2.0
Установлено:
Менее 50 раз
Подходящие редакции:
«Малый бизнес», «Бизнес»
Адаптивность:
Нет
Поддержка Композита:
Нет
Совместимо с Сайты24
Нет
Доставка за КАД: расчёт по километрам

Служба доставки для модуля «Интернет-магазин», стоимость которой зависит от расстояния по дорогам от кольцевой дороги города до адреса покупателя. Адрес внутри кольцевой — 0 км, за ней — расстояние по реальному маршруту, а не по прямой. Контур КАД Санкт-Петербурга встроен в модуль, контур любого другого города (МКАД, ЦКАД, кольцевые Казани, Екатеринбурга и др.) загружается из файла.

Кому подходит
  • Магазинам с курьерской доставкой за КАД или МКАД, где цена растёт с каждым километром: стройматериалы, мебель, техника, вода, корма.
  • Доставке еды и цветов: зона «центр» со своей ценой, бесплатная доставка от суммы заказа, срок доставки.
  • Магазинам с несколькими городами: у каждой службы доставки свой контур и свой тариф.

Как считается стоимость
  1. Адрес из свойства заказа вместе с городом из местоположения покупателя переводится в координаты геокодером Яндекса. Если найден не дом, а улица или посёлок, покупателя просят уточнить адрес.
  2. Если точка внутри контура кольцевой дороги, расстояние равно 0 км.
  3. Иначе одним запросом к серверу маршрутов OSRM (данные OpenStreetMap) считаются маршруты от нескольких ближайших точек кольцевой дороги, берётся самый короткий.
  4. Стоимость считается по тарифу службы доставки и условиям: базовая цена, километры, наценка за вес, бесплатная доставка от суммы, минимальная стоимость, округление.

Тариф
  • Три способа расчёта: по цене за километр; фиксированная цена по диапазонам («до 10 км — 500 руб., до 30 км — 900 руб.»); своя цена километра в каждом диапазоне — более дальняя доставка никогда не стоит дешевле более близкой.
  • Базовая цена, бесплатные километры, максимальное расстояние доставки, округление расстояния до целого километра или до 0,1 км.
  • Условия: минимальная стоимость, округление цены вверх до 10 или 50 руб., бесплатная доставка от суммы заказа (можно только в пределах заданного расстояния), наценка за каждый килограмм сверх веса, входящего в цену.
  • Срок доставки: общий или свой у каждого диапазона расстояний — покупатель видит его рядом с доставкой.
  • Зоны: район города со своей базовой ценой, например центр дороже или дешевле остального города.
  • Ограничения по местоположению, сумме, весу и платёжной системе — штатные ограничения служб доставки.

Несколько городов
  • Все контуры собраны в одной таблице на вкладке «Контуры» настроек модуля: кольцевая дорога любого города или зона внутри города.
  • Контур добавляется вручную, из файла GeoJSON или KML (нарисованного в Конструкторе карт Яндекса или на geojson.io) или кнопкой встроенного контура КАД Санкт-Петербурга.
  • Каждая служба доставки считает от своего контура: для двух городов — две службы с разными контурами и ограничениями по местоположению.

Оформление заказа
  • Покупатель видит расстояние, цену и срок доставки, а если до бесплатной доставки не хватает суммы — сколько осталось добрать.
  • Адрес можно ввести текстом или выбрать меткой на карте Яндекса в оформлении заказа (sale.order.ajax): адрес подставляется в заказ, стоимость пересчитывается.
  • Если адрес не найден, указан неточно или дальше максимального расстояния, покупатель видит причину, и заказ не оформляется.
  • При сбое сервисов заказ принимается с пометкой «Проблемный», чтобы не останавливать продажи; поведение настраивается.

Контроль
  • Проверка расчёта по любому адресу в настройках модуля: найденный адрес, точность, расстояние, цена и срок по каждой службе доставки, ошибки в настройках тарифа.
  • Журнал расчётов: адрес покупателя, найденная точка на карте, расстояние и причина ошибки — чтобы ответить на вопрос «почему доставка столько стоит». Срок хранения настраивается.
  • Уведомление администратору, если геокодер или сервер маршрутов перестали отвечать или не настроены; снимается само, когда расчёт снова работает.
  • Кеширование расчётов по адресу и ограничение числа новых адресов на посетителя: квота геокодера не расходуется на повторы и перебор адресов.
  • Все настройки модуля, контуры и журнал — на одной странице; тариф — в карточке службы доставки.

Что нужно для работы
  • Модуль «Интернет-магазин» (sale) и оформление заказа на штатном компоненте sale.order.ajax.
  • Ключ API Яндекса с доступом к HTTP-геокодеру. Условия использования бесплатного ключа, в том числе для интернет-магазинов, уточняйте у Яндекса.
  • Сервер маршрутов OSRM: публичный router.project-osrm.org подходит для небольшой нагрузки, для высокой — свой сервер (инструкция по развёртыванию в Docker есть в настройках модуля).

Что нужно знать
  • Маршруты строятся по данным OpenStreetMap и могут отличаться от Яндекс Карт, особенно в сельской местности.
  • Расчёт выполняется во время оформления заказа: при медленном ответе сервисов оформление замедляется.
  • Для каждого контура, от которого считает служба доставки, новый адрес — отдельный запрос к геокодеру.
  • Журнал расчётов содержит адреса покупателей (персональные данные); срок их хранения задаётся в настройках, журнал можно отключить.