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

Задача выглядит переводческой, но по сути она диспетчерская. Перевод статуса — работа на день. Ценность появляется там, где перевозчик молчит: у каждого состояния должен быть ожидаемый срок следующего события, и при его превышении сообщение уходит клиенту раньше, чем клиент напишет вам сам. Магазины, которые делают только перевод и не делают срок, снимают примерно треть обращений вместо двух третей.

Ниже — шкала из шести состояний, сопоставление с типовыми формулировками служб, техническая часть с приёмом событий, каналы уведомления на сентябрь 2026 года и расчёт на 1 000 отправлений. В конце — порог, ниже которого свою шкалу строить не надо.

Почему статус перевозчика нельзя показывать как есть

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

  • Разная длина лестницы. У одной службы четыре состояния, у другой девять. Клиент, заказавший два товара разными перевозчиками, видит несопоставимые картины и решает, что один заказ завис.
  • Служебный язык. «Убытие из ММПО», «принято в ОПС», «передано на линейно-сортировочный узел» — внутренняя телеметрия. Каждый такой статус в личном кабинете превращается в обращение в поддержку.
  • Неравномерность событий. На магистрали событие может не приходить трое суток, и это нормальный ход перевозки. Для клиента трое суток тишины — признак потери.
  • Одинаковые слова с разным смыслом. «Доставлено» у одной службы означает вручение, у другой — прибытие в пункт выдачи. Автоматический запрос отзыва по этому слову уходит человеку, который товар ещё не держал в руках.

Отсюда правило, которое стоит принять до всякой разработки: собственная шкала — часть вашего продукта, а не отображение чужого API. Она живёт в вашей базе, переживает смену перевозчика и не меняется, когда служба переименовывает свои статусы. Так же мы относимся к остальным справочникам компании — в материале про учёт остатков в реальном времени это тот же принцип, только про товар.

Шкала из шести состояний

Шесть состояний покрывают путь от сборки до вручения. Больше — ступени перестают различаться, меньше — исчезает информация о магистрали. К шести нормальным добавляются два нештатных. Нештатные не занимают место в лестнице, а подсвечивают текущую ступень: заказ не откатывается назад, он остаётся там же, но с пометкой.

СостояниеЧто видит клиентНорма до следующего события
1. СобираемЗаказ собирается на складе1 рабочий день
2. Передали перевозчикуЗаказ передан в службу доставки1 рабочий день
3. Едет к вамЗаказ в пути в ваш город3 дня, на дальних направлениях 5
4. В вашем городеЗаказ прибыл в ваш город1 рабочий день
5. Можно забратьЖдёт в пункте выдачи или едет курьером3 дня хранения до напоминания
6. ПолученЗаказ у васКонечное состояние
ЗадержкаЗаказ идёт дольше обычного, мы следимПовторная проверка через сутки
ПроблемаЧто-то пошло не так, мы разбираемсяОтвет человека в тот же день
Норму берут из своей истории, а не из обещаний службы

Заявленный срок доставки и фактический интервал между событиями — разные величины. Рабочий способ: взять свои отправления за 90 дней, посчитать по каждому состоянию медиану времени до следующего события и умножить примерно на полтора. Получится норма для ваших направлений, а не средняя по стране. Пересчитывать — раз в квартал и обязательно после смены перевозчика.

сравнениеstatusy-perevozchikov-v-odnu-shkalu--01
Три лестницы статусов служб доставки, сведённые стрелками в одну шкалу из шести состояний

Сравнение слева направо. Слева три вертикальные лестницы разной высоты: «Служба А — 4 ступени», «Служба Б — 9 ступеней», «Служба В — 7 ступеней», ступени подписаны служебными формулировками мелким шрифтом. Справа одна широкая шкала из шести ступеней с подписями: «Собираем», «Передали перевозчику», «Едет к вам», «В вашем городе», «Можно забрать», «Получен». Между ними пучок стрелок сопоставления. Сбоку от шкалы два флажка «Задержка» и «Проблема» с подписью «подсвечивают ступень, не откатывают её назад». Чертёжный стиль, подписи по-русски.

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

Сопоставление: как ложатся типовые формулировки служб

Сопоставление пишется один раз на службу и хранится как обычный справочник, который правит логист, а не программист. Формулировки ниже — типовые для российских служб доставки; конкретные коды берутся из документации перевозчика и, что важнее, из фактического потока событий за месяц. В документации почти всегда меньше статусов, чем приходит в реальности.

Типовая формулировка службыСостояние вашей шкалы
Заказ создан; ожидает поступления на склад1. Собираем
Принято от отправителя; принято на складе отправителя2. Передали перевозчику
Покинуло сортировочный центр; прибыло в транзитный пункт3. Едет к вам
Прибыло в город получателя; поступило в отделение доставки4. В вашем городе
Готово к выдаче; передано курьеру; выдано на доставку5. Можно забрать
Вручено; получено адресатом6. Получен
Неудачная попытка вручения; хранение продленоСтупень 5 плюс пометка «Задержка»
Возврат отправителю; утеряно; повреждено«Проблема», дальше пишет человек
Шкала не должна ходить назад

События приходят с опозданием и не по порядку: сообщение о транзитном пункте может прилететь через час после сообщения о готовности к выдаче. Если шкала слепо применяет последнее событие, клиент видит, как заказ «возвращается» из пункта выдачи на магистраль, и пишет в поддержку. Правило: состояние двигается только вперёд, событие с более ранним временем попадает в историю, но не меняет текущую ступень. Исключение одно — переход в «Проблему» разрешён с любой ступени.

Молчание перевозчика: правило ожидаемого срока

Клиент пишет не потому, что заказ едет долго, а потому, что не понимает, идёт заказ или потерялся. Тишина хуже плохой новости. Поэтому основной механизм шкалы — отслеживание не событий, а их отсутствия.

  1. 1
    Проверяем просрочку раз в час

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

  2. 2
    Пишем первыми и без извинений на абзац

    Одно короткое сообщение: где заказ сейчас, что мы уже сделали, когда напишем снова. Фраза «запросили статус у службы, ответ будет завтра» работает лучше молчания и лучше обещания точной даты, которой у вас нет.

  3. 3
    Эскалируем на человека по второму сроку

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

  4. 4
    Разбираем накопленные задержки раз в неделю

    Доля отправлений с пометкой «Задержка» по каждому перевозчику и направлению — готовый аргумент в переговорах о тарифе и повод перераспределить поток. Без единой шкалы такой статистики нет.

Проактивное сообщение снимает обращение, а не создаёт его

Частое возражение: «Напишем про задержку сами — клиенты начнут беспокоиться». На практике наоборот. Человек, получивший сообщение от вас, обычно не пишет в поддержку вовсе; человек, обнаруживший тишину сам, пишет и часто в раздражённом тоне. Цена обращения тоже разная: короткий типовой ответ занимает минуты, разбор конфликта — десятки минут и иногда скидку.

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

Службы поддерживают два способа передачи: уведомление на ваш адрес в момент события и опрос по расписанию. Уведомления быстрее и дешевле, но теряются, поэтому опрос нужен как страховка — раз в час по активным отправлениям и раз в сутки по всем незакрытым за 30 дней. Дальше начинается работа с потоком.

  • Повторы. Одно событие придёт и уведомлением, и через опрос. Ключ повтора — трек-номер плюс код события плюс время события у службы. В историю оно попадает один раз и не порождает второго сообщения клиенту.
  • Пропуски. Событие может не прийти вовсе, а следующее — прийти. Шкала обязана перескакивать ступени: пришло «готово к выдаче» без «в вашем городе» — состояние становится пятым, пропущенная ступень помечается в истории как невыясненная.
  • История. Хранится всё: сырой текст события, время события у службы, время получения вами, вычисленное состояние. Без сырого текста разбор спорной доставки через два месяца невозможен, а такие разборы стоят дороже всего.
  • Зависшие отправления. Заказ без событий 30 дней и без вручения уходит в «Проблему» и в задачу логисту. Без этого правила потерянные посылки живут в системе годами и всплывают претензией.
  • Один справочник на все службы. Новый перевозчик — это колонка в справочнике и адаптер приёма, а не новая ветка в уведомлениях и не отдельная страница статуса.
