Publishing
Vertragsordner zusammensetzen
Multi-File-Contract-JSON zu einem voll validierten Manifest mergen. Anonymer Zugriff erlaubt.
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
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.