Настроить службы доставки в битрикс. Битрикс: создание обработчика автоматизированной службы доставки. Как отправлять заказы в Яндекс.Доставку

  • Tutorial

В предыдущей статье мы рассмотрели процесс установки нового компонента оформления заказов. Он несколько дней обкатался на проекте, и пришла пора воспользоваться теми возможностями, ради которых стоило переходить на новую платформу «1С-Битрикс».

Автоматическая подстановка города по умолчанию

Этот пример будет полезен как небольшим региональным магазинам, так и крупным проектам.

Регион доставки - это первый из главных элементов процесса оформления заказа. Допустим, нам нужно использовать автоматическую подстановку названия «Калининград» для увеличения конверсии и уменьшении проблем с оформлением заказов.

Сейчас при первом входе это выглядит вот так:

Клиенты, конечно, могут щелкнуть по кнопке «Калининград», после чего поле заполнится, но многие просто пропускают этот шаг, в результате получая ошибку:

Данную проблему выявил «Вебвизор Метрики». Конечно, после этого клиент уже заполняет всё правильно, но осадок остается, несмотря на то, что во многих магазинах важным критерием является самовывоз (до 80% заказов), а в этом случае правильность заполнения названия города не критична.

Давайте проставим город по умолчанию и посмотрим, сработает ли подстановка. Зайдем в административный раздел магазина, и далее в настройки свойств:

И настраиваем местоположение по умолчанию:

Теперь для проверки оформим заказ:

Отлично, местоположение заполнено и клиенту достаточно нажать «Далее». Теперь заказ будет оформляться с минимальными неудобствами для клиента, а мы максимально увеличим конверсию. Что касается крупных магазинов, то они могут собрать статистику по частоте заказов из тех или иных городов, и сделать кнопки быстрого выбора, как на скриншоте: «Калининград», «Зеленоградск», «Светлогорск».

Можно установить самый популярный город по умолчанию, ведь всегда проще изменить его или уточнить по телефону, чем потерять клиента.

Дополнительные ограничения в оплате

Следующим шагом в оформление заказа идет блок с оплатой. Одним из видов ограничений может быть запрет на расчет наличными при доставке курьером. Это может быть полезно в тех случаях, когда карьерами работают женщины, здоровьем которых не хочется рисковать при перевозке больших сумм.

Введем ограничение с привязкой к определенным службам доставки и максимальной сумме чека. Для этого идем в административный интерфейс на вкладку «Ограничения», для конкретного способа оплаты:

В данном случае нужно будет сделать две системы оплаты наличными:

  • в одной ограничим использование для точки самовывоза, но без ограничений по цене,
  • а во второй будем ограничиваться курьерскими службами, и добавим ограничение по сумме.
Сначала установим ограничение по цене:

Теперь ограничения по доставкам:

В итоге у нас получается следующее:

Проверим оформление заказа с товарами на сумму менее 10 000 рублей и доставкой курьером:

Всё отлично, требуемая оплата есть, заказ можно оформить.

Проверим с товаром более 10 000 рублей:

Замечательно, наличная оплата отсутствует, можно оформить заказ с оплатой другими способами, не рискуя курьерами и деньгами.

При введении ограничений клиенты не видят «запрещенные» способы оплаты и поэтому не будут ругаться с операторами, которым в противном случае пришлось бы постоянно объяснять, почему ваша компания не повезет оформленный заказ.

Дополнительные услуги в доставках

Нас часто просили дать возможность создавать требуемые услуги в доставках. В новой платформе это было реализовано. Польза от дополнительных услуг заключается в увеличении среднего чека заказа.

Идем в настройки доставок:

В интерфейсе появилась отдельная вкладка с дополнительными услугами, которые будут отображаться в блоке доставок. Поддерживаются услуги трех видов:


Давайте посмотрим, как настраиваются подобные правила:

Настройки для всех типов услуг очень похожи: есть два блока, которые и управляют основными элементами. В первую очередь нужно задать название и описание услуги. Затем укажите, кто может использовать услугу:

  • Менеджер - услуга будет отображаться в административном интерфейсе.
  • Клиент - услуга будет отображаться во время оформления заказа в публичной части сайта.
Вот так выглядит добавление услуги в административном интерфейсе, при создании заказа или внесении правок:

Динамический «Ввод личных данных»

