Яндекс.Доставка закрывает сразу два сценария: быстрый курьер по городу и доставку по России с ПВЗ и постаматами. Для интернет-магазина на 1С-Битрикс это одна интеграция, покрывающая и локальную розницу, и межгород. Показываем, как подключить расчёт, выбор пункта и создание заявок по API.
Два сценария доставки
Прежде чем писать код, важно развести два продукта внутри Яндекс.Доставки — у них разная логика оформления.
| Сценарий | Что это | Где применяют |
|---|---|---|
| Экспресс | Курьер Яндекса по городу за пару часов | Локальная доставка, товары «здесь и сейчас» |
| Доставка по России | Межгород до ПВЗ, постамата или двери | Отправка по всей стране |
Технически оба сценария подключаются как обработчики доставки в модуле sale. Разница — в наборе полей: экспрессу нужен точный адрес и интервал, доставке по России — выбор ПВЗ или адрес получателя.
API и авторизация
Интеграция идёт по REST API Яндекс.Доставки. Авторизация — по OAuth-токену, который передаётся в заголовке каждого запроса:
Authorization: OAuth ваш_токен
- Расчёт предложений — получение доступных вариантов и стоимости по маршруту.
- Пункты выдачи — список ПВЗ и постаматов с координатами.
- Создание заявки — оформление доставки и получение её идентификатора.
- Статусы — отслеживание состояния заявки.
Расчёт стоимости
Расчёт строится на запросе предложений (offers): вы передаёте точки маршрута, габариты и вес, а сервис возвращает доступные тарифы со стоимостью и сроком. Для экспресса цена зависит от расстояния и класса авто, для доставки по России — от направления и типа пункта.
- Определяем адрес или ПВЗ получателя.
- Собираем габариты и вес заказа.
- Запрашиваем предложения по маршруту.
- Показываем клиенту релевантные варианты и сроки.
ПВЗ, постаматы и карта
Для доставки по России клиенту нужно выбрать пункт выдачи или постамат. Список точек берётся из API и выводится на карте на шаге доставки. По выбору сохраняем идентификатор пункта в свойство заказа.
- Кэшируйте список пунктов локально — обновляйте по расписанию агентом.
- Фильтруйте постаматы по габаритам заказа.
- Показывайте режим работы и способ оплаты в пункте.
Поскольку речь о картах, здесь органично ложатся Яндекс.Карты — тот же геосервис, что и у остальной экосистемы, что упрощает отрисовку точек и построение маршрута.
Создание заявок и трекинг
После оплаты заказ превращается в заявку на доставку. В запросе — точки маршрута, состав, габариты, контакты получателя и выбранный вариант. Сервис возвращает идентификатор заявки, который сохраняется в заказ.
Статусы удобно принимать событиями: заявка принята, курьер назначен, в пути, доставлено. Для доставки по России отслеживается движение до пункта и факт вручения. Обработчик меняет статус заказа в Битриксе и уведомляет клиента.
| Этап | Что происходит |
|---|---|
| Создание заявки | Заказ уходит в Яндекс.Доставку, приходит ID |
| Назначение курьера | Экспресс: подача курьера к точке А |
| Доставка | Смена статусов, трекинг |
| Завершение | Вручение или возврат |
На что обратить внимание
Несколько моментов, которые всплывают при внедрении Яндекс.Доставки.
- Разные продукты — разные поля. Не пытайтесь описать экспресс и межгород одной формой; разведите их логику.
- Точность адреса. Для экспресса геокодинг обязателен, иначе курьер приедет не туда.
- Интервалы подачи. Экспресс работает с временными окнами — учитывайте их в оформлении.
- Габариты. И для расчёта, и для выбора постамата нужны корректные размеры.
- Отмены и возвраты. Предусмотрите обработку отмены заявки и возврата, чтобы статус заказа не завис.
Итог
Яндекс.Доставка в 1С-Битрикс — это две логики в одной интеграции: экспресс-курьер по городу и доставка по России с ПВЗ и постаматами. Ключевые узлы — расчёт предложений по OAuth-API, выбор пункта на карте, создание заявок и приём статусов. Для экспресса критична точность геокодинга.
Мы в B2Bsite подключаем Яндекс.Доставку под оба сценария: настраиваем расчёт, встраиваем карту ПВЗ, автоматизируем заявки и трекинг, связываем доставку с 1С и CRM. Если Яндекс не единственная служба, собираем все варианты в едином окне чекаута.
Частые вопросы
Какие сценарии закрывает Яндекс.Доставка?
Два: экспресс-доставку курьером по городу за пару часов и доставку по России с выдачей в ПВЗ, постамате или до двери. Оба подключаются как обработчики доставки в модуле sale, но с разным набором полей.
Как авторизуется интеграция?
По OAuth-токену, который передаётся в заголовке Authorization каждого запроса к REST API. Для отладки у Яндекса есть тестовая среда, где заявки создаются без реальных курьеров.
Как считается стоимость?
Через запрос предложений: передаются точки маршрута, вес и габариты, сервис возвращает доступные тарифы со стоимостью и сроком. Для экспресса цена зависит от расстояния, для межгорода — от направления и типа пункта.
Можно ли выбирать ПВЗ на карте?
Да. Для доставки по России список пунктов и постаматов берётся из API и выводится на карте на шаге доставки. Идентификатор выбранного пункта сохраняется в свойство заказа.
Почему для экспресса важен геокодинг?
Стоимость и подача курьера зависят от точных координат адреса. Ошибка в геопривязке даёт неверную цену и приводит к тому, что курьер приезжает не туда, поэтому адрес подтверждают на карте.
Как отслеживать статус заказа?
После создания заявки сервис возвращает её идентификатор, а статусы принимаются событиями: заявка принята, курьер назначен, в пути, доставлено. Обработчик меняет статус заказа в Битриксе и уведомляет клиента.
Нужно ли обрабатывать отмены?
Да. Отмена заявки и возврат должны корректно менять статус заказа, иначе он зависнет в промежуточном состоянии. Эту логику закладывают на этапе интеграции.
Поможем с настройкой и поддержкой Интеграции и связки систем
Поможем с настройкой, доработкой и поддержкой Интеграции и связки систем.