What are the Slack Archives?

It’s a history of our time together in the Slack Community! There’s a ton of knowledge in here, so feel free to search through the archives for a possible answer to your question.

Because this space is not active, you won’t be able to create a new post or comment here. If you have a question or want to start a discussion about something, head over to our categories and pick one to post in! You can always refer back to a post from Slack Archives if needed; just copy the link to use it as a reference..

Hey.. is there a plan to make shipments-rest-api compatible with the ne shipments group? It seems th

UPDQFGGM9
UPDQFGGM9 Posts: 29 🧑🏻‍🚀 - Cadet
edited February 2020 in Help

Hey.. is there a plan to make shipments-rest-api compatible with the ne shipments group? It seems that my shipment is always set to null because the ShipmentGroupTransfer is empty.

We use a price plugin so every time findShipmentGroupShippingPrice in MethodPriceReader is called the call will fail due to the missing GroupTransfer.

Or it is not passed through here: https://github.com/spryker/spryker-core/blob/master/Bundles/Shipment/src/Spryker/Zed/Shipment/Business/ShipmentMethod/MethodReader.php#L100

Comments

  • Valerii Trots
    Valerii Trots SRE @ Spryker Sprykee Posts: 1,654 ✨ - Novice
    edited March 2020

    Hi Chris, our development took a look at your problem and they found an issue in the code regarding price plugin. They will create an internal ticket for fixing but it can take a while due to priorities.

    So to unblock you there are two possible workarounds.

    1. At first, a price plugin must implement the old deprecated interface \Spryker\Zed\Shipment\Communication\Plugin\ShipmentMethodPricePluginInterface

    In the \Spryker\Zed\Shipment\Business\ShipmentMethod\MethodPriceReader::findShipmentGroupShippingPrice() method line 81 add this code:

    $pricePlugin = $this->getPricePlugin($shipmentMethodTransfer);
    return $pricePlugin->getPrice($quoteTransfer);
    
    1. In the \Spryker\Zed\Shipment\Business\ShipmentMethod\MethodReader::findAvailableMethodById() method lines 99-100 replace the code with this one:
            $shipmentGroupTransfer = (new ShipmentGroupTransfer())
                ->setShipment((new ShipmentTransfer())
                    ->setMethod($shipmentMethodTransfer)
                    ->setShippingAddress($quoteTransfer->getShippingAddress()))
                ->setItems($quoteTransfer->getItems());
            $storeCurrencyPrice = $this->methodPriceReader
                ->findShipmentGroupShippingPrice($shipmentMethodTransfer, $quoteTransfer, $shipmentGroupTransfer);
    

    This will work for both old and new price plugins.

    But in general Glue doesn't support split shipment yet so it can be that this won't help. AFAIK split shipment in Glue is on the roadmap but without any ETA.

  • UKBF1R1S5
    UKBF1R1S5 Posts: 34 🧑🏻‍🚀 - Cadet

    @valerii.trots i found a solution for that. I created a PR: https://github.com/spryker/spryker/pull/7239

  • Valerii Trots
    Valerii Trots SRE @ Spryker Sprykee Posts: 1,654 ✨ - Novice

    Thanks, will communicate this internally.