Коннектор Make.com — документация Entity Enricher

Коннектор Make.com

Добавьте один модуль Make в любой сценарий, свяжите сущность из предыдущего шага и получите структурированный JSON-объект, проверенный по схеме и полученный слиянием нескольких моделей, — с многоязычным выводом на 40 языках за один проход LLM. 15 полноценных модулей с динамическими списками и обработкой ошибок с учётом лимитов плана, созданные под модель оплаты Make за каждую операцию.

Создано для Make

Entity Enricher уже поставляется с коннектором n8n, который потребляет поток Server-Sent Events. Модули Make не могут нативно потреблять SSE — каждый модуль представляет собой один атомарный HTTP-вызов. Чтобы поддерживать обогащение как единую операцию Make, бэкенд предоставляет отдельный эндпоинт POST /api/single/enrich/sync, который оборачивает потоковый процесс на стороне сервера и возвращает итоговый результат слияния в одном ответе.

n8n connector
POST /enrich/stream → job_id
GET /llm/stream/{id}
GET /llm/stream/{id}
... (events)
[final bundle out]
Make.com connector
POST /enrich/sync
(server awaits internally)
[final bundle out]

Многоязычное обогащение за один проход

Выберите несколько языков в поле Languages, и Entity Enricher заполнит каждое многоязычное свойство на всех выбранных языках за один вызов LLM — а не N последовательных обращений на каждый язык. 40 языков охватывают основные европейские, азиатские, ближневосточные и африканские рынки.

Результат одного вызова Enrich Entity с languages = ["en", "fr", "de", "ja"]:

{
  "names": {
    "primary": {
      "en": "Aspirin",
      "fr": "Aspirine",
      "de": "Aspirin",
      "ja": "アスピリン"
    }
  },
  "indications": {
    "en": "Pain, fever, inflammation; antiplatelet therapy.",
    "fr": "Douleur, fièvre, inflammation ; antiagrégant plaquettaire.",
    "de": "Schmerz, Fieber, Entzündung; Thrombozytenaggregationshemmer.",
    "ja": "痛み、発熱、炎症;抗血小板療法。"
  }
}

Последующие модули Make могут напрямую сопоставлять любой язык: {{enrichEntity.result.names.primary.fr}}. Выпадающий список «Языки» показывает полный список из 40 языков с уведомлением об ограничении тарифа, когда профиль вашей организации ограничивает количество доступных для выбора языков.

Модуль Make: раскрывающийся список с множественным выбором языков, показывающий 40 поддерживаемых языков

Установка

Исходный код приложения для Make находится в публичном репозитории TOT-Concept (синхронизируется с монорепозиторием Entity Enricher). Пока приложение не появилось в маркетплейсе Make, загрузите его вручную через Developer Hub:

  1. Войдите в свою организацию Make как разработчик.
  2. Перейдите в Приложения → Создать новое приложение → Custom App.
  3. Либо загрузите каталог make-app-entity-enricher/ в виде .zip, либо вставьте каждый файл .json / .imljson в соответствующую вкладку редактора.
  4. Добавьте подключение — либо подключение по API Key, используя ключ из Entity Enricher → Settings → API Keys (формат ent_XXXXXXXXXXXX, автоматически проверяется через /api/enrichment/options), либо подключение OAuth 2.0: войдите в Entity Enricher и нажмите Authorize.
Make: форма настройки подключения по API-ключу

Динамические выпадающие списки

Каждое выбираемое поле в модулях Make заполняется RPC-вызовом, который обращается к API Entity Enricher во время настройки. Закреплённые схемы отображаются первыми (отмечены 📌), метки моделей включают цену за миллион токенов, а организации с ограничениями тарифа видят уведомление при достижении квоты.

Модуль Make: открытый раскрывающийся список схем с закреплёнными схемами вверху

Предварительные требования

Ключ APIСоздайте ключ доступа организации в Entity Enricher. См. документацию по API-ключам. Используйте ключ доступа организации (с собственной ролью) для интеграций между сервисами.
Базовый URLURL вашего экземпляра Entity Enricher — по умолчанию https://entityenricher.ai. Переопределяйте только для развёртываний на собственном сервере.
OAuth 2.0 (альтернатива)Вместо API-ключа выберите тип подключения Entity Enricher OAuth 2.0: войдите в Entity Enricher и нажмите Authorize — копировать ключ не нужно. Подключение действует от вашего имени с вашей ролью и может быть отозвано в любой момент в разделе API Keys → Connected Apps. Для устойчивых сценариев между сервисами по-прежнему рекомендуются API-ключи.

Обогащение сущности в действии

Центральный модуль предоставляет поля ввода с динамическими выпадающими списками: схема, модели (множественный выбор), языки (множественный выбор), стратегия, необязательные модели классификации и арбитража, веб-поиск, схема ответа, строгий структурированный вывод, тайм-аут и переключатели метаданных. Свяжите сущность из любого предыдущего модуля через поле Entity data.

