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