Покупатель оформляет заказ, выбирает пункт выдачи и ждёт уведомления. Если сайт показывает только «заказ передан в доставку», оператору трудно понять, где находится отправление: на сортировке, в пути или уже доступно к получению.
Интеграция интернет-магазина со службами доставки связывает сайт с внешней системой обмена. Сайт передаёт сведения о заказе и получателе, получает условия доставки, статусы и данные пунктов выдачи. До разработки заказчик описывает путь заказа: от выбора способа получения до вручения, отмены или возврата.
Какие данные передаёт интернет-магазин службе доставки
Набор данных зависит от сценария. Для курьерской доставки могут потребоваться контакты получателя, адрес, состав заказа и параметры отправления. Для пункта выдачи добавляется идентификатор выбранной точки. Если в проекте предусмотрена оплата при получении, правила её обработки согласуют отдельно.
Поля с похожими названиями не всегда совпадают по структуре. Адрес на сайте может храниться одной строкой, а внешняя система ожидать город, улицу, дом, корпус и квартиру по отдельности. Такая же проверка нужна для телефона, комментария к доставке, веса, габаритов и состава вложения.
Заказчик фиксирует в требованиях:
- какие поля сайт отправляет при создании отправления;
- на каком этапе заказ передают в доставку;
- какие данные внешний сервис возвращает на сайт;
- может ли сотрудник изменить адрес или способ получения после оформления;
- как обрабатываются отмена заказа, частичная отмена и возврат;
- кто разбирает ошибку, если внешняя система не приняла заявку.
Если магазин работает на «1С-Битрикс: Управление сайтом», интеграция затрагивает заказ, каталог и интерфейс сайта. Внутренний порядок работы сотрудников описывают отдельным документом, чтобы не смешивать его с обменом между сайтом и службой доставки.
Расчёт доставки в корзине и при оформлении заказа
До оформления заказа сайт может запросить доступные варианты доставки для текущей корзины. На ответ влияют город, адрес или пункт выдачи, состав заказа, вес, габариты, объявленная ценность и другие параметры, предусмотренные проектом.
Пока покупатель не указал адрес или не выбрал пункт выдачи, данных для запроса может не хватать. Заказчик и разработчик заранее согласуют поведение интерфейса: показывать предварительный вариант, предложить выбрать город или не выводить результат до заполнения нужных полей.
Расчёт при выборе доставки и создание отправления могут дать разные результаты. В требованиях нужно определить, какой ответ сайт считает актуальным и что происходит, если после изменения корзины выбранный способ перестал быть доступен.
Перед разработкой подрядчик уточняет обязательные параметры расчёта, обработку товаров без веса или габаритов, использование данных упаковки и порядок записи ошибок внешнего ответа. Это помогает избежать ситуации, когда сайт показывает вариант доставки, который не удаётся подтвердить при создании отправления.
Статусы заказа и отслеживание отправления
Статус заказа на сайте и статус перевозки описывают разные события. Заказ может быть подтверждён, но ещё не передан службе доставки. Отправление может находиться в пути, ожидать получения, быть вручённым, отменённым или возвращаться отправителю.
Для обмена составляют таблицу соответствий: внешнее событие, статус на сайте, текст для покупателя и действие сотрудника. Технические обозначения сохраняют для диагностики, а в личном кабинете выводят понятное описание состояния отправления.
Обновления можно получать регулярными запросами к внешней системе или через её уведомления. Разработчик обрабатывает задержки, повторную доставку одного события и временную недоступность сервиса. Запоздалый ответ не должен менять статус назад, если такой переход не предусмотрен сценарием.
В интерфейсе обычно достаточно состояний: отправление создано, передано перевозчику, находится в пути, доступно к получению, вручено, возникла проблема. Формулировки и переходы зависят от данных подключаемой службы доставки.
Пункты выдачи заказов на карте и в списке
Выбор пункта выдачи требует не только карты с метками. Покупателю нужны сведения о расположении точки и её доступности для выбранного заказа. Данные могут меняться: пункт закрывается, временно не принимает отправления или меняет график.
Заказчик определяет сценарий выбора: карта, поиск по адресу, список или их сочетание. Для мобильной версии особенно полезен поиск, когда рядом много точек.
Разработчик проверяет, какие сведения возвращает внешняя система и какие данные нужно сохранить на сайте. Если при создании отправления требуется точный идентификатор пункта, одного адреса недостаточно: похожие адреса могут относиться к разным точкам.
Отдельно согласуют ситуацию, когда выбранный пункт стал недоступен до передачи заказа. Покупателю можно предложить выбрать другую точку, а заказ передать оператору для обработки. Автоматическая замена допустима только при заранее заданном и понятном условии.
Ошибки обмена со службой доставки
Ошибка может появиться из-за неполного адреса, отсутствующего параметра товара, повторной передачи заказа, изменения формата ответа или временной недоступности внешней системы.
Ошибка расчёта при оформлении заказа и ошибка создания отправления после оплаты требуют разных действий. В первом случае сайт показывает покупателю доступный способ продолжить оформление. Во втором оператор видит, что заказ не передан, а повторный запуск не создаёт дубликат.
В проектной документации фиксируют:
- где хранятся технические ответы и идентификаторы отправлений;
- как система отличает повторный запрос от нового;
- какие ошибки разработчик обрабатывает повторной попыткой, а какие передаёт сотруднику;
- где оператор видит причину сбоя;
- что происходит с заказом, пока передача не подтверждена;
- как проверяют отмену, возврат и недоступность внешней системы.
Заказчик и разработчик согласуют тестовые сценарии в требованиях, затем проверяют их перед запуском интеграции. В набор входят заказ с несколькими позициями, доставка по адресу, получение в пункте выдачи, изменение заказа до отправки и ошибка внешнего ответа. Формулировка «интеграция работает» не заменяет результаты таких проверок.
Как выбрать способ интеграции со службой доставки
Способ подключения зависит от доступных методов обмена и задач интернет-магазина. Одному проекту достаточно передавать оформленные заказы и получать статусы. Другому требуется расчёт на сайте, выбор пункта выдачи, отмена отправления, обработка возврата или работа с документами в отдельном контуре.
Перед выбором решения заказчик отвечает на практические вопросы: какие способы получения доступны покупателю, нужен ли расчёт до оформления, кто создаёт отправление, где оператор разбирает ошибки, нужно ли показывать статусы в личном кабинете и какой источник данных использовать при расхождениях.
Готовый модуль проверяют по полям, статусам, правилам оформления и ограничениям конкретного проекта. Индивидуальная разработка рассматривается, если типовой вариант не передаёт нужные данные, не поддерживает согласованную последовательность действий или оставляет сотрудникам постоянную ручную работу.
Часто задаваемые вопросы
- Что подготовить до интеграции интернет-магазина со службой доставки?
Заказчик описывает способы получения заказа, поля адреса, правила передачи заказа, отмены и возвраты. Для проверки обмена пригодятся примеры товаров с разными параметрами и несколько типовых заказов.
- Почему доставка исчезает после изменения корзины?
После изменения количества товаров, состава заказа, адреса или пункта выдачи внешний сервис может вернуть другой набор вариантов. В требованиях фиксируют момент повторного запроса и сообщение, которое увидит покупатель при недоступности прежнего выбора.
- Нужно ли показывать в личном кабинете все статусы перевозчика?
Нет. В личном кабинете оставляют статусы, которые помогают покупателю понять состояние отправления. Технические сведения сохраняют для сотрудников, разбирающих ошибки и спорные ситуации.
- Как избежать повторного создания отправления?
Разработчик сохраняет внешний идентификатор отправления и реализует правила повторной отправки запроса. При сбое система сначала проверяет результат предыдущей попытки, а затем решает, создавать ли новое отправление.
- Что делать, если внешний сервис не принимает выбранный пункт выдачи?
Сайт выводит понятное сообщение и запускает согласованный сценарий: покупатель выбирает другую точку, уточняет данные или заказ передают оператору. Условия замены пункта и порядок уведомления определяют до запуска интеграции.