Перейти к содержимому
Начать

Платформенное встраивание: одна интеграция, много клиентов

Вы — платформа: CRM, ERP, отраслевой SaaS — и вы встраиваете Mildport один раз. Но файлы импортируют ваши клиенты, у каждого — свои данные, свой словарь колонок, свои требования комплаенса и своё представление о том, сколько ИИ-помощи ему нужно. Эта страница объясняет два способа их обслуживать, что каждый гарантирует и как выбрать.

Задайте один вопрос: вашим клиентам нужно быть изолированными друг от друга — или их достаточно различать?

  • Различать → одна лицензия, и на каждом импорте вы передаёте свой идентификатор клиента. Дёшево, без провижининга.
  • Изолировать → каждому клиенту свой tenant (свой лицензионный ключ). У каждого — приватный словарь, приватные настройки, приватные адреса доставки и приватные лимиты.

Всё остальное на этой странице — детали этих двух вариантов.

Вариант 1 — одна лицензия и ваш идентификатор клиента

Заголовок раздела «Вариант 1 — одна лицензия и ваш идентификатор клиента»

Интеграция живёт на одном лицензионном ключе. На каждом импорте вы передаёте собственный идентификатор конечного клиента — произвольную строку, в REST API она называется externalId:

  • Она сохраняется вместе с импортом и возвращается эхом при чтении и в доставках apply — ваш бэкенд всегда знает, какому из ваших клиентов принадлежит запись.
  • Виджет может показывать каждому клиенту своё подмножество каталога полей — передавайте поля инлайн на каждый embed или опубликуйте один каталог и применяйте сохранённый срез по проекту (атрибут catalog-project; см. целевые каталоги).
  • Поведение виджета (форматы, режим PDF, образец данных, опции review) — это конфигурация конкретного embed, то есть уже сейчас может отличаться от клиента к клиенту — см. настройку виджета.

Чего этот вариант не делает: это метка, а не стена. Все клиенты делят один выученный словарь сопоставлений, один набор ИИ-настроек, один список webhook-адресов и один пул использования с общими лимитами. Фильтрация чтения по вашему идентификатору — ваша ответственность. Это стандартный для отрасли паттерн «эха метаданных»: годится, чтобы разделять инбоксы, но не подходит, когда между клиентами нужна граница приватности или бюджета.

Из панели клиента вы можете создавать дополнительные tenant’ы, каждый со своим лицензионным ключом, и выделять по одному каждому вашему клиенту. Каждый такой tenant — полноценный, жёстко изолированный tenant Mildport:

  • Приватный выученный словарь. Когда один клиент подтверждает, что Zahlungsziel — это Payment terms, это знание принадлежит только ему и никогда не всплывёт в импорте другого клиента. (Как работает обучение: как матчинг принимает решения.)
  • Приватные настройки и фичи. ИИ-помощь может быть включена одному клиенту и выключена другому — в том числе по требованиям комплаенса — потому что фичи «едут» внутри подписанной лицензии каждого клиента.
  • Приватные адреса доставки. Каждый tenant регистрирует свои apply-webhook’и — строки каждого клиента доставляются на его собственный endpoint (webhooks).
  • Приватные лимиты и статистика. Лимиты строк, rate-лимиты и ИИ-бюджеты действуют на tenant, а панель показывает использование и активность по каждому клиенту — кто сколько импортировал, кто съел ИИ-бюджет — без реконструкции на вашей стороне.

Ключи — офлайн-проверяемые подписанные токены; ничто в этой схеме не «звонит домой», и она одинаково работает в облаке и при самостоятельном размещении (self-hosting).

Вашему клиенту нужно… Одна лицензия + идентификатор Tenant на клиента
Раздельные инбоксы / «чья это запись?»
Уменьшенный срез большого каталога полей
Разное поведение виджета
ИИ включён одним, выключен другим
Приватный словарь сопоставлений
Собственный endpoint доставки
Свои лимиты, своя строка usage, бюджет

Смешивать — нормально: многие платформы начинают с одной лицензии на этапе интеграции, а затем переводят крупных клиентов на выделенные tenant’ы по мере онбординга.

  • Создание клиентского tenant’а сегодня — действие в панели; если вы онбордите клиентов программно и хотите создавать tenant’ы из собственного флоу, напишите нам — это активная зона развития продукта.
  • Ключи ротируются по-клиентно, не затрагивая остальных.
  • Использование в панели — по tenant’у и по месяцам; доставки apply несут идентичность tenant’а, так что ваш ребиллинг может опираться на любой из двух источников.

Дальше: установка виджета или как это работает — общая картина доставки.