У магазина и перевозчика разные номера заказа: как сохранить связь
Подготовлено
Разные номера одного заказа нужно связывать явным соответствием: система, тип объекта, исходный идентификатор и подтверждённый внешний идентификатор. Похожая строка номера не доказывает совпадение. Эта связь должна работать и для поиска сотрудником, и для проверки результата обмена.
Назовите, к какому объекту относится номер
Номер заказа магазина, номер заказа у партнёра и номер отправления могут обозначать разные объекты. Сначала опишите их смысл. Если записать любой полученный номер в одно поле «внешний ID», позже будет трудно понять, по чему искать заказ и к чему относится ответ.
В учебном примере магазин создал заказ М-48. Партнёр зарегистрировал его как П-701, а отправление обозначил О-901. Это вымышленные номера. Три записи связаны процессом, но не становятся одним объектом: изменение отправления не обязательно означает изменение исходного заказа.
Сохраните пространство имён
Рядом с идентификатором нужны название системы и тип объекта. Если две системы показывают «701», одной строки недостаточно для вывода о совпадении. У номера могут быть и дополнительные границы: аккаунт, организация или другое согласованное пространство, если оно действительно используется сторонами.
| Система и объект | Номер | Связь | Основание |
|---|---|---|---|
| Магазин: заказ | М-48 | Исходный объект | Сохранённая карточка |
| Партнёр: заказ | П-701 | Регистрация М-48 | Ответ на связанную попытку передачи |
| Партнёр: отправление | О-901 | Часть исполнения П-701 | Подтверждённая связь из процесса |
Опишите появление внешнего номера
Внешний номер становится известен после определённого события. Уточните, выдаёт ли его ответ на регистрацию, последующее уведомление или другой предусмотренный источник. Важно связать результат с тем заказом и той попыткой, по которым он получен.
Если после передачи М-48 ответ потерялся, поле внешнего номера остаётся неизвестным. Это не доказательство отсутствия заказа у партнёра. Сотруднику нужен документированный способ проверки прежней регистрации. Ввод похожего номера вручную без основания лишь превращает открытый вопрос в скрытую ошибку связи.
Учтите несколько связанных объектов
Допустим, П-701 разделён на О-901 и О-902. Тогда М-48 связан с одним внешним заказом и двумя отправлениями. Нельзя затереть О-901 новым номером О-902 или объявить второе отправление дубликатом только из-за общего исходного заказа.
Правило количества связей выбирают по реальному процессу. Для каждой связи нужно знать её смысл и актуальность. Если отправление заменено, сохраните объяснение, какая связь действующая и что произошло с прежней; автоматическое удаление истории затруднит разбор старого ответа.
Покажите поиск для сотрудника
Учебный результат поиска по М-48: «Заказ магазина М-48 → заказ партнёра П-701 → отправления О-901, О-902». По О-902 оператор должен получить обратную связь с М-48 и нужной частью исполнения. Это образец ответа будущего интерфейса, а не заявление о готовом кабинете.
Если по внешнему номеру найдено несколько кандидатов, показывают неоднозначность и доступные признаки различения. Нельзя выбирать клиента по похожему имени. Вопрос о том, как оформить сам поиск по бизнес-номеру, разобран в связанной статье о поиске в кабинете; здесь важна достоверность межсистемной связи.
Добавьте проверку связи в приёмку
Проверьте один заказ с одной регистрацией, заказ с двумя отправлениями, одинаковый текст номера в разных системах и ответ без надёжной привязки. Для последнего ожидается открытый вопрос ответственному, а не автоматическое совпадение. Владелец сверки подтверждает, какое свидетельство считается достаточным.
Исходная система / тип объекта / ID: Внешняя система / тип объекта / ID: Дополнительная область номера, если нужна: Смысл и допустимое количество связей: Источник подтверждения / прежняя попытка: Связанные отправления и актуальность: Поиск в обе стороны — ожидаемый ответ: Неоднозначность или отсутствующий номер — шаг: Владелец сверки / контрольный пример:
Для оценки такого обмена приложите безопасные образцы ответов и ограничения интерфейсов. Сначала стоит проверить, сохраняет ли нужные связи готовый коннектор.
Если такой участок есть в вашем проекте, опишите одно действие и нужный результат. Первый разговор бесплатный; готовое ТЗ не обязательно. Обсудить свою задачу.