Статусы заказа во внешней системе не совпадают с нашими: как описать сопоставление
Мы интегрируем свой личный кабинет с логистической системой партнёра. У нас четыре статуса заказа: «Собирается», «В пути», «Доставлен», «Отменён». Партнёр присылает свои коды: PACKING, SHIPPED, IN_TRANSIT, AT_PICKUP_POINT, DELIVERED, RETURNED, CANCELLED — и предупреждает, что список кодов иногда пополняется.
Что нужно зафиксировать в требованиях к интеграции?
- Требование к партнёру привести свой набор статусов к нашему — иначе корректное отображение в личном кабинете невозможно
- Хранить и показывать пользователю код партнёра как есть: так исключается потеря информации при преобразовании
- Таблицу соответствия кодов партнёра нашим статусам и правило поведения для неизвестного кода: какой статус показывать пользователю и как об этом узнают ответственные
- Реализовать сопоставление по мере появления новых кодов в проде: заранее описывать редкие статусы дороже, чем разбирать обращения поддержки, которых за год набирается всего несколько
