Skip to main content
POST
Vertragsordner zusammensetzen
POST https://api-datahub.octoparse.com/v1/data-apps/contract/assemble Authentifizierung: keine. Anonymer Zugriff erlaubt. Führt einen Vertragsordner (eine nach relativem Pfad geschlüsselte Datei-Map, Reihenfolge bleibt erhalten) zu einem in sich geschlossenen Manifest zusammen. Dieser Endpoint ist die einzige verbindliche Quelle für die Zusammenbauregeln. Der Import-Assistent des Portals und der Selbsttest des Contract-Skills verwenden ihn beide. Slot-Dateien: dataapp.json/⟦1/output_schema.json/runtime.json/pricing.json/examples.json ⟧/README.md (Dateinamen sind unabhängig von der Groß- und Kleinschreibung; gepunktete Formen wie input.schema.json werden akzeptiert und in ⟦8 normalisiert⟧). Preise und Beispiele können auch in ⟦9 angegeben werden⟧. Das zusammengeführte Manifest durchläuft eine vollständige autorseitige Validierung (dieselben Regeln wie Manifest validieren). Nur lieferbar, wenn ⟦10 leer⟧ ist. Behebbare Anomalien (fehlende Dateien, schichtenübergreifende Namenskollisionen, ignorierte Nichtvertragsdateien, Fehlanpassung von Ordnernamen usw.) werden als strukturiert warnings (code + params, lokalisiert durch die Präsentationsschicht) zurückgegeben und sind keine Fehler. Hard Failures (400): Slot-Datei ist kein gültiges JSON, hat die falsche Form (examples.json muss Array sein; andere Slots sind Objekte) oder überschreitet 1MB; gar keine Contract-Datei; Gesamtgröße über 12MB. Der Contract-Pfad deckt nur api-kind ab; runtime.kind=code erzeugt ein Issue. Optionale 8. Datei i18n.json ({source, locales}, bis 4MB) wird nicht in das Manifest gemerged. Sie wird geparst und als translations zurückgegeben, damit der Caller sie über die Übersetzungs-Endpoints speichern kann. source sollte mit source_locale der App übereinstimmen. Anonymer Zugriff erlaubt: Assembly ist reine Funktion des Request-Bodys, liest/schreibt keine Plattformdaten; einzige Gates sind Datei-/Gesamtgrößenlimits.

Anfrage

Anfrage-Body

object
erforderlich
Datei-Map. Schlüssel sind relative Pfade; Werte sind Dateitexte.

Beispielanfrage

Antwort

200 Erfolg

Payload ist in data gewrappt. Felder:
object
erforderlich
Zusammengeführtes Manifest-Objekt.
string[]
Map der tatsächlich erkannten Slot-Dateien.
string
object[]
Validierungsprobleme. Leer bedeutet auslieferbar.
object[]
Strukturierte Warnungen.
object
Geparster Inhalt von i18n.json oder null, wenn nicht vorhanden.

Fehler

Fehlerantworten nutzen {"error": {code, category, message, retryable}}. Siehe Fehler.

Client-Bibliotheken

Die Python- und JavaScript-SDKs wrappen diesen Endpoint noch nicht. REST direkt aufrufen.