Доставки оформлены, теперь можно перейти к одному из важнейших элементов в оформлении заказа, - запросу у пользователя данных для доставки или отгрузки. В предыдущем компоненте у клиента запрашивался одинаковый набор полей. Ему приходилось выбирать, какие поля стоит заполнять, что несколько неудобно.

Новый компонент оформления заказа умеет запрашивать различные наборы полей. Чаще всего владельцы магазинов уменьшают количество информации, которую нужно ввести при самовывозе. Пожалуй, в этом случае нам будет достаточно знать:

  • Телефон.
  • E-mail. Этот пункт тоже можно убрать, но иногда хочется «баловать» клиента рассылками о новинках.
Перейдем в административный раздел «Свойства заказа» -> «Список свойств», и выберем для изменения свойство адрес:

Привяжем только те «Службы доставки», у которых должно отображаться данное поле. Затем идем в публичный раздел и пробуем оформить заказ. Выбираем самовывоз и видим, что магазин не спрашивает у нас адрес доставки.

Это полезная и долгожданная функциональность. Ведь согласитесь, что не слишком приятно отвечать на вопросы клиентов: «А зачем вам мой адрес, если я собираюсь забрать заказ самостоятельно?». Теперь этого делать не требуется.

Пункт выдачи заказа

Напоследок хочется рассказать об изменениях в блоке выбора «Пунктов выдачи заказа». В предыдущей версии основные нарекания были на проблемы с отображением большого количества точек самовывоза, мелкую карту, отсутствие автоматического выбора пункта самовывоза (если он был один, например).

В новой версии компонента появилась настройка способа отображения пункта выдачи заказов. Если он единственный в каком-либо городе, то сразу показываем свернутый блок и выводим все его данные с картинкой, или показываем блок развернутым. В первом случае, для отображения карты вам нужно будет войти в блок, а во втором - карта будет сразу отображена.

Давайте реализуем первый вариант:

Если же отображать блок развернутым, то клиент увидит следующую картину:

На этом мы заканчиваем наш небольшой туториал. Мы будем продолжать знакомить вас с особенностями новых версий наших продуктов, следите за нашим блогом.

    С ребятами работаем уже 2 года. Отличная команда, отличный подбор программистов.
    Практически в любое время суток есть связь с руководителями. Критичные вопросы можно решить даже в 2 часа ночи (для нас как интернет-проекта это очень важно).

    Время, когда начинали сотрудничество с Атлантом сейчас вспоминается с легкой ухмылкой. А тогда - все было очень плохо.
    Решили кардинально изменить сайт — старый "снести" и перейти на 1С-Битрикс.

    Разработку сайта поручили фрилансеру. Он все сделал, сверстал сайт. Но прямо перед запуском у него случились какие-то трудности, 2 недели мы без связи. О нем ничего плохого сказать не могу, но - факт на лицо. Мы остались с недоработанной копией сайта (более 30 критичных доработок).

    Как быть в такой ситуации - понятия не имели. Стали искать среди Золотых партнеров Битрикса, которые могли бы нам помочь в сложившейся ситуации.
    Написали порядка сотни запросов.
    Ответ от Атланта выделялся среди всех! Стоимость за работы оказалась одной из самых низких. Уверенность придавала пошаговая инструкция, что ребята собираются сделать с сайтом.

    В итоге, запустили сайт, работаем с ними и ни разу не пожалели!
    В первые 6 месяцев после начала сотрудничества - у нас рост продаж в 2 раза. Ставим любые, даже самые сложные задачи. Все выполняется.
    Удобно, что все в одном месте: работы по сайту, 1С, хостинг, seo, дизайн и т.д.
    Рекомендуем!

    Андрей Рудый (Директор - LEDPremium)

    Работаем с компанией Атлант уже два года.
    Всегда раскладываем яйца по разным корзинам и работали сразу с несколькими аутсорсерами.
    За год перевели на "Атлант" от 20 до 70% выполнения задач по верстке сайта и настройке 1С.
    Год за годом удивляемся развитию и прогрессу компании и радуемся за свой удачный выбор.
    Уровень программистов стал выше - цены в пределах рынка, реакция руководства моментальная.
    Как обычно когда все хорошо даже не знаешь что выделить и нет повода писать отзыв.
    Ребята целиком создали наш ресурс www.datakam.ru
    От стандартного визуально убожественного Б24 не оставили камня на камне.
    Наши маркетологи, в ежемесячных отчетах, показывают мне как руководителю, положительный эффект изменений на сайте и в автоматизации оформления документов. Есть толк. В деньгах. В рублях.
    Честно и откровенно рекомендуем этот творческий коллектив как надежного партнера в работе.
    Самое смешное что мы никогда не видели никого из руководства и сотрудников в глаза - и при этом удовлетворены качеством и скоростью выполнения задач.
    Рекомендуем.
    Отвечаем.

    Владислав Механцев (технический директор - datakam.ru)

    Работаем с Atlant уже более 2х лет, все устраивает: скорость выполнения работ и качество. Бывает, что не хватает программистов или не всегда сходимся в вопросах дизайна, но все вопросы получалось решить более-менее оперативно.

    Вполне доволен результатом. Спасибо.

    Дмитрий (Зам. ген. директора. - Souz.com)

