ТЗ - связка CRM и OFD для агентской схемы по крипте
ТЗ: связка CRM и OFD для агентской схемы по крипте
1. Цель
Реализовать связку CRM и OFD-сайта для работы по агентской схеме по крипте.
2. Логика связки CRM и OFD
Правило связи
- У одной CRM может быть несколько связанных OFD.
- Один OFD может быть связан только с одной CRM.
Пример
CRM Cara может быть связана с несколькими OFD:
- OFD Агент Crypto Ruda;
- OFD Агент Mik Exchange.
При этом каждый OFD должен быть уникально закреплён только за одной CRM.
3. Настройка связи рублёвого баланса с OFD
Где добавляется связь
В разделе рублёвых балансов CRM.
Сейчас у каждого баланса есть действие Edit. Внутри Edit нужно добавить поле:

Связать с OFD
Логика поля
Пользователь может выбрать один из доступных OFD:
- Агент Crypto Ruda;
- к-п Crypto Ruda
- Агент Mik Exchange;
- к-п Mik Exchange
- Не связано.
Результат
После настройки каждый рублёвый кошелёк CRM может быть привязан к конкретному OFD.
Это нужно, чтобы CRM понимала, какие операции можно отправлять в какой OFD.
4. Создание аванса OFD по обменной операции
Важная логика
Аванс OFD создаётся по обменной операции, где пополняется рублёвый кошелёк.
Даже если вся операция в CRM выглядит как связка IDR → RUB или другая внутренняя exchange-операция, для OFD важна именно рублёвая часть: сколько рублей клиент отправил на связанный IP/агентский счёт.
Если используется счёт ИП / агентский рублёвый счёт, то все транзакции пополнения рублей должны быть разнесены в авансы OFD.
Условие доступности
Создать аванс OFD можно только если:
- Операция является обменной.
- В операции есть рублёвый кошелёк, связанный с OFD.
- Этот рублёвый кошелёк является именно кошельком пополнения — то есть кошельком, на который клиент отправил деньги.
- Транзакция закреплена в CRM.

UI-логика
В меню транзакции через три точки, где сейчас есть:
- Копировать;
- Удалить;
нужно добавить третий пункт:
Создать аванс OFD
Пункт должен появляться только если выполнены условия доступности.

Что происходит при нажатии
CRM отправляет в соответствующий OFD данные для создания аванса.
Связанный OFD определяется по рублёвому кошельку пополнения.
В OFD передаются данные из CRM:
- клиент;
- email клиента;
- сумма рублёвого пополнения;
- OFD, связанный с кошельком пополнения.
После успешного создания
На карточке обмена или рядом с транзакцией должен появиться визуальный маркер, например:
- ключик;
- чек;
- другая понятная иконка.
Маркер означает:
Аванс OFD по этой транзакции создан.
5. Создание закупки OFD
Условие доступности
Создать закупку можно только если:
- Операция является закупочной.
- В операции есть рублёвый счёт.
- Рублёвый счёт является именно счётом списания.
- Счёт списания связан с OFD-агентом.
- Транзакция закреплена в CRM.
- Для операции выбран поставщик / закупщик.

UI-логика
В меню транзакции через три точки нужно добавить пункт:
Создать закупку
Пункт должен отображаться только если условия выше выполнены.

Что происходит при нажатии
CRM отправляет данные закупки в связанный OFD.
Связанный OFD определяется по рублёвому счёту списания.
6. Поставщики / закупщики
Требование
В CRM должен появиться отдельный раздел:
Поставщики
Этот раздел нужен, чтобы пользователь мог создавать и управлять поставщиками, не выходя из CRM.
Что должно быть в разделе «Поставщики»
В CRM должна быть возможность:
- посмотреть список поставщиков;
- создать нового поставщика;
- отредактировать существующего поставщика;
- выбрать поставщика при создании закупки;
- синхронизировать поставщиков с OFD.
API
Должно быть API, которое позволяет:
- получать список поставщиков из OFD в CRM;
- создавать поставщика в CRM;
- создавать / передавать поставщика в OFD, если это требуется для закупки;
- выбирать поставщика из CRM при создании закупки;
- использовать выбранного поставщика при отправке закупки в OFD.
UI в transfer
Если рублёвый кошелёк связан с OFD, то в форме transfer / transaction должен появляться блок:
Поставщик / закупщик
Внутри блока:
- выпадающий список поставщиков;
- возможность выбрать существующего поставщика;
- возможность создать нового поставщика, если его ещё нет.
7. Что не входит в текущий объём
Пробитие чеков полного расчёта через CRM не требуется.
После создания аванса или закупки пользователь вручную заходит на сайт OFD и пробивает чеки полного расчёта там.