DocTransform
AiutoAPIEsecuzioni

Esecuzioni

Come viene creata, interrogata, ripetuta ed è idempotente un'esecuzione dell'API pubblica.

Un'esecuzione applica un modello a un file caricato, lato server, e restituisce il risultato.

Le esecuzioni rapide rispondono subito

POST /templates/{id}/runs aspetta fino a 30 secondi che l'esecuzione finisca. Se finisce in tempo, ottieni 201 con l'esecuzione terminata — il suo risultato è già pronto per essere scaricato.

Esecuzioni più lente: 202 e interrogazione

Dopo 30 secondi ottieni 202, un'intestazione Location che punta all'esecuzione, e un'intestazione Retry-After che indica quanto aspettare prima di interrogare di nuovo GET /runs/{id}.

Overrides

Un caricamento CSV può inviare delimiter e header_row insieme a file, sovrascrivendo i valori rilevati automaticamente solo per quella esecuzione.

curl -X POST "https://doctransform.xyz/api/v1/templates/tmpl_123/runs" \
  -H "Authorization: Bearer $DOCTRANSFORM_API_KEY" \
  -F "file=@/percorso/del/tuo/file.csv" \
  -F "delimiter=;" \
  -F "header_row=0"

Quando un file non può essere eseguito

Se al file caricato manca una colonna che le operazioni del modello richiedono, la richiesta stessa viene rifiutata con 422 TEMPLATE_COLUMNS_MISSING — non come un'esecuzione terminata ma fallita da interrogare.

Scaricare il risultato

Il risultato di un'esecuzione terminata resta scaricabile per 30 minuti dopo il completamento, da qualsiasi worker. Dopo quel periodo, o una volta scaduto, GET /runs/{id}/output risponde 404 RUN_NOT_FOUND.

Riprovare in sicurezza: Idempotency-Key

Invia un'intestazione Idempotency-Key con POST /templates/{id}/runs e un nuovo tentativo di rete della stessa richiesta riproduce l'esecuzione già avviata o terminata per quella chiave, invece di avviarne (e addebitarne) una seconda. Riutilizzare la stessa chiave con una richiesta diversa risponde 409 IDEMPOTENCY_KEY_REUSED.

RUN_NOT_FOUND, RUN_INTERRUPTED, RUN_TIMEOUT → reinvia

Un'esecuzione il cui worker si è riavviato prima di finire si risolve come RUN_INTERRUPTED; una ancora in corso dopo 10 minuti si risolve come RUN_TIMEOUT; una il cui id è sconosciuto o scaduto risponde RUN_NOT_FOUND. In ogni caso, reinvia con la stessa Idempotency-Key per riprovare.

Vedi Errori e limiti per ogni codice di stato con cui un'esecuzione può rispondere.