Layout 1:1 from NimmstaLayout-XML (device pxx=200, pxy=200) · Load (get-job) → Package Step (scan parcel) → Placing Step (destination + LightTag) → Check Done → done. Optional: Damage reporting, Shortage (quantity), Options. LightTag via jobOptions.lightTagEnabled.
Required HTTP Data Connection endpoints per workflow step (derived from step logic). Standard PoV JSONs still use CSV/local job data — these endpoints are what your ERP/WMS should expose when migrating to HTTP.
get-job
Load open picking job and all pick lines
validate-parcel
Validate parcel barcode exists in open sort job
resolve-destination
Validate scanned destination barcode matches expected target
confirm-sort
Confirm parcel sorted / placed at destination
complete-job
Close picking job and send results to ERP
get-job
Load open picking job and all pick lines
report-damage
Report parcel damage with note
report-short-pick
Report partial pick / shortage quantity
report-exception
Report sorting exception / skip
report-exception
Report sorting exception / skip
report-exception
Report sorting exception / skip
report-damage
Report parcel damage with note
Parcel sorting with LightTag destination. See the step-by-step section above for which endpoint belongs to which workflow step.
erp-system — referenced as dataConnection in the workflow/orders/{orderId}/lines/{lineId}await works in loadData pre/post processing, onStopJobCode, and api.workflow.runActionCodeAsync(...). Step handlers (onScan, onButtonPress) are synchronous — use a loading step or workflow actions for API calls.
"loadData": {
"endpoint": "get-job",
"dataConnection": "erp-system",
"preProcessCode": "workflowStep.lastError = null; return request;",
"postProcessCode": "return response.data;",
"onSuccess": [{ "code": "job = setJob(response); ..." }]
}"actions": [{
"code": "api.workflow.runActionCodeAsync('confirmPickLine')
.then(() => { ... })
.catch((e) => { workflowStep.lastError = e; });"
}]get-job → setJob){ "name": "Order or batch name", "results": [ { /* fields below */ } ] }
Field in job.results[] | Description |
|---|---|
parcel | Parcel barcode |
destination | Sort target + LightTag ID |
note | Damage / exception note |
check | Timestamp when placed |
POST /sorting/events
{ "parcelBarcode": "003404…", "destination": "LINE-07" }Coordinates 1:1 from NimmstaLayout (device pxx=200, pxy=200). Sorting with LT (PoVTemplates/Sorting with LT.json).