Zum Inhalt springen
Loslegen

Konfiguration

Registrieren Sie das Element einmal, konfigurieren Sie dann jede Instanz mit Attributen (Strings) und Properties (Objekte/Funktionen).

import { defineImportSuiteElement, mountImportFlow } from '@capitality-io/mildport-widget';
await defineImportSuiteElement('mildport-import');

Deklarieren Sie, welche Datensatztypen erstellt werden können und welche Felder jeder enthält. Mildport leitet Matching, Validierung und Capture-first-UX intern aus diesem Katalog ab.

Szenario Beispiel
Capture-first (PDF, Foto, Notizen) Mehrere Targets — Contact, Lead, Task…
Multi-Entity-Spreadsheet { id: 'person', fields: [...] }, { id: 'organization', fields: [...] }
Einzelnes flaches CSV Ein Target — { id: 'contact', fields: [...] }

Empfohlen: verwenden Sie mountImportFlow(), um Targets, Upload-Flags, Apply-Modus und Mapping-Gedächtnis zu bündeln. Siehe Capture-first-Importe.

Attribut Beschreibung
api-base-url Origin Ihrer selbstgehosteten (oder Pilot-)Engine, z. B. https://imports.your-infra.example.
license-key Der signierte Tenant-Lizenzschlüssel, den die Engine offline verifiziert.
grid-impl Implementierung des Prüfrasters (z. B. slickgrid).
<mildport-import
api-base-url="https://imports.your-infra.example"
license-key="SIGNED_TENANT_KEY"
grid-impl="slickgrid"
></mildport-import>
Property Typ Beschreibung
targets TargetCatalog Erforderlich — Datensatztypen + Feldmetadaten (Typen, Validatoren, Matcher-Aliase).
applyMode 'webhook' | 'browser' Zustellung über einen signierten Apply-Webhook oder Rückgabe der Zeilen in der Seite.
mappingIdentifier string | null Stabile ID, damit bestätigte Zuordnungen über Importe hinweg gemerkt werden.
hostConfig ImportSuiteHostConfig Akzeptierte Formate, Mehrdatei-Joins, Cleaning-Hooks, Beispieldaten, KI-Bereinigungsstufe (aiTransforms: 'off' | 'suggest' | 'full') und Audit-actor.
profile ImportProfile Ein versioniertes Importprofil ({mapping?, recipe?}): das Mapping wird beim Zuordnen automatisch angewendet, das Rezept erscheint als Ein-Klick-Bereinigungsvorschlag in der Prüfung.
onResults (rows, mapping) => void Browser-Modus-Callback mit den zugestellten Zeilen + Zuordnung.
const el = document.querySelector('mildport-import')!;
mountImportFlow(el, {
id: 'tenant-contacts',
version: 'v1',
targets: [
{
id: 'person',
label: 'Person',
fields: [
{
key: 'person.firstName',
label: 'Vorname',
alternativeMatches: ['given name', 'vorname'],
},
{
key: 'person.email',
label: 'E-Mail',
columnType: 'email',
required: true,
},
],
},
{
id: 'organization',
label: 'Organisation',
fields: [{ key: 'organization.name', label: 'Firmenname' }],
},
],
input: { acceptedFormats: ['spreadsheet', 'text', 'pdf', 'image'] },
delivery: { mode: 'browser' },
});
el.onResults = (rows, mapping) => sync(rows, mapping);
el.targets = [
{
id: 'contact',
label: 'Kontakt',
fields: [
{ key: 'contact.email', label: 'E-Mail', columnType: 'email', required: true },
{ key: 'contact.name', label: 'Name' },
],
},
];
el.applyMode = 'browser';
el.hostConfig = { acceptedFormats: ['pdf', 'image', 'text', 'spreadsheet'] };

Weiter: Events & Apply.