Download the PHP package shipstream/magento2-shipstream-sync without Composer

On this page you can find all versions of the php package shipstream/magento2-shipstream-sync. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package magento2-shipstream-sync

ShipStream <=> Magento2 Sync Extension

This is an extension for Magento2 which facilitates efficient inventory, order and tracking info synchronization between Magento2/Magento and the ShipStream Magento2/Magento Plugin. This extension will have no effect until the corresponding plugin subscription has been configured in ShipStream.

What functionality does this extension add to my Magento2/Magento store?

Why is this required? Doesn't Magento2/Magento already have an API?

Yes, but there are several shortcomings that this extension addresses:

  1. When syncing remote systems over basic HTTP protocol there is no locking between when the inventory amount is known and when it is updated, so setting an exact quantity for inventory levels is prone to race conditions. Adding the "adjust" method allows ShipStream to push stock adjustments (e.g. +20 or -10) rather than absolute values which are far less susceptible to race condition-induced errors.
  2. The Magento2 Catalog Inventory API does not use proper database-level locking so is also prone to local race conditions.
  3. This module implements a "pull" mechanism so that Magento2 can lock the inventory locally and remotely, take a snapshot of local inventory and remote inventory, then sync the inventory amounts all inside of one database transaction. This ensures that inventory does not drift or hop around due to race conditions. For a high-volume store these issues are much more frequent than you might imagine.
  4. The Magento2 API shipment.info method returns SKUs that do not reflect the simple product SKU which is used by ShipStream. This extension returns SKUs that are appropriate for the WMS to use.
  5. Four or more API calls can be cut down to one with the shipStreamSyncShipStreamOrderShipmentV1CreateWithTracking:shipStreamSyncShipStreamOrderShipmentV1 method which also allows for easy customization (e.g. receiving and storing serial numbers or lot data).

The API endpoints are implemented using Magento's provided SOAP/XML-RPC API so these endpoints do not create any additional security vulnerability exposure.

What is the point of the new statuses?

Without a state between "Processing" and "Complete" it is otherwise difficult to tell if an order is ready to be submitted to the warehouse, if it has been successfully submitted to the warehouse, or if the order has been processed at the warehouse.

The "Ready to Ship" status can be set manually or programmatically (using some custom code with your own business logic) to indicate when an order is ready to be shipped. If you don't want to use this status simply ignore it and configure ShipStream to pull orders in "Processing" status instead.

The "Failed to Submit" status indicates that there was an error when trying to create the order at the warehouse.

The "Submitted" status indicates that it was successfully submitted to the warehouse, but that it has not yet been fully shipped. Once it is fully shipped the order status will automatically advance to "Complete".

Note: Feel free to change the status labels of these new statuses but do not change the status codes to avoid breaking the integration.

If the ShipStream plugin is configured to sync orders that are in "Ready to Ship" status the order status progression will work as depicted below. Note that this requires a user or some custom code to advance the order status from "Processing" to "Ready to Ship" before the sync will occur.

If the ShipStream plugin is configured to sync orders that are in "Processing" status the order status progression will work as depicted below. This configuration will result in automatic order sync without any user interaction once payment is received.

It is also possible to configure the ShipStream plugin to use any other status in the event that you would like to create a custom workflow.

Installation

Use composer to install this extension:

Setup

Once this extension is installed and the Magento cache has been refreshed you have only three steps:

  1. Configure the plugin in Magento2/Magento
  2. Create an API Role and API User
  3. Set up the plugin subscription in ShipStream

More details for each step are provided below.

Configuration

Adjust configuration in System > Configuration > Services > ShipStream Sync > General section to your needs.

Create API User

This extension does not require any setup other than to create an API Role and API User for the ShipStream plugin.

Create a User in Magento 2 Go to System > Permissions > All Users to manage admin users. Add a New Shipstream User:

Assign User Role: System > Permissions > User Roles. Copy Shipstream Role user admin/pass to local.xml

shipstream_user shipstream_pass

Role Resource: Stores->Settings->Configuration->ShipStream Sync

To get AuthToken:

  1. Navigate to System > Integrations > Add New Integration
  2. Enter name "ShipStream Sync" and your email address
  3. Click the "API" tab on the left and check the following resources:
    • Sales > Operations > Orders > Actions > View
    • Sales > Operations > Orders > Actions > Ship
    • Sales > Operations > Orders > Actions > Comment
    • Sales > Operations > Shipments
    • Catalog > Inventory > Products
  4. Back on the Integrations grid click "Activate" on the new integration and "Accept" the confirmation
  5. Copy the tokens for the integration and paste them into the ShipStream plugin configuration

    Get the Access token and copy the same to Shipstream plugin local.xml

    Access Token Consumer Key Access Token Secret

Required API Role Resources

The following Role Resources are required for best operation with the ShipStream plugin:

ShipStream Setup

The ShipStream plugin will need the following information:

Assign Source/Stock

We should assign the new source and stock created by module as base at the backend.

Customization

Feel free to modify this source code to fit your specific needs.

Support

For help just email us at [email protected]!


All versions of magento2-shipstream-sync with dependencies

PHP Build Version
Package Version
Requires php Version >=7.4.0
ext-json Version *
ext-pcre Version *
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package shipstream/magento2-shipstream-sync contains the following files

Loading the files please wait ....