Три системы.
Одна версия правды.
Интеграционный хаб между учётом, сайтом и CRM для розничной сети.
Ручной экспорт — ещё не интеграция..
Остатки, цены и заказы переносили таблицами. Обновление зависело от свободного времени человека, а неудачный обмен не оставлял понятного следа.
Центральный хаб принимает изменения и доставляет каждому подписчику. Очереди изолируют сбои, а повторы и журнал событий делают обмен видимым.
Вторая попытка.
Не второй заказ.
Повторная доставка события не должна создавать два заказа. Ключи идемпотентности и видимая очередь повторов — часть решения с самого начала.
POST /events/order.created
{
"event_id": "evt_8842_v1",
"source": "store",
"destination": "crm",
"delivery": {
"attempt": 2,
"idempotent": true
}
}
200 OK · возвращена существующая записьПуть события от начала до конца.
Выберите коннектор и повторите неудачное демо-событие. Во внешние сервисы ничего не отправляется.
// доставка без дублирования
{
"event": "stock.updated",
"idempotency_key": "evt_2290_v1",
"signature": "sha256:••••••"
}Демо-среда. Все имена, цифры и действия здесь синтетические и локальны для этой страницы.
Работать
становится проще.
Прозрачный путь каждого изменения
Неудачные доставки становятся видимыми
Новые коннекторы без полного переписывания
Анонимизированные описания из материалов студии. Интерфейсы воссозданы с синтетическими данными.
Есть похожая задача?.
Расскажите, что мешает работать.
Вместе найдём понятный путь вперёд.