Модуль имеет функционал автоматического расчета стоимости доставки на основе данных о товаре и адреса доставки.

Для расчета стоимости доставки постовых отправлений используется сервис postcalc.ru. Обратите внимание, что в бесплатном режиме данный сервис имеет ограничение на количество запросов в день. В случае, если вам требуется более 500 запросов в день, вам необходимо перейти на платный тарифный план. Подробную информацию по условиям использования сервиса postcalc.ru вы можете получить перейдя по ссылке .


Для того чтобы добавить на ваш сайт службу доставки "Почта России" с возможностью автоматического расчета стоимости выполните следующие шаги:
1. В административной панели вашего сайта перейдите по адресу Администрирование > Магазин > Настройки > Службы доставки .

2. На странице со списком служб доставок нажмите на кнопку "Добавить". В появившемся выпадающем списке выберите тип - "Автоматизированная служба доставки".

3. В открывшейся странице создания новой службы доставки перейдите во вкладку "Настройки обработчика".
4. В поле "Служба доставки" в выпадающем списке выберите пункт "Почта России " и сохраните выбор нажатием кнопки "Применить".

5. После сохранения созданной службы доставки, на странице редактирования появятся дополнительные вкладки:

  • Параметры
  • Профили
  • Ограничения
Вкладка "Параметры"


В данной вкладке содержаться параметры:

  • Прибавить к цене - в данном поле вы можете указать сумму дополнительной наценки, которая будет прибавлена с стоимости доставки.
  • Округление стоимости до 10 вверх - отметьте эту опцию чтобы включить округление стоимости доставки.
  • Выводить адрес почты - при отмеченной опции будет формироваться адрес почтового отделения получателя. В дальнейшем его можно будет вывести на странице оформления заказа.
  • Выводить телефоны почты - при включенной опции на будет формироваться телефон почтового отделения, в которое будет доставлено отправление.

При отмеченных опциях "Выводить адрес почты" и "Выводить телефоны почты" будет формироваться переменная $arResult["RESULT"]["TEXT"]. Вы можете вывести данную информацию в публичной части вставив код "echo $arResult["RESULT"]["TEXT"];" в шаблоне компонента, который вы используете для вывода информации о стоимости доставки.


Вкладка "Профили"




В данной вкладке содержаться предустановленные профили модуля "Почта России/EMS - расчет и отслеживание" . Вам доступен весь набор стандартных действий над профилями служб доставки: Копирование, Редактирование, Удаление. Действия доступны из меню индивидуальных действий записей списка профилей. Данный функционал является стандартным в системе Битрикс. Более подробную информацию вы можете получить на соответствующей странице документации системы Битрикс.

Вкладка "ограничения"




В данной вкладке содержаться настройки стандартного функционала Битрикс, позволяющего ввести ограничения на применение настраиваемой службы доставки.

Обращаем ваше внимание, что для корректных расчетов стоимости отправлений с помощью сервиса postcalc.ru необходима передача данных о весе и оценочной стоимости товаров, входящих в отправление. Удостоверьтесь в панели администрирования вашего сайта, что эти данные внесены корректно для товаров каталога. Также для расчетов необходима информация об адресе доставки отправления, а также об адресе отправителя. Информация об отправителе вносится в административном интерфейсе вашего магазина по адресу Администрирование - Настройки - Настройки Модулей - Интернет магазин. Далее на странице настроек магазина перейдите во вкладку "Адрес магазина". Для корректного расчета стоимости отправлений заполните поле "Индекс".



Возможны следующие варианты получения информации об адресе доставки:

  • Из поля "Индекс" в форме оформления - рекомендуемый вариант.
  • Из свойства "Город", полученного из поля "Местоположение" в форме оформления заказа
  • Из свойства "Индекс", полученного из поля "Местоположение" в форме оформления заказа - в случае если это свойство заполнено для местоположения.

