Skip to content

fix: parse live REST order status responses - #1

Merged
very-code-com merged 1 commit into
masterfrom
fix/rest-order-status-response
Aug 19, 2026
Merged

fix: parse live REST order status responses#1
very-code-com merged 1 commit into
masterfrom
fix/rest-order-status-response

Conversation

@very-code-com

Copy link
Copy Markdown
Owner

Summary

  • Parse the OrderStatus wrapper returned by the live DPD REST endpoint while retaining compatibility with the historical flat response shape.
  • Raise DpdCloudResponseParseException when a successful response has no order-status payload instead of returning an empty DTO.
  • Document that Cloud Service labels must be persisted at creation time and that myDPD is the supported manual reprint fallback when the order is available there.

Verification

  • Confirmed against the production SOAP and REST endpoints and the current DPD WSDL.
  • 208 unit tests / 499 assertions pass.
  • PHPStan level 8 passes.
  • All PHP sources, tests, and examples pass syntax validation.
  • Offline transport example passes.

Release target: v1.0.1.

The production getOrderStatus REST endpoint nests its tracking payload under OrderStatus. The parser read the response root instead, so Ack=true produced an empty DTO.

Unwrap the live response while retaining compatibility with the historical flat shape, raise a parse exception when the payload is absent, add regression coverage, and document the supported label reprint fallback.

Verified against the production SOAP and REST endpoints and the current DPD WSDL. All 208 unit tests (499 assertions) pass and PHPStan level 8 is clean.
@very-code-com
very-code-com merged commit dacac86 into master Aug 19, 2026
4 checks passed
@very-code-com
very-code-com deleted the fix/rest-order-status-response branch August 19, 2026 11:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant