Download the PHP package shipstream/openmage-sync without Composer

On this page you can find all versions of the php package shipstream/openmage-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 openmage-sync

ShipStream <=> OpenMage Sync Extension

This is an extension for OpenMage and Magento 1 (CE or EE) which facilitates efficient inventory, order and tracking info synchronization between OpenMage/Magento and the ShipStream OpenMage/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 OpenMage/Magento store?

Why is this required? Doesn't OpenMage/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 OpenMage Catalog Inventory API does not use proper database-level locking so is also prone to local race conditions. This module uses SELECT ... FOR UPDATE to ensure that updates are atomic at the database level.
  3. This module implements a "pull" mechanism so that OpenMage 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 OpenMage 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 shipstream_order_shipment.createWithTracking 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.

Status State Diagram

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.

Status State Diagram

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

You can install this extension using Composer, modman, zip file or tar file.

Flush the OpenMage cache after installation to activate the extension.

modman

Composer

comment: <> ()

Run composer require to pull in the extension to your composer environment.

Zip file

  1. Download the latest release from the Releases page or click here to grab the latest nightly build.
  2. Extract the contents of the downloaded file into a clean directory.
  3. Move the files from the openmage-sync-master/app directory into your OpenMage/Magento root app directory.

Linux command line (tar file)

Setup

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

  1. Configure the plugin in OpenMage/Magento
  2. Create an API Role and API User
  3. Setup 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.

  1. Navigate to "System > Web Services > SOAP/XML-RPC - Roles"
  2. Click "Add New Role"
  3. Provide the name "ShipStream" and your current admin password
  4. Click the "Role Resources" tab and select the resources listed in the section below
  5. Click "Save Role"
  6. Navigate to "System > Web Services > SOAP/XML-RPC - Users"
  7. Click "Add New User"
  8. Provide the form fields choosing a secure API Key and note the "User Name" and "API Key" for later use
  9. Click the "User Role" tab and select the "ShipStream" role created in the previous steps
  10. Click "Save User"
  11. Provide the User Name and API Key to the ShipStream subscription configuration in ShipStream

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:

Customization

Feel free to modify this source code to fit your specific needs. For example if you have multiple fulfillment providers you may want to add some metadata to the orders so that they will not be imported automatically.

Support

For help just email us at [email protected]!


All versions of openmage-sync with dependencies

PHP Build Version
Package Version
Requires php Version >= 7.0
magento-hackathon/magento-composer-installer 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/openmage-sync contains the following files

Loading the files please wait ....