Publishing
Salva workspace
Salva la bozza mutabile (workspace) dell’app. Contenuto non valido comunque salvabile; risultati validazione in response.
PUT
Salva workspace
PUT https://api-datahub.octoparse.com/v1/data-apps/{app_id}/workspace
Autenticazione: API key obbligatoria (Authorization: Bearer <API Key>). Solo autore dell’app; gli altri ricevono 404.
Salva la bozza mutabile. I save non sono mai rifiutati per fallimento di validazione: la validazione completa gira e il risultato (valid / issues) torna nella response. “Salva una bozza a metà e torna dopo” è garanzia del modello.
L’identità app nasce implicitamente al primo save — non c’è un endpoint separato “create app”. Solo tre hard gate restituiscono 400: l’account ha uno username, il payload è entro i limiti di size e i nomi file allegati sono validi. identity.app_name nel manifest non è più confrontato col path: il nome di route segue il riferimento e il nome dichiarato nel file è consumato solo in creazione.
expected_revision offre concurrency ottimistica (409 revision-conflict) così più tab non si sovrascrivono in silenzio. I secret allegati solo se il save è valido; i nomi non memorizzati in secrets_deferred. Le app deprecated restano editabili; solo i nuovi Release sono rifiutati.
Richiesta
Parametri di percorso
string
obbligatorio
Riferimento app:
app_<hex> oppure <namespace>/<app_name>. Use the latter on first save.Body della richiesta
string
obbligatorio
Testo grezzo del manifest.
object
File allegati: le chiavi sono percorsi relativi, i valori sono contenuti testuali.
object
Mappa da nomi secret a valori in chiaro. Memorizzata solo se questo save è valido.
integer
Expected current draft revision. Mismatch restituisce
409.Esempio di richiesta
Risposta
200 successo
data. Campi:
string
obbligatorio
—
string
obbligatorio
ID app stabile.
string
—
integer
obbligatorio
Revisione del draft dopo il salvataggio.
boolean
obbligatorio
Se il contenuto corrente ha superato la validazione.
object[]
Elenco dei problemi.
string[]
—
string[]
Nomi secret non memorizzati perché questo save non era valido.
string
—
Errori
Le risposte di errore usano
{"error": {code, category, message, retryable}}. Vedi Errori.