feat(carrier-with-rates) Add samples for validate shipment method #2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Main purpose of this change is to add possibility to validate by carrier app shipment's prototype during created/update order.
Assumption:
validation can be optionally force during create/update shipment method (depend on request property ValidateShipmentMode: NoValidation, ValidateOnly, ValidateAndFail)
validate shipment method use model similar to create label request so connectApp should implement carrier required validation only once
ShipEngine calls gateway directly, SPS is omitted
for future use (dedicated ShipEngine ValidateShipment method) request/response models are extended to service collection
Service is identified by service code and correlation id
response error contains message, field name, field value and carrier error code
ShipEngine validation return success ("has_errors": false) when carrier app does not implement validation method
Changes related to adding new method ValidateShipment at connectApp.
Adjust models for new method.
Add template for generating it during connect init.
Related PR's:
Connect: https://github.com/shipstation/ipaas-connect/pull/828
Carrier-api-common https://github.com/shipstation/integrations-shipping/pull/2523
Example of usage in Dummy-module: https://github.com/shipstation/integrations-shipping/pull/2685
ShipEngine: https://github.com/shipstation/shipstation/pull/17118