06 / Направления

Обмен между системами

Связка CRM, склада, банка, витрины и сторонних сервисов так, чтобы данные не вносили дважды.

Компаниям, где одна и та же карточка живёт в нескольких программах.

Обмен

Системы

01Почта
02Склад
03Учёт
04Витрина

Откуда

Почта

Куда

Склад

След

Журнал

01

Из чего состоит

Что входит в контур

  1. 01

    Кто главный по полю

    У каждого факта один хозяин: цена живёт в учёте, статус заказа — в витрине, контакт — в CRM. Остальные читают.

    • Список полей, которые едут
    • Откуда пишут и кто только читает
    • Что делать, если оба источника поменяли одно поле
  2. 02

    Канал

    API, вебхук или очередь — по тому, как система умеет отдавать данные, а не «как моднее».

    • Что приходит само
    • Что приходится забирать по расписанию
    • Какой объём бывает в час пик
  3. 03

    Сбой

    Пакет, который не дошёл, не пропадает молча. Он ждёт и пробует ещё раз.

    • Повтор с паузой
    • Пакет, который уже нельзя повторять
    • Сигнал, если очередь встала
  4. 04

    Журнал

    По номеру заказа или карточки видно: ушло, дошло, отказано и почему.

    • Запись по каждой попытке
    • Поиск по номеру
    • Кто может перезапустить обмен
  5. 05

    Что не связываем

    Лишняя связка плодит расхождения. Поля, которые никто не читает, не тащим.

    • Системы, которые остаются ручными
    • Поля вне обмена
    • Как проверить обмен на копии, до боевых данных

Что делаем

  1. 01Карта, кто главный по каждому полю
  2. 02API, вебхуки и очереди
  3. 03Подключение учёта, банков и витрин
  4. 04Повтор при сбое, а не тихая потеря пакета
  5. 05Журнал, по которому видно, что не дошло

Как идём

  1. 01Аудит систем
  2. 02Схема обмена
  3. 03Сборка
  4. 04Прогон на живых данных
  5. 05Описание для команды

На чём

  • REST
  • GraphQL
  • Node.js
  • Python
  • PostgreSQL

Ориентир по сроку

Один обмен — от недели. Несколько систем с конфликтами данных — от месяца.

На выходе

Факт вносится один раз и доезжает туда, где его ждут.

Что обычно позже

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