Если вы работаете с интеграциями, то наверняка хотя бы раз сталкивались с маппингом.
Штука простая… пока её не забыли сделать🙈.
А если забыли, то разработчик задачу просто не сможет выполнить. А если и сможет как-то сделать, то скорее всего будут ошибки и интеграция не взлетит.
Разберёмся, что это и зачем оно вообще нужно.
Что такое маппинг?🧠
Маппинг - это понятная таблица соответствий, которая показывает, какие данные из нашей системы должны попасть во внешнюю и в каком виде.
Если совсем по-простому, это способ ответить на три вопроса:
🟣Что у нас есть?
Как поле называется у нас и какое значение там лежит.
🟣Что ждёт другая система?
Как это поле называется у них и что они хотят получить.
🟣Нужно ли что-то менять по пути?
Например, формат даты, статус клиента, код справочника или структуру данных.
Задача аналитика свести эти три штуки вместе, понять, что именно ждёт внешняя система, где в наших данных это взять, нужно ли что-то преобразовать и в каком виде отправить, чтобы интеграция не развалилась.
Где аналитик сталкивается с маппингом?
➡️Интеграции - 90% всех задач.
➡️Проработка API - особенно, когда описываем входящие/выходящие данные.
➡️Миграции данных - когда нужно переносить информацию между разными системами.
📄 Пример
Допустим, внешняя система хочет получать от нас 5 полей о клиенте:
clientId, fullName, birthDate, status, riskSegment.
А у нас это хранится как:
id, fio, dob, clientCategory, riskLevel.
Разные названия, разные форматы, иногда разные справочники. Где-то дата в формате DD.MM.YYYY, где-то статус хранится текстом, а у них нужен код.
Что делает аналитик?
Он готовит маппинг, в котором чётко прописывает:
🐗 Как поле называется у нас и где оно живёт (таблица, метод, сервис).
🦛 Как называется поле у внешней системы и что оно означает.
🐘 Как преобразовать данные: формат даты, перекодировка статуса, замена справочника.
🧌 Что делать, если данных нет: ставим null, считаем, не передаём.
Частые ошибки
➡️Пропустили обязательное поле
Самое популярное. Ориентировались на старую доку, не уточнили обязательность, в итоге интеграция падает.
➡️Неверный формат данных
Например, внешняя система ждёт число, а мы отправляем строку.
➡️Не проработали справочники
У нас значение хранится, как "ACTIVE", у них оно "01".
➡️Нет логики поведения при отсутствии данных
Поле пустое, что делать? Отдавать null? Рассчитывать? Не отправлять?
🍌 Мини-чеклист хорошего маппинга
1⃣ Добавляйте комментарии.
Если у поля есть логика - фиксируйте её.
2⃣ Прописывайте форматы
Типы данных, длины, обязательность, справочники, преобразования - всё важно.
3⃣ Указывайте источник
Таблица, API-метод, сервис - откуда поле достаем.
4⃣ Версионируйте
Убрали поле? Лучше отмечайте причину и ссылку на задачу. Через полгода проще будет вспомнить, если возникнут проблемы.
5⃣ Согласовывайте с обеими сторонами
Если задача большая и сложная, лучше покажите маппинг коллегам из внешней системы, они могут подсветить ваши ошибки или неправильную логику.
📣А вы часто делаете маппинг в своих задачах?
IT АНАЛитика | Подписаться