Когда выбрано 2+ моделей, результат автоматически объединяется на стороне сервера. Панель вывода Make показывает is_fused: true, список source_models и сводку fusion с подсчётом совпавших и конфликтующих полей:

Панель вывода Make: результат обогащения, слитый из нескольких моделей
Что ещё содержит выходной пакет
  • identity_merges — каждый случай, когда этот запуск переиспользовал существующую идентичность, созданную из других слов, вместе со значением сходства, которое решило дело (пусто, если решило точное совпадение кода или токена, поскольку сходство не измерялось).
  • entity_keys — фактически сохранённые значения ключевых столбцов, чтобы следующий модуль мог обратиться к только что созданной строке без догадок.
  • Статус записи в базу данных, который честно сообщает о частичной записи, а не выдаёт её за полный успех, вместе с skipped_items и key_collisions.
  • В записях: retries, заменившее прежнее поле attempts, — несовместимое переименование, поэтому обновите все сценарии, где оно использовалось.

Доступные модули

15 модулей в 7 категориях. Модули Search выдают по одному bundle на результат для последующих цепочек Iterator/Aggregator; модули Action выдают один bundle.

КатегорияМодульОписание
EnrichmentEnrich EntityОбогащение за один вызов со слиянием нескольких моделей. Возвращает итоговый объединённый результат (или результат лучшей отдельной модели). Автоматически отменяется при предупреждении классификации.
SchemasList SchemasВозвращает один bundle Make для каждой сохранённой схемы, готовый для цепочек Iterator/Aggregator.
SchemasGet Schema DetailsПолное содержимое схемы, включая области экспертизы, свойства и ключи поиска.
SchemasGenerate SampleСгенерируйте 1..N реалистичных образцовых JSON-объектов одного типа сущности за один блокирующий вызов — точка входа в создание схемы. Первый образец задаёт набор полей; остальные — варианты экземпляров с теми же полями.
SchemasGenerate SchemaСгенерируйте и автоматически сохраните JSON-схему из 1..N образцовых объектов одного типа сущности — объединение полей, nullable там, где поле отсутствует в некоторых образцах, реальные наблюдаемые значения в качестве примеров.
RecordsList RecordsПоиск по прошлым записям обогащения с фильтрами (тип, успешность, свободный текст).
RecordsGet RecordПолучить один результат обогащения с полными метриками по каждому промпту.
RecordsInject Records into DatabaseОтправьте сохранённый (или преобразованный) результат обогащения в синхронизацию базы данных его схемы. Он повторно проверяется по опубликованному контракту схемы, а затем проходит через шлюз допуска.
FusionMerge ResultsПовторно объедините несколько результатов обогащения, при желании с другим арбитром LLM.
AttachmentsUpload AttachmentЗагрузите файл (переданный как буфер из вышестоящего модуля, например HTTP ▸ Get a File) и получите ID вложения для использования в Enrich Entity.
AttachmentsDelete AttachmentУдалить вложение по ID — удобный шаг очистки после обогащения.
Database SyncList Database SyncsВозвращает database sync схемы с количеством ожидающих дельт.
Database SyncFetch Database DeltasВозвращает следующее FIFO-окно SQL-дельт для database sync. Если включён параметр Claim, строки арендуются и должны быть подтверждены; иначе чтение можно повторять.
Database SyncAcknowledge Database DeltasПодтверждает применённые дельты вплоть до указанного ID — освобождает аренду (lease) и, согласно настройкам синхронизации, удаляет доставленные копии.
ConfigurationGet OptionsДоступные модели, языки, стратегии и ограничения тарифа организации.

Модули Database Sync управляют потоком изменений синхронизации базы данных из запланированного сценария: Fetch Database Deltas берёт в аренду следующее SQL-окно, модуль базы данных или HTTP применяет его, а Acknowledge Database Deltas подтверждает его (передайте Next Cursor из Fetch в Acknowledge).

Рабочие процессы с несколькими сущностями: паттерн итератора

Сценарии Make тарифицируются за операцию. Вместо переноса модуля Batch Enrich из коннектора n8n приложение Make использует встроенный Iterator от Make + Enrich Entity. Каждая итерация независима, сбои не каскадируются, а тарификация точно отражает то, что было обработано.

[trigger: array of entities]
[Make: Iterator] (splits into N bundles)
[this app: Enrich Entity] (one operation per entity)
[Make: Aggregator] (recombines, optionally with skip-on-error)
[downstream: upsert to CRM / database]

Ключевые функции

Многоязычность на 40 языках

Один вызов Enrich Entity заполняет каждое многоязычное свойство на всех выбранных языках — за один проход LLM, а не за N последовательных обращений. Сопоставляйте любой язык напрямую: {{result.names.primary.fr}}.

Обогащение в один вызов

Отдельная конечная точка POST /api/single/enrich/sync оборачивает потоковый процесс на стороне сервера. Одна операция Make = один бандл. Без опроса, без шаблонов из двух модулей.

