Skip to main content

Get Report Task

GET 

/api/veracore/integration-instances/:integration_instance/report-tasks/:report_task

Retrieve one Veracore report task together with a row-by-row reconciliation of the report payload it brought back.

Not yet available to API tokens

This endpoint currently requires session authentication; Personal Access Token scope support is in progress.

This is the detail view behind the report tasks table. It returns every field from the list endpoint, plus:

  • row_count — how many rows the stored payload actually contains right now.
  • summary — a count per outcome state, recomputed at request time.
  • rows — each report row parsed into its report columns, resolved against the mirrored Veracore order, and bucketed into one outcome state.

rows_matched vs summary (they are allowed to disagree) rows_matched is the historical figure the processing job wrote when it ran and is never recomputed. summary is derived live from the current mirrored orders. A row that had no tracking when the report was processed can pick tracking up from a later sync, so the live breakdown drifts away from the stored count over time. Both are returned deliberately; surface rows_matched as "when it ran" and summary as "as of now".

Row resolution Each row's Order ID cell is matched against the instance's mirrored orders by ReferenceNumber first, then by Veracore OrderID. Orders belonging to a different integration instance are never considered.

Outcome states (each row lands in exactly one, evaluated narrowest-cause-first)

  • unusable — the row carries no Order ID at all, so it can never be matched.
  • no_order — an Order ID that matches no mirrored order (the order was never pulled in).
  • tracked — the matched order already carries tracking (or is explicitly flagged NoTracking). This outranks the two states below on purpose: once tracking is on the order, what the report cell said stops mattering.
  • no_tracking_in_report — matched an order, but the report cell was blank, so there was nothing to apply. Informational, not a task.
  • pending — the report carried a tracking number and the matched order still has none. This is the bucket worth chasing.

Each row also returns state_label and state_color so a client renders the chip without hard-coding the mapping.

Report columns read from each row Order ID, Individual Package Tracking Number, Package Freight Carrier, Package Freight Code Description, Shipping Order Date & Time Created (parsed from m/d/Y H:i:s; an unparseable value degrades to null rather than erroring), Freight.

A null or malformed report_data payload is not an error — it returns row_count: 0 with an empty rows array, which is the correct answer for a task that has not been processed yet.

The raw payload is deliberately NOT included here — fetch it from GET .../report-tasks/{id}/raw when needed, so opening the detail view never carries the report down the wire twice.

Errors

  • 404 when the report task does not exist or belongs to a different integration instance.
  • 404 when the integration instance is not a Veracore instance.

Authentication: Requires Bearer token.

Request

Responses

OK

Response Headers
    Content-Type