Как синхронизировать статусы заказа, доставки и SMS

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