Рекомендуем вам предусмотреть отдельное, обязательное для заполнения поле "Индекс" в форме оформления заказа. В этом случае покупатель должен будет явно указать почтовый индекс, на который требуется выполнить отправку, что позволит избежать возможных ошибок при расчетах стоимости отправления.

Мы рассмотрели процесс установки нового компонента оформления заказов. Он несколько дней обкатался на проекте, и пришла пора воспользоваться теми возможностями, ради которых стоило переходить на новую платформу «1С-Битрикс».

Автоматическая подстановка города по умолчанию

Этот пример будет полезен как небольшим региональным магазинам, так и крупным проектам.

Регион доставки - это первый из главных элементов процесса оформления заказа. Допустим, нам нужно использовать автоматическую подстановку названия «Калининград» для увеличения конверсии и уменьшении проблем с оформлением заказов.

Сейчас при первом входе это выглядит вот так:

Клиенты, конечно, могут щелкнуть по кнопке «Калининград», после чего поле заполнится, но многие просто пропускают этот шаг, в результате получая ошибку:

Данную проблему выявил «Вебвизор Метрики». Конечно, после этого клиент уже заполняет всё правильно, но осадок остается, несмотря на то, что во многих магазинах важным критерием является самовывоз (до 80% заказов), а в этом случае правильность заполнения названия города не критична.

Давайте проставим город по умолчанию и посмотрим, сработает ли подстановка. Зайдем в административный раздел магазина, и далее в настройки свойств:

И настраиваем местоположение по умолчанию:

Теперь для проверки оформим заказ:

Отлично, местоположение заполнено и клиенту достаточно нажать «Далее». Теперь заказ будет оформляться с минимальными неудобствами для клиента, а мы максимально увеличим конверсию. Что касается крупных магазинов, то они могут собрать статистику по частоте заказов из тех или иных городов, и сделать кнопки быстрого выбора, как на скриншоте: «Калининград», «Зеленоградск», «Светлогорск».

Можно установить самый популярный город по умолчанию, ведь всегда проще изменить его или уточнить по телефону, чем потерять клиента.

Дополнительные ограничения в оплате

Следующим шагом в оформление заказа идет блок с оплатой. Одним из видов ограничений может быть запрет на расчет наличными при доставке курьером. Это может быть полезно в тех случаях, когда карьерами работают женщины, здоровьем которых не хочется рисковать при перевозке больших сумм.

Введем ограничение с привязкой к определенным службам доставки и максимальной сумме чека. Для этого идем в административный интерфейс на вкладку «Ограничения», для конкретного способа оплаты:

В данном случае нужно будет сделать две системы оплаты наличными:

  • в одной ограничим использование для точки самовывоза, но без ограничений по цене,
  • а во второй будем ограничиваться курьерскими службами, и добавим ограничение по сумме.
Сначала установим ограничение по цене:

Теперь ограничения по доставкам:

В итоге у нас получается следующее:

Проверим оформление заказа с товарами на сумму менее 10 000 рублей и доставкой курьером:

Всё отлично, требуемая оплата есть, заказ можно оформить.

Проверим с товаром более 10 000 рублей:

Замечательно, наличная оплата отсутствует, можно оформить заказ с оплатой другими способами, не рискуя курьерами и деньгами.

При введении ограничений клиенты не видят «запрещенные» способы оплаты и поэтому не будут ругаться с операторами, которым в противном случае пришлось бы постоянно объяснять, почему ваша компания не повезет оформленный заказ.

Дополнительные услуги в доставках

Нас часто просили дать возможность создавать требуемые услуги в доставках. В новой платформе это было реализовано. Польза от дополнительных услуг заключается в увеличении среднего чека заказа.

Идем в настройки доставок:

В интерфейсе появилась отдельная вкладка с дополнительными услугами, которые будут отображаться в блоке доставок. Поддерживаются услуги трех видов:

  • Список услуг. Клиенту предлагается выбрать какой-то пункт из списка услуг. По умолчанию выбирается первый пункт, поэтому, если вам не требуется увеличения цены, то первая услуга в списке должна быть с нулевой ценой.

Количественная услуга. Создается услуга с ценой за единицу, а клиент может указать, какое количество ему требуется.

Единичная услуга. Самостоятельная услуга, отображается как чек-бокс. По умолчанию не применяется, клиент должен самостоятельно выбрать нужную.