схема процессаstatusy-perevozchikov-v-odnu-shkalu--02
Схема: события трёх служб через приём и нормализацию попадают в шкалу и в уведомления

Схема из семи блоков со стрелками. Слева три узла «Служба А», «Служба Б», «Служба В», от каждого две стрелки: «уведомление» и «опрос раз в час». Обе входят в блок «Приём событий: проверка повтора по ключу трек + код + время». Далее «Справочник сопоставления» и «Шкала из шести состояний». Вниз от шкалы — «История: сырой текст, время события, время получения». Вправо — «Сторож нормы: событий нет дольше нормы → Задержка», от него «Уведомление клиенту». Отдельная стрелка от сторожа: «нет событий 30 дней → задача логисту». Чертёжный стиль, подписи по-русски.

Опрос по расписанию нужен даже там, где служба присылает уведомления

Чем сообщать клиенту: каналы на сентябрь 2026 года

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

КаналСтатус на сентябрь 2026Роль в уведомлениях о доставке
ПочтаРаботаетБазовый канал: письмо со ссылкой на страницу «где заказ»
SMSРаботаетТолько критичное: готов к выдаче, задержка, последний день хранения
MAXРаботает, есть Bot API и бизнес-профильОсновной канал новых внедрений, годится для полной ленты событий
TelegramРаботает с ограничениями, статус волатиленВторой канал там, где аудитория уже в нём

Из-за волатильности статусов архитектура важнее выбора канала. Шкала формирует событие «отправлению нужно сообщение такого-то типа», а адаптер решает, куда его отнести. Тогда замена мессенджера стоит одного адаптера и нескольких дней. Что бывает без такой развязки, видно в материале про перевод клиентских коммуникаций на MAX: у одних компаний переезд занял дни, у других — полтора месяца.

Второе правило — не заваливать клиента. Из восьми состояний сообщение уходит по четырём: передали перевозчику, в вашем городе, можно забрать, задержка. Остальное видно на странице «где заказ», куда ведёт ссылка из каждого сообщения. Компании, которые шлют уведомление на каждое событие службы, получают отписки и вместе с ними теряют канал для действительно важного сообщения о задержке.

Расчёт на 1 000 отправлений в месяц

Модельный магазин: 1 000 отправлений в месяц, три службы доставки, средний чек 2 400 ₽ при марже 30 %, оператор поддержки с полной стоимостью часа 700 ₽. Долю обращений «где мой заказ» замеряют по своей ленте обращений за месяц — это единственная цифра, которую нельзя брать из статьи.

Обращения «где мой заказ» на 1 000 отправлений: до и после
Было: обращений 18 % от отправлений — 180 шт. × 4 минуты × 700 ₽/час8 400 ₽
Было: отмены из-за тишины 1,4 % — 14 заказов × 720 ₽ маржи10 080 ₽
Итого потери до внедрения18 480 ₽/мес
Стало: обращений 6 % — 60 шт. × 2,5 минуты × 700 ₽/час1 750 ₽
Стало: отмены 0,6 % — 6 заказов × 720 ₽ маржи4 320 ₽
Стало: поддержка контура и 80 SMS о задержках по 4,20 ₽4 836 ₽
Итого расходы после внедрения10 906 ₽/мес
ИтогоЭкономия 7 574 ₽ в месяц на 1 000 отправлений — при вложении 180 000 ₽ это 23,8 месяца окупаемости

Вывод неприятный, но честный: на тысяче отправлений полный контур не окупается. Он окупается объёмом, потому что смета почти не растёт вместе с потоком. Шестьдесят инженерных часов по 3 000 ₽ уходят на разбор статусов трёх служб (12 часов), приём событий с проверкой повторов (20 часов), сторож нормы и алерты (8 часов), уведомления через адаптер канала (14 часов) и страницу «где заказ» (6 часов). Поддержка держится на 4 500 ₽ в месяц и при тысяче отправлений, и при пяти тысячах.

