Интеграция интернет-магазина с агрегатором доставки

СДТ (Сервис Дистанционной Торговли) — крупнейший фулфилмент-оператор в России, предлагающий широкий спектр услуг под ключ для интернет-магазинов и маркетплейсов. Оператор располагает 6 современными складами общей площадью более 100 000 м² и работает круглосуточно, что позволяет эффективно управлять логистическими процессами и обеспечивать высокое качество обслуживания.

Проблема

Интернет-магазину был нужен новый фулфилмент (доставка товаров) по всей России наиболее удобным для покупателя способом - курьером и в пункт выдачи (СДЭК, X5 - магазины пятерочки, Boxberry, автоматические пункты выдачи, Почта России и т.д.). При этом интеграция должна была забирать и отдавать в API агрегатора доставки всю необходимую информацию: наличие товаров на складе, статус оплаты, дату, адрес доставки, текущий статус обработки заказа, статус доставки вплоть до статуса «Вручен»

Решение

  • Программисты “Пиксель Плюс” интегрировали API СДТ с интернет-магазином bona-planta.ru.
  • Сопоставили все статусы заказов, что присутствуют в API и должны быть в админке интернет-магазина.
  • Совместно со службой поддержки фулфилмента решили сложные вопросы взаимодействия API и функционала интернет-магазина.
  • Внесли доработки в готовое решение АСПРО на платформе Битрикс для удобства пользователей сайта и администратора.

Реализация

Что требовалось

Требовалось интегрировать текущее API СДТ согласно технической документации и пожеланиям интернет-магазина bona-planta.ru

Ниже приведена часть технического задания:

1. Остатки
  • Необходимо постоянное онлайн обновление остатков на сайте на основе информации об остатках в базе фулфилмента (далее ФФ).
  • При наличии остатков в базе ФФ товар должен быть доступен к заказу на сайте.
  • В заказе при сохранении необходимо проверять наличие на складе ФФ и сравнивать количество.
  • В заказе нельзя добавить количество товара больше, чем на остатках ФФ.
  • При сохранении заказа (и передаче в базу ФФ) на складе ФФ товары из заказа (позиции и количества) должны встать в резерв и остатки на ФФ должны уменьшится на соответствующее количество (из заказа).
2. Схема доставки
  • Требуется настроить на основе информации из базы ФФ возможность выбора способа доставки в заказе в интернет-магазине (при указании курьерской службы достаточно указание адреса, при выборе "через ПВЗ" необходим выбор из списка доступных ПВЗ).
2.1. Доставка курьером
  • При выборе данного варианта не требуется внесение предоплаты для оформления заказа.
  • При оформлении предлагается выбрать предоплата или оплата курьеру при получении.
2.2. Доставка в пункт выдачи
  • Требуется внесение предоплаты на сайте через оплату банковской картой.
  • В заказе интернет-магазина существуют соответствующие статусы: ожидает оплаты, оплата получена.
3. Заказ
  • Отдельно сопоставить статусы, существующие в интернет-магазине и ФФ.
  • У заказа на сайте есть признак: “предоплачен” или “оплата не внесена” и требуется получить оплату от клиента по факту доставки. Данный признак должен передаваться в ФФ для информации о необходимости получения оплаты или ее отсутствия.
  • Необходимо синхронизировать статусы: если на сайте клиент отменит заказ на любой стадии - информация отправляется в ФФ и товар в заказе должен возвращаться на склад ФФ.
  • Также все изменения статусов заказа на стороне ФФ должны передаваться в заказы на сайте.

Что сделали

  • Интегрировали новую службу доставки на тестовый сайт.
  • Протестировали все возможные варианты взаимодействия тестового API и тестового сайта.
  • Перенесли работу на боевой сайт и боевое API
  • Протестировали в реальном мире все варианты доставки товара из интернет-магазина до покупателя:
    1. Доставка в пункт выдачи, оплата на сайте
    2. Доставка курьером при предоплате на сайте
    3. Доставка курьером при оплате курьеру

Итоги работы

  • При оформлении заказа на сайте используется api от ao-sdt.ru.
  • Все оплаченные заказы моментально передаются в службу доставки и на обработку.
  • Заказы с оплатой курьеру при получении правильно работают и отображаются на сайте и в личном кабинете службы доставки.
  • При отмене заказа на сайте заказ отменяется в службе доставки.
  • При отмене заказа в личном кабинете СДТ заказ отменяется в админке сайта.
  • Все товары интернет-магазина доставляются покупателям наиболее удобным способом по всей России.
Заказать