Давайте посмотрим, как настраиваются подобные правила:

Настройки для всех типов услуг очень похожи: есть два блока, которые и управляют основными элементами. В первую очередь нужно задать название и описание услуги. Затем укажите, кто может использовать услугу:

  • Менеджер - услуга будет отображаться в административном интерфейсе.
  • Клиент - услуга будет отображаться во время оформления заказа в публичной части сайта.
Вот так выглядит добавление услуги в административном интерфейсе, при создании заказа или внесении правок:

Динамический «Ввод личных данных»

Доставки оформлены, теперь можно перейти к одному из важнейших элементов в оформлении заказа, - запросу у пользователя данных для доставки или отгрузки. В предыдущем компоненте у клиента запрашивался одинаковый набор полей. Ему приходилось выбирать, какие поля стоит заполнять, что несколько неудобно.

Новый компонент оформления заказа умеет запрашивать различные наборы полей. Чаще всего владельцы магазинов уменьшают количество информации, которую нужно ввести при самовывозе. Пожалуй, в этом случае нам будет достаточно знать:

  • Телефон.
  • E-mail. Этот пункт тоже можно убрать, но иногда хочется «баловать» клиента рассылками о новинках.
Перейдем в административный раздел «Свойства заказа» -> «Список свойств», и выберем для изменения свойство адрес:

Привяжем только те «Службы доставки», у которых должно отображаться данное поле. Затем идем в публичный раздел и пробуем оформить заказ. Выбираем самовывоз и видим, что магазин не спрашивает у нас адрес доставки.

Это полезная и долгожданная функциональность. Ведь согласитесь, что не слишком приятно отвечать на вопросы клиентов: «А зачем вам мой адрес, если я собираюсь забрать заказ самостоятельно?». Теперь этого делать не требуется.

Пункт выдачи заказа

Напоследок хочется рассказать об изменениях в блоке выбора «Пунктов выдачи заказа». В предыдущей версии основные нарекания были на проблемы с отображением большого количества точек самовывоза, мелкую карту, отсутствие автоматического выбора пункта самовывоза (если он был один, например).

В новой версии компонента появилась настройка способа отображения пункта выдачи заказов. Если он единственный в каком-либо городе, то сразу показываем свернутый блок и выводим все его данные с картинкой, или показываем блок развернутым. В первом случае, для отображения карты вам нужно будет войти в блок, а во втором - карта будет сразу отображена.

Решаем проблему вывода автоматизированных служб доставки интернет-магазина Битрикс v14 при оформлении заказа на Яндекс.Маркете.

Речь пойдет вот об этом, оказывается не сделано, работают только настраиваемые службы, сегодня это исправим.
Тут я тестирую оформление заказа в панели Яндекс.Маркет, покупателю будет выводиться тоже самое, когда он будет оформлять заказ на Яндекс.Маркете.

Выбор автоматизированных служб

Сначала нам нужно добавить автоматизированные службы доставки в настройка модуля Интернет-магазина в разделе Покупки на маркете

Т.к. по умолчанию их там нет и модуль интернет-магазина обновлять мы уже не сможем, я редактирую прямо в модуле, т.к. в моем случае если обновить магазин, то у клиента все перестанет работать, что в вашем случае делать я не знаю, подумайте, в новом магазине Битрикс v16 возможно это тоже не будет работать.

Настройки задаются в административной странице в файле
/bitrix/modules/sale/admin/ymarket.php

Настраиваемые службы там есть до Самовывоз , а ниже это я вывел автоматизированные службы доставки, у всех значение например Почта , в моем случае была нужна только почта, если нужно что-то другое, будет несложно доработать, т.к. принцип будет ясен, где и что делать, но выводиться будут все автоматизированные службы, возможно и работать будут, просто я это не проверял.

Итак, находим где в файле формируется массив настраиваемых служб $arDeliveryList и добавляем к нему автоматизированные

$arDeliveryFilter = array(
"LID" => $arTab["SITE_ID"],
"ACTIVE" => "Y"
);

//STATIC DELIVERY
$dbDeliveryList = CSaleDelivery::GetList(
array("NAME" => "ASC"),
$arDeliveryFilter,
false,
false,
array("ID", "NAME")
);

$arDeliveryList=array();
while ($arDelivery = $dbDeliveryList->Fetch())
$arDeliveryList[$arDelivery["ID"]] = $arDelivery["NAME"];

