AfterShip Integration for Magento 2
Having a shipment tracking application that handles all the processes after a package left the shop, is essential. We decided to develop a solution that automates the whole process from A to Z, consuming tracking APIs like AfterShip and TrackingMore.
From the begining we set some prerequisites that will make the life of the shop admin easier, compared to using a shipment tracking service/platform, (like aftership) directly or a connector with that service.
- Does everything from within Magento
We tried to integrate all the functionalities into Magento and use the tracking services only for tracking.
That means that all the data are stored in the shop's database and can be accessed at any time. For example the admin or the customer, can check the status of a shipment, witout re-connecting to the tracking API, since all the data are already saved in the shop's database, beforehand. This spares resources and increases the performance.
Also the email notifications are sent from within the shop, using the Magento's email system and templates. This also has several benefits (comparing to using the notification functionalities offered by shipment tracking services), since the emails got more chances to be considered legitimate and opened.
After the initial configuration, the shop admin does not need to do anything at all.
The extension uses cron jobs to find new trackings, update the existing and send email notifications, regularly.
We focused a lot on performance. The extension can handle a big amount of data (incoming or outcoming) and also overcomes some of the limitations of the tracking APIs, like the limits in the requests and responses.
- Independent from the tracking service
Your shop is not dependant on any tracking service. For example if you decide to change AfterShip to TrackingMore, or vice versa, the extension will continue to work and your past data will still be usable.
We developed it that way, that any REST api can be used for fetching tracking information, without needing to change the shop's data structure.