Skip to content
Logistics Systems

Integrations

WCS integration with Manhattan: tasks, events and reconciliation

Specifying messages, acknowledgements, retries and recovery between Manhattan WMS and WCS.

ABNET • Technical guide · 5 min read

Identify the actual product

Manhattan covers multiple solutions and installations. Record edition, version, extensions, available interfaces and functions already owned by WMS/WES. Active documentation describes automation orchestration; it does not prove that every installation exposes a particular endpoint.

Map inbound, storage, picking and shipping separately. Establish task creation, update authority and completion evidence. ABNET WCS integration should follow this contract rather than duplicate inventory rules.

Technical reference: Manhattan — Integrated Automation & Robotics.

Stable message identity

Specify task, load, message and correlation identifiers, required fields, units, enumerations and version compatibility. A priority update is not a new task; retransmission must not create another physical movement.

Transport acknowledgement, business acceptance and physical completion are different facts. Preserve pending event publication so confirmations survive communication outages.

Retry and operational exceptions

Retry transient failures with limits, spacing and volume control. An invalid destination requires correction. Exception queues need ownership, diagnosis and a replay procedure that preserves identity.

Provide a way to compare open tasks in both systems with known physical position. Matching message counts cannot detect a confirmation assigned to the wrong load. Partial execution must remain distinguishable from completion.

Worked timeout scenario

WCS delivers C31 and sends E91. WMS processes it but its response is lost. Replaying E91 must not create another inventory transaction. A late task update after completion should be rejected or compensated according to contract, never silently reopen movement.

Acceptance includes extended outages, out-of-order events and queue recovery. Derive latency and throughput limits from the contracted workload; demonstration numbers are not production sizing.

Before the API: agree functional ownership

Record the Manhattan product, version, extensions, authentication, traffic limits and available environments. For each flow, identify the task-creation trigger, destination owner and physical completion point. WMS, WES, WCS and local control do not necessarily map to separate servers.

The interface document should cover nominal execution, cancellation, priority changes, partial outcomes and recovery. Assign owners at both ends and define contract-change validation. A connected interface can still carry the wrong interpretation of a load identifier or destination.

Illustrative contract: a message is not a task

The following JSON is a teaching example. It is neither an official Manhattan API nor a published ABNET WCS message format. Map its concepts to the interface actually available in the project.

messageId identifies a logical message delivery, taskId the physical operation and taskVersion an authorized update. correlationId connects the chain of commands and events. Deduplication keys need appropriate scope, such as producer and facility, to avoid collisions between senders.

{
  "schemaVersion": "example-1",
  "messageId": "MSG-0091",
  "taskId": "T42",
  "taskVersion": 1,
  "correlationId": "FLOW-018",
  "loadId": "C18",
  "source": "IN-01",
  "destination": "S3",
  "intent": "MOVE"
}
Illustrative contract: a message is not a task
ElementRule to specifyFailure prevented
Identity and scopeUniqueness, retention and restart behaviorReplaying old work after losing duplicate history.
Task versionPermit updates only in the allowed version and phaseAn old priority overwriting a recent decision.
Load and locationsValidate existence, format and mappingMoving the right load to the wrong location.
OutcomeSeparate received, accepted, executing and completedPosting inventory before physical delivery.

Three different acknowledgements in one flow

Transport receipt, business acceptance and physical completion must be distinguishable in logs and interfaces. Transport acknowledgement may precede destination validation. An accepted task may wait for capacity without any communication fault.

  1. Manhattan → WCS

    Request T42 with load, destination and version.

  2. Channel → producer

    Acknowledge protocol receipt without implying execution.

  3. WCS → Manhattan

    Accept after validation and recording, or reject with a reason.

  4. WCS ↔ equipment

    Reserve, send command and track the load.

  5. WCS → Manhattan

    Publish evidenced delivery with a stable event identity.

  6. Manhattan → integration

    Confirm processing or support outcome reconciliation.

If the final response is lost, replaying the event must not repeat the inventory transaction. Deduplication retention must cover the agreed replay window.

Ordering, timeouts and operational exceptions

Order dependent operations, such as updates to the same task. Avoid a global queue where independent tasks can run concurrently. A future version arriving before its predecessor needs an agreed wait, state query or diagnosable rejection. Timestamps alone do not establish causal order.

For transient failures, bound attempts and use progressive spacing with variation to avoid synchronized retry storms. Content rejection needs correction, not endless retries. Exception queues need ownership, context and audited replay. Correcting payload under the same identity may be treated as a duplicate; define how corrected versions obtain valid identities.

Ordering, timeouts and operational exceptions
OccurrenceReference actionAvoid
Response lost after acceptanceQuery T42 or idempotently repeat the original requestCreating T43 merely because of a timeout.
Invalid destinationReject with code and context; correct through authorized flowRepeating the same invalid content indefinitely.
Cancellation after movementEvaluate commitment point and compensationDeleting the task while its load remains in transit.
Repeated completionReturn the previously applied resultPosting another inventory movement.

Minimum integration acceptance matrix

Tests must prove business and execution integrity, not just connectivity. Use identifiable tasks, known initial state and correlated records from both systems. Workload and recovery limits should come from agreed operational requirements.

After each scenario, reconcile accepted tasks, physically delivered loads and WMS-recorded outcomes. Every difference needs an explained rejection, cancellation or open exception. A dashboard without alarms does not replace reconciliation.

Minimum integration acceptance matrix
ScenarioExpected outcomeEvidence
Duplicate requestOne physical task and coherent repeated responsestaskId, deduplication and load trajectory.
Lost final confirmationRecovered notification without new executionOriginal event and one WMS outcome.
Reversed updatesOld version cannot overwrite new versionReceived versions, decision and final state.
Restart during executionRecover or block for reconciliationPersisted state, physical observation and recovery decision.
Channel outage and returnDrain backlog within agreed limitsQueue age, useful throughput and unresolved tasks.

Project verification criteria

  • Confirm edition, available interface and decision ownership.
  • Lose the response after processing and test deduplication.
  • Reconcile open tasks after a prolonged outage.

Examples describe engineering decisions and test scenarios. Implemented interfaces, limits and features are defined by each project’s scope.

Continue reading

Application in ABNET WCS