Digital Waste Tracking
Read a Job’s receipt status
/a/DigitalWasteTracking_status
Read local configuration/completion and the latest receipt mapping before offering submit or update actions.
When to use this endpoint
Use this lightweight local check before preview. It reports persisted mapping state; it does not contact the provider, validate answers or report queue progress.
Authentication and permissions
Authenticate with signed API-key fields or a logged-in CRM session; session dispatch applies CSRF checks. The authenticated tenant must have features2.ukDigitalWasteManagement=1. The feature is read from the account record, not trusted from request input.
Requires Jobs View through Core_requirePermission('view', 'pageJobs').
Job reads and mutations enforce the authenticated tenant, active Job, TeamAccess department/assignment scope and the legacy department-based customer boundary. Collections filter before counts/pagination; explicit Job and cancellation requests check access before a service call or queue mutation.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
job_id | Integer-compatible | Yes | Nonzero converted ID of a non-deleted tenant Job. Negative values reach the lookup and normally return job not found. |
Example request
$result = FM_api('DigitalWasteTracking_status', [
'job_id'=>'1042',
]);
Example response
{
"ok": 1,
"configured": true,
"completed": true,
"submission_mode": "manual",
"profile_id": "aaaaaaaaaaaaaaaa",
"profile_name": "North receiving site",
"submitted": false,
"ambiguous": false,
"tracking_id": "",
"submitted_at": 0
}
Errors and unusual responses
| Response | Condition |
|---|---|
{"error":"not logged in"} | No authenticated tenant context is available. Invalid signed credentials can be rejected by the dispatcher before the handler runs. |
{"error":"UK Digital Waste Tracking is not enabled for this account"} | The account feature is disabled. |
{"error":"missing or invalid parameter: job_id"} | The converted job_id is zero. |
{"error":"job not found"} | The local Job is absent or deleted. |
{"error":"permission denied"} | The required page action is absent; the shared permission helper retains its legacy roleless fallback. |
{"error":"job not found or outside your record scope"} | The explicit Job or queue’s Job is missing, deleted or hidden by record scope. Bulk queueing reports this per Job. |
Legacy application errors may be returned with HTTP 200. Check the decoded response for error, not only the HTTP status.
Behaviour and edge cases
- configured is true only when the Job Form metadata has enabled=1. completed is true for canonical Job statuses 1 Complete and 2 Processed; custom/other status numbers are not eligible completion states.
- Reads the latest Job api_syncs mapping by id. profile:
is submitted; ambiguous and ambiguous: set ambiguous=true and submitted=false even when a tracking ID remains. submitted_at is mapping cdate in Unix seconds, not proof of the provider’s actual receipt time. - Before first submission, profile resolution is saved Job override (last colon-delimited component), then Form profile, then account default. After mapping, the recorded immutable profile wins; legacy blank/other instances use legacy-default. Missing profile names display Archived receiving site and missing modes default manual.
- There is no queue field, readiness validation, default pagination or provider lookup. submitted=true describes the retained local mapping and may include an archived profile. It is not a fresh external confirmation.
See it in Fieldmotion
CRM1
No direct CRM1 caller was found in the production JavaScript source. The operator workflow is implemented in CRM2.
CRM2
Open a configured Job Form. CRM2 calls DigitalWasteTracking_status before presenting receipt preview/submit/update controls; filter by job_id in the network panel.
Related endpoints
DigitalWasteTracking_preview— Validate the currently mapped payload.DigitalWasteTracking_submit— Send or explicitly update a receipt.DigitalWasteTracking_operations— Inspect queue and operator classifications.