SOAP API: ShipWidget Web Service

WSDL can be found at:  https://app.zenventory.com/services/shipwidget.wsdl

Starting a New Session

The first step in using the ShipWidget service is to start a session. This is done by using the GetSession method. GetSessionRequest is used as the request input. This sends a user’s secure key, generated from within Zenventory, and serves as the credentials to access and alter shipment data. The web service will send back a GetSessionReponse message containing the ID of the newly opened session.

Retrieve Shipments

Now that a session is opened, GetShipments web method may be used to pull shipments awaiting to be dispatched from Zenventory for sessions user’s warehouse. GetShipmentRequest is used as the input. There are two options to retrieve shipments. The first is to get all shipments for orders that were created before the date provided in LastCheck. The second is to get shipments for a single order by searching for the order number in OrderNo. If both are given, OrderNo is used. All matching shipments found will be sent back by GetShipmentsReponse.


Retrieve Shipped Shipments

After a session is opened, the GetShippedShipments web method may be used to pull shipments that have already been shipped since a certain time. GetShippedShipmentsRequest is used as the input. All matching shipments found will be sent back to GetShipmentsResponse.

Update Shipments

Shipments pulled from Zenventory can have their shipping information updated and marked as shipped by using the UpdateShipments web method. The carrier service used can be saved. Additionally, packages can be added, detailing their weight and tracking number. UpdateShipmentsResponse is sent back, telling if the update was successful or not.

ShipWidgetWrapper DLL

Use with C#

The ShipWidget Wrapper DLL provides an easy way for C# assemblies to use the web service. It contains a ShipWidget class with methods to handle SOAP communications and a Status class to represent response statuses. It also has auto-generated classes that match complex types and elements from the web service’s WSDL. Uses the ShipWidgetWrapper.ShipWidget namespace. Currently out of date with versions 1.01 and later.

Class Status

All the methods in the ShipWidget class will return a Status with information regarding their result.

This class had 3 methods that are used to work with the three web service methods. The same basic steps apply as well. First call StartSession to open a session. Then GetOrder to pull the shipments for an order from Zenventory. At this point, shipping information can be added to the retrieved shipments. Package information can also been added. To add a package, create a new Package object and add it to the shipment’s Package array. Finally, UpdateOrder is used to send the shipments back to Zenventory so the changes can be saved and marked as shipped. The process can be started again by searching for another order. Only the web service URL, secure user key, and an empty list of shipments need to be handled outside of the class. All methods are static so there is no need to instantiate this class.

Class ShipWidget

This class had 3 methods that are used to work with the three web service methods. The same basic steps apply as well. First call StartSession to open a session. Then GetOrder to pull the shipments for an order from Zenventory. At this point, shipping information can be added to the retrieved shipments. Package information can also been added. To add a package, create a new Package object and add it to the shipment’s Package array. Finally, UpdateOrder is used to send the shipments back to Zenventory so the changes can be saved and marked as shipped. The process can be started again by searching for another order. Only the web service URL, secure user key, and an empty list of shipments need to be handled outside of the class. All methods are static so there is no need to instantiate this class.

 

Related Articles