Отправлений в месяцЭкономияРасходы контураЧистымиОкупаемость 180 000 ₽
1 00012 410 ₽4 836 ₽7 574 ₽23,8 месяца
2 00024 820 ₽5 172 ₽19 648 ₽9,2 месяца
3 00037 230 ₽5 508 ₽31 722 ₽5,7 месяца
5 00062 050 ₽6 180 ₽55 870 ₽3,2 месяца

Практический порог полного контура — около 2 000 отправлений в месяц. Ниже работает лёгкий путь: 18 инженерных часов, 54 000 ₽ разово и 1 500 ₽ в месяц на страницу «где заказ» с нормализованными состояниями и письмо при передаче перевозчику, без сторожа нормы и без мессенджеров. На тысяче отправлений он снимает обращения с 18 % до 11 %, отмены — с 1,4 % до 1,0 % и даёт 5 930 ₽ чистой экономии, то есть окупается за 9,1 месяца. Логика та же, что и в других складских ступенях: сначала берут самую дешёвую, которая даёт большую часть эффекта. Мы разбирали её на примере адресного хранения на складе.

графикstatusy-perevozchikov-v-odnu-shkalu--03
График окупаемости контура трекинга на объёмах 1000, 2000, 3000 и 5000 отправлений

Столбчатая диаграмма с четырьмя группами по объёму отправлений в месяц: 1 000, 2 000, 3 000, 5 000. В каждой группе столбец «чистая экономия в месяц» со значениями 7 574 ₽, 19 648 ₽, 31 722 ₽, 55 870 ₽ и подпись срока окупаемости вложения 180 000 ₽: 23,8 месяца, 9,2 месяца, 5,7 месяца, 3,2 месяца. Горизонтальная линия порога с подписью «практический порог — около 2 000 отправлений». Отдельной парой столбцов слева — лёгкий путь за 54 000 ₽ на 1 000 отправлений с окупаемостью 9,1 месяца. Оси подписаны: отправления в месяц и рубли.

Смета контура не растёт вместе с потоком — поэтому решает объём отправлений

Отдельно стоит посчитать то, что в смету не попадает. Единая шкала даёт статистику задержек по перевозчикам и направлениям, а она влияет на тариф: разговор со службой доставки, в котором вы показываете долю просроченных отправлений по своему потоку, идёт иначе, чем разговор без цифр. Как считается сама стоимость доставки, разобрано в материале про расчёт стоимости доставки.

Когда своя шкала не нужна

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

  • Один перевозчик с приличным личным кабинетом и меньше сотни отправлений в месяц. Переводить нечего: лестница одна, обращения измеряются единицами. Достаточно ссылки на трекинг службы в письме и человека, который раз в день просматривает список незакрытых отправлений.
  • Самовывоз и своя курьерская служба на весь поток. Статусы вы формируете сами, и задача сводится к работе с маршрутным листом — это ближе к контролю водителей и маршрутов.
  • Нет замера доли обращений «где мой заказ». Без него расчёт превращается в гадание: 18 % — модельная цифра, а не ваша. Замер стоит одного вечера: выгрузить обращения за месяц и разметить их по теме руками.
  • Поддержка перегружена не доставкой. Если «где мой заказ» — это 5 % ленты обращений, а 40 % занимают вопросы по товару и возвраты, шкала закроет не ту очередь. Сначала стоит разобраться с классификацией обращений.

И общее правило, которое стоит за статьёй. Единая шкала не ускоряет доставку ни на час — она делает её предсказуемой. Покупатель прощает лишние два дня в пути и не прощает трёх дней тишины, поэтому деньги здесь приносит не перевод статусов, а сторож нормы и сообщение, отправленное первым.

Клиент терпит медленную доставку и не терпит непонятную. Шкала лечит вторую болезнь, а не первую.