KeyCRM: підключення, замовлення й статуси
Як платформа прив’язує магазин до KeyCRM без універсального Source ID і дублювання покупців.
1. Кожен магазин має власне перевірене підключення
Connection зберігає encrypted credentials, revision і source ID конкретного магазину.
Перед імпортом або експортом backend звіряє connection, store, source ID та поточну revision. Значення 6 не є глобальним стандартом.
{
"provider": "keycrm",
"store_id": "<store-uuid>",
"source_id": "<verified-source-id>",
"credential_revision": "<current-revision>"
}2. Покупець зіставляється до створення нового запису
Номер телефону нормалізується, після чого server-side lookup шукає наявного покупця в межах дозволеного connection.
Ім’я одержувача і контакт покупця — різні поля. Дані замовлення не повинні безумовно переписувати картку клієнта.
3. Статуси й оплати проходять через mapping
Внутрішній статус платформи не копіюється в KeyCRM навмання. Використовується затверджений mapping customer-relevant і provider status.
Повторні webhook або reconciliation jobs не повинні створювати другу оплату чи повторне повідомлення.
provider event
-> verified connection scope
-> idempotency check
-> status/payment mapping
-> local transaction
-> controlled notification4. Де дивитися точні маршрути
Generated OpenAPI є технічним джерелом правди для path, DTO та public error contract поточної candidate revision.
Активація реального provider call потребує перевірених credentials і owner acceptance; наявність кнопки в UI цього не доводить.