Managing shipments in any eCommerce app is something that may be tricky. There are many shipping providers and every of them has probably its own API format which allows to provide shipment data and book a courier. To make this process more straight forward and generic, we decided to create an abstract layer for Sylius platform based applications which allows you to write just simple API call and configuration form for specific shipping provider. The workflow is quite simple - configure proper data that's needed to export a shipment, like access key or pickup hour, book a courier for an order with one click and get shipping label file if any was received from the API. The implementation limits to write a shipping provider gateway configuration form, one event listener and webservice access layer.
We created a demo app with some useful use-cases of the plugin! Visit demo.bitbag.shop to take a look at it.
The admin can be accessed under demo.bitbag.shop/admin link and
sylius: sylius credentials.
Read this blog post in order to start using this plugin.
In order to run tests, execute following commands:
$ composer install $ cd tests/Application $ yarn install $ yarn run gulp $ bin/console doctrine:database:create --env test $ bin/console doctrine:schema:create --env test $ vendor/bin/behat $ vendor/bin/phpspec
In order to open test app in your browser, do the following:
$ composer install $ cd tests/Application $ yarn install $ yarn run gulp $ bin/console doctrine:database:create --env test $ bin/console doctrine:schema:create --env test $ bin/console server:start --env test $ open http://127.0.0.1:8000/
Learn more about our contribution workflow on http://docs.sylius.org/en/latest/contributing/