Когда использовать каждую поверхность
Эндпоинты
Соответствующие инструменты MCP:
didit_transaction_rule_list, didit_transaction_rule_get, didit_transaction_rule_create, didit_transaction_rule_update, didit_transaction_rule_delete, didit_transaction_rule_backtest, didit_transaction_rule_library_list, didit_transaction_rule_install и didit_transaction_rule_uninstall; см. справочник инструментов MCP.
Полная схема, включая каталог полей, все 19 операторов условий, окна частотности, группированные условия и шесть типов действий, описана на странице Rules & Scoring и встроена в справочник API.
Создание, бэктест, активация
Безопасная схема выкатки для любого нового правила:1
Создайте правило в режиме TEST
scope и conditions описывают оцениваемую транзакцию: входящую финансовую транзакцию в EUR с сырой amount меньше 10 000. Записи aggregation описывают 30-дневное окно для того же субъекта: не менее 20 входящих финансовых транзакций в EUR, ни одна из которых не составляет 10 000 EUR или больше. Обе записи агрегации должны выполняться независимо от значения evaluation_mode: эта настройка управляет только условиями.В этом примере используется сырая amount, а currency зафиксирована как EUR в обеих частях, поэтому пример не зависит от нормализации курса валют. Чтобы выполнить бэктест на тестовых данных песочницы, отправьте не менее 20 входящих финансовых транзакций в EUR для того же субъекта за 30 дней, каждая с amount меньше 10 000. Ни preferred_currency_amount, ни amount_in_default_currency не обязательны. Приём в песочнице сохраняет эти транзакции; бэктест нужно запустить явно.Правило в режиме TEST оценивает каждую новую транзакцию и фиксирует, с какими транзакциями оно совпало бы, но никогда не меняет оценку или статус транзакции.Фильтр агрегации не является условием. Условие всегда читает только оцениваемую транзакцию, а фильтр агрегации всегда лишь сужает историческое окно и сравнивает по равенству или по принадлежности к списку. Оператора
lt для фильтров нет, поэтому нельзя посчитать только переводы меньше 10 000.Запись max ... lt 10000 является поддерживаемым способом задать верхнюю границу окна: она требует, чтобы каждая транзакция в окне была меньше 10 000, что строже, чем подсчет только мелких транзакций: один перевод на 12 000 среди двадцати не даст правилу сработать. Если вы хотите, чтобы подсчет работал сам по себе, удалите эту запись и укажите это в заголовке: без нее правило считает входящие переводы любого размера, и девятнадцать переводов по 50 000 с одним небольшим в конце дадут совпадение.2
Проверьте на своей истории (бэктест)
matched означает, что пороги нужно настроить, прежде чем правило сможет на что-либо влиять.3
Активируйте
Миграция правил от другого провайдера
Создание правил представляет собой обычный вызов API с полностью описанной схемой, поэтому ИИ-ассистент может перевести экспорт правил другого провайдера в правила Didit.- Экспортируйте правила у текущего провайдера. Большинство инструментов экспортируют в CSV или Excel.
- Перетащите файл в ассистент в консоли Didit или в любой ИИ-агент, подключённый через MCP, например Claude с подключённым Didit MCP. Таблицы автоматически преобразуются в текст.
- Ассистент сопоставляет каждую строку со схемой Didit: условия, окна частотности, действия. Он показывает вам это сопоставление и отмечает всё, что не имеет аналога в Didit, прежде чем что-либо создать.
- После вашего подтверждения он создаёт правила в режиме TEST, проверяет их на вашей истории транзакций и сообщает, сколько строк создано, сколько не удалось обработать и сколько не удалось сопоставить.
- Проверьте показатели и активируйте подходящие правила в консоли или через
PATCH {"mode": "ACTIVE"}.
scope и conditions ограничивают оцениваемую транзакцию исходящим переводом в EUR на сумму менее 10,000, а фильтры агрегации ограничивают 30-дневное окно исходящими переводами в EUR того же субъекта. Исходное значение amount можно сравнивать только в пределах одной валюты, поэтому оставляйте валюту зафиксированной, как показано выше. Ограничение в разных валютах требует нормализованной суммы для каждой транзакции в окне. Использование одного только preferred_currency_amount не гарантирует доступность: отсутствующие исторические нормализованные суммы могут считаться нулём в числовых агрегациях.
Элемент max удерживает окно ниже 10,000 EUR, поскольку фильтр агрегации не может выразить условие «меньше 10,000». Компромисс описан в примечании к шагу создания выше. Всё, что схема не может выразить точно, лучше явно указать в description правила, чем тихо заменять приближением.
Ошибки валидации намеренно точны
Эндпоинты создания и обновления проверяют значения условий, агрегации и области действия строго в соответствии с тем, что принимает движок правил. Неизвестные операторы или метрики, некорректные окна ("30days" вместо "30d"), недопустимые направления в scope, contains_any без списка, fuzzy_match без score, а также change_status на AWAITING_USER без workflow_id возвращают 400 с указанием индекса и проблемы, вместо сохранения правила, которое молча никогда не сработает. Агенты и скрипты должны читать тело ошибки и исправлять payload. Дополнительные ключи в scope, кроме transaction_types, directions и action_types, сохраняются, но движок их игнорирует, так же как Business Console всегда сохраняла их раньше.
Следующие шаги
Правила и скоринг
Полная схема правил: поля, операторы, временные окна, действия.
API создания правил
Справочник эндпоинта со схемами запроса и ответа.
Библиотека правил
Каталог из 150+ пресетов и их наборы.
Обзор MCP
Подключите ИИ-агента к вашему рабочему пространству Didit.