Простой по умолчанию

Модуль «Обогащение сущности» открывается только с данными сущности, схемой, языками и веб-поиском — Entity Enricher автоматически работает с лучшей моделью вашей организации. Модели, вложения, стратегия и параметры классификации/арбитража скрыты за переключателем «Show advanced settings» в Make.

Динамические выпадающие списки (RPC)

10 RPC-вызовов на этапе настройки загружают схемы, синхронизации баз данных, модели, языки, стратегии, модели классификации/арбитража, параметры схемы ответа и структурированного вывода — закреплённые схемы показываются первыми, в подписях моделей указана цена.

Мультимодельное авто-слияние

Выберите 2+ модели, и результат автоматически объединяется. Итоговый набор включает is_fused, source_models[] и сводку слияния fusion: {agreed_fields, conflicted_fields, total_fields, method, arbitration_model}.

Предварительная классификация

Необязательная дешёвая модель-классификатор проверяет, что сущность соответствует ожидаемому типу схемы, прежде чем запускается обогащение. Несоответствия приводят к типизированной ошибке DataError вместо галлюцинированных данных.

Учёт лимитов плана и кредитов

Ошибки HTTP 402 (ограничения тарифа или нехватка кредитов) преобразуются в типизированную ошибку Make OutOfMoneyError. Сообщение повторяет понятное человеку описание от бэкенда (с URL для пополнения счёта, когда кредиты закончились), а также машиночитаемый код — используйте код в обработчике ошибок сценария, чтобы оповещать людей, переключаться на более дешёвые модели или ставить на паузу.

Блокировки выпадающего списка веб-поиска

Выпадающий список Web Search читает parameters.models и отключается, когда ни одна из выбранных моделей не объявляет supports_web_search.

Нет пакетного модуля

Сценарии Make тарифицируются за операцию. Рабочие процессы с несколькими сущностями используют встроенный Iterator от Make + Enrich Entity, обеспечивая детальную обработку ошибок для каждой сущности и точную тарификацию.

Настраиваемый тайм-аут

Тайм-аут по умолчанию 300 секунд на вызов, в пределах [10, 900]. Задание автоматически отменяется на стороне сервера, если не завершается вовремя, возвращая типизированную ошибку ConnectionError.

Контракт ошибок

Каждый статус, который может вернуть бэкенд, сопоставлен с типизированной ошибкой Make, чтобы обработчики ошибок сценария могли ветвиться по режиму сбоя, а не разбирать строки.

Сценарий Make: обработчик ошибок с ветвлением по OutOfMoneyError
HTTPТип ошибки MakeКогда срабатывает
400DataErrorСхема не найдена, отсутствуют ключи поиска, недопустимые модели или языки.
401InvalidCredentialsНеверный или отсутствующий ключ API.
402OutOfMoneyErrorПревышен лимит плана ИЛИ недостаточно кредитов. Message = body.detail.detail (для человека, включает URL для пополнения при insufficient_credits) + body.detail.code (для машины). Ветвление по коду: insufficient_credits, model_limit_exceeded, language_limit_exceeded, concurrent_job_limit_reached, daily/weekly/monthly_prompt_limit_exceeded.
403AccessDeniedErrorНедостаточная роль или область действия.
404InvalidConfigurationErrorСхема или запись не найдена.
422DataErrorПредупреждение классификации. body.detail.classification содержит status, reasoning, confidence, entity_description.
429RateLimitErrorОграничение частоты запросов провайдера (временное).
499RuntimeErrorЗадание отменено.
502ConnectionErrorОшибка вышестоящего LLM-провайдера (например, переполнение контекста).
504ConnectionErrorИстекло timeout_seconds; задача автоматически отменена на стороне сервера.

Начните с примера сценария

Приложение поставляется с шестью готовыми к импорту шаблонами сценариев: одиночное обогащение, пакетный шаблон с Iterator, документ → обогащение, изображение → образец → схема, образцы → схема и вычитывание потока изменений синхронизации базы данных. Импортируйте нужный и подставьте своё подключение вместо того, чтобы собирать модули с нуля.

Идеи рабочих процессов

Enrichment CRMЗапускайте при новых контактах HubSpot/Salesforce, обогащайте данными о компании, обновляйте запись в CRM.
Конвейер таблицЧитайте сущности из Google Sheets, Iterator + Enrich Entity, записывайте результаты обратно на новый лист.
Условный повторный арбитражСначала выполните слияние по правилам; если conflicted_fields > 5, выполните повторное слияние с арбитром LLM через Merge Results — не запуская заново затратное обогащение.
Маршрутизация по лимиту тарифаПри OutOfMoneyError оповестить сотрудника в Slack и приостановить сценарий до сброса окна квоты.
Запланированное обновлениеЗапуск по расписанию cron (триггер Make Schedule) для повторного обогащения устаревших записей с помощью новейших моделей.

Дальнейшие шаги