//AUTOMATIC DELIVERY
$dbRes = CSaleDeliveryHandler::GetList(
array("NAME" => "ASC"),
$arDeliveryFilter
);
while($delivery = $dbRes->Fetch())
{
$deliveryId = ($delivery["ID"] ? $delivery["ID"] : $delivery["SID"]);
$arDeliveryList[ $deliveryId ] = $delivery["NAME"];
}


Далее находим блок вывода доставок и добавляем в список опцию для почты, в моем случае она была закомментирована, у вас скорее всего все тоже самое будет.

Вот так готовый селект выглядит, который выводит службы доставки в админке

$deliveryName):
$selected = isset($siteSetts["DELIVERIES"][$deliveryId]) ? $siteSetts["DELIVERIES"][$deliveryId] : "";
?>


С настройками все, осталось доработать скрипт на который приходят запросы с Яндекс.Маркета , он и говорит маркету, какие доставки показать покупателю при оформлении заказа на Яндекс.Маркете .

Запросы Яндекс.Маркет

Все запросы с Яндекс.Маркета в Битрикc приходят сначала в этот файл, в нем только подключение другого файла
/bitrix/services/ymarket/index.php

В том файле подключается само API Битрикс для взаимодействия Яндекс.Маркета с вашим интернет-магазином
/bitrix/modules/sale/services/ymarket/index.php

В этом файле интересует метод, который идет дальше, к нужному нам файлу для изменений, в этом ничего не меняем
$result = $YMHandler->processRequest($requestObject, $method, $postData);

А вот и наш файл, в котором вся логика взаимодействия Битрикса с Яндекс.Маркетом, работает с ним
/bitrix/modules/sale/general/ym_handler.php

Я ни сразу статью писал, какое-то время функционал тестировался и исправлялись ошибки, даже если что-то забыл сказать, файлы я прикрепил, можно разобраться.

Вообще, если в этом файле вы изменения ранее никакие не вносили на своем сайте, можете попробовать полностью мой файл, в нем кроме доставок ничего не изменялось, все рабочее.

Итак, какие были изменения в классе CSaleYMHandler
1) Добавлена переменная, в которой будет храниться полная информация о товарах в корзине для расчета доставки автоматизированными службами доставки.
protected $basketItems = array();

2) Изменен метод, который слушает корзину на маркете, получает информацию о товарах (корзине) и возвращает службы доставки и способы оплаты
protected function processCartRequest($arPostData)

3) Изменен метод, который получает информацию о товарах в корзине на маркете (id, цена, количество, вес, габариты и т.д.)
protected function getItemCartInfo($arItem, $currency)

4) Изменен метод, который получает информацию о местоположении покупателя, доступные ему службы доставки по фильтру, считает доставку и показывает ее покупателю на маркете.
protected function getDeliveryOptions($delivery, $price, $weight = 0, $arBasketItems = array())

Вот в этом методе рассчитываются настраиваемые и автоматизированные службы доставки Битрикс .

Обратите здесь внимание!

В моем случае магазин находится в Москве и для Москвы все автоматизированные службы доставки отключены, для покупателя из Москвы они показываться не должны, там Самовывоз и курьерская доставка работает, в коде это условие (стр. 432):
if($locationTo == 2691) continue;

5) Изменен метод, который добавляет на вашем сайте заказ, говорит маркету "Все ок" и возвращает его номер Яндекс.Маркету
protected function processOrderAcceptRequest($arPostData)

Конкретно строка 911, в ней получаем Номер заказа , это либо ID заказа , либо Код заказа при включенной нумерации заказа по шаблону
$arResult["order"]["id"] = $this->getOrderNumber($orderID);

6) Добавлен метод, который вернет на Яндекс.Маркет номер заказа на вашем сайте (ID заказа или Код-заказа)
protected function getOrderNumber($orderId)

Дополнительно

Еще на сайте загружены местоположения 2.0 , делал я это в прошлом 2015 году, помню была проблема с Яндекс.Маркетом, неправильно Битрикс искал местоположения и Яндекс.Маркет сообщал об ошибке, вот где я это делал уже не помню, я добавил на всякий случай в архив файл ym_location.php если найдете, сообщите пожалуйста, я дополню статью этим моментом.

Заключение

При оформлении заказа на Яндекс.Маркете покупатель будет видеть список доставок в таком виде, их возвращает ваш магазин.

Файлы используемые в статье, все разложено по папочкам, где найти какой файл будет несложно.