Zum Hauptinhalt springen
GET
Get Import Job

Autorisierungen

Authorization
string
header
erforderlich

API key generated in Settings > API Keys. Include as Authorization: Bearer <key>.

Pfadparameter

jobId
string<uuid>
erforderlich

Job id returned by the batch POST (also in its Location header)

Abfrageparameter

fields
string

Comma-separated list of the resource's top-level keys to return (per element for a list), e.g. id,name; omit for the full body. Top-level only; whitespace is trimmed and duplicates count once. fields never adds keys: a selected optional key that is absent on a row stays absent. 400 when passed more than once, when empty, or when it names an unknown key (the error names it and lists the allowed ones).

Antwort

The import job

Async batch import job. completed and failed are terminal — stop polling. The staged input payload is freed ~24 h after the job finishes and the job row itself is deleted ~30 days after creation; poll and persist the result within that window.

jobId
string
erforderlich

UUID of the import job.

kind
string
erforderlich

articles | suppliers | orders, or a PPWR kind (ppwr_units | ppwr_components | ppwr_article_links | ppwr_formats | ppwr_quantities), or plots (a large plot-file import committed in the app).

source
string
erforderlich

erp = staged by this API; ui = a CSV import run in the app.

runId
string | null
erforderlich

Null for erp jobs; set when a UI upload was recorded in accumulated form.

status
string
erforderlich

queued | running | completed | failed

progress
object
erforderlich
error
string | null
erforderlich

Stable machine key when status is failed — e.g. workerError, dispatchFailed, or a JSON string for structured failures: {"key":"lineReplacementRequired","orderNumbers":[…]} or {"key":"invalidPayload","issues":[{"path","code"}]}. Never contains payload values.

createdAt
string
erforderlich

When the job was staged (ISO 8601, UTC).

finishedAt
string | null
erforderlich

When the job reached completed or failed (ISO 8601, UTC); null while it is still running.

result
any

The merged result, null until the job is completed (a failed plots job may carry the partial result). Its shape depends on kind:

  • articles: { imported: [{ internalArticleNr, id }], updated: [{ internalArticleNr }], failed: [{ internalArticleNr, error }], skipped, skippedRows: [{ key, reason }], consolidatedRows }
  • suppliers: { imported: [{ id, name, country }], updated: [{ name, country }], failed: [{ name, error }], skipped, inferredCountryCount, contactsAdded: [{ id, supplierId, email }] }
  • orders: { imported: [{ id, orderNumber }], updated: [{ id, orderNumber }], failed: [{ orderNumber, error }], skipped, skippedOrders: [{ id, orderNumber }], autoCreated: { suppliers, articles, supplierArticleLinks } }
  • ppwr_quantities: { imported, updated, deleted, failed[], derived, cleared, conflicts[], multiLinkedArticleNrs[] } — derived, cleared and conflicts count packaging units of the touched period/market scopes, read before and after the batch (feed figures are computed at read, never stored): units counting the feed after it, units that stopped counting it, and units using typed figures instead (one conflict per unit). multiLinkedArticleNrs lists the article numbers whose quantity feeds more than one packaging unit (an article can be linked to several units, e.g. sales plus transport packaging), so the same quantity counts on each linked unit. Informational, never blocking.

skipped is a count. Each failed[].error is { key, params? }: a stable machine key plus its parameters.