Northstar WMS Web Services API
This document describes the available methods of the Northstar WMS Web Services API. The API supports both a standard WCF service interface, and a REST interface. For each API method, the c# syntax of calling the method using the standard WCF service interface is provided, as well as the full REST interface request URL, minus the base web service address. The web service URL for both the WCF service interface and the REST interface is as follows, which does not include the base web service address:
Integration/NorthstarWmsIntegrationRest.svc/AuthenticationREST
Integration/NorthstarWmsIntegrationRest.svc/AuthenticationREST
For the WCF Service Interface, you would need to create a Service Reference or EndpointAddress containing the base address (for example, https://localhost/NorthstarWMS/) and the URL shown above appended to the base address, to give a full URL like https://Your server name or IP.local/NorthStarWMS/integration/NorthstarWmsIntegration.svc
https://Your IP address/NorthstarWMS/NorthstarWmsMobile.svc
https://Your IP Address/NorthstarWMS/Integration/NorthstarWmsIntegrationRest.svc
For the REST interface, you would append the URL given in the REST Syntax for each of the methods below to the base address to create the full URL for the request.
Be sure to review the sample application for further details on this.
User Login();
void Logout();
While calling the Login and Logout methods are not necessary for calling the Service API methods when not using the REST interface, the Login method will return the User object, as shown below. When calling any of the Service API methods, it is necessary to set the Username and Password properties of the Username property of the ClientCredentials object. The ClientCredentials object is part of the proxy class, of type ClientBase, created when a Service Reference is added to the project from Visual Studio to the Service API web service. This is the same proxy class you would be using to make calls to the Service API. This Username and Password must be a valid login for the Northstar WMS website, and it also determines which customer database will be used when calling each of the Service API methods. When an API method is called, the Username and Password set in the ClientCredential object is passed to the web service and they are validated before the Service API method is called. Each API method requires that the login be authenticated before calling it.
When using the REST interface, the application will need to call the Login method of the Authentication service. This will return an authentication ticket, stored in a cookie, from the website, and this authentication ticket will then be used on all subsequent REST API method calls to let the website know that caller of the method is already authenticated and authorized to call the API method. See the sample test application, in the file RestServiceSecurityManager.cs, to see how to setup the client application during the login process. The Login method of the Authentication service has the same c# syntax as shown above. It takes no data on the request and returns a User object in the response in JSON format. The Logout REST API call takes no data on the request and returns no data on the response.
public class user { public string FirstName { get; set; } public string LastName { get; set; } public string Email { get; set; } public string Username { get; set; } public string Password { get; set; } public string Phone { get; set; } public string Department { get ; set; } }
| Property | Description |
|---|---|
| string FirstName | First name of User |
| string LastName | Last name of User |
| string Email | Email address |
| string Username | Username used for login |
| string Password | Password used for login |
| string Phone | Phone number of User |
| string Department | Department of User |
A list of Response objects is returned for each Import method. The list of response objects indicate any errors and/or warnings that have occurred for each object being imported. Below is what is returned, along with descriptions of each property.
public class Response { public bool Success { get; set; } public string EntityId { get; set; } public string LineNo { get; set; } public string ItemNo { get; set; } public List<string> WarningMessages { get; set; } public List<string> ErrorMessages { get; set; } }
| Property | Description |
|---|---|
| bool Success | Indicates whether import of the entity was successful or not (true = Success, false = Failure) |
| string EntityId | Identifier of entity being operated on |
| string LineNo | |
| string ItemNo | |
| List |
Warning messages that indicate non-breaking issues with operation. If there are warnings, but no errors, then the import of the entity being processed was successful and saved to the database. |
| List |
Error message for breaking issues with operation. If errors are present for the entity being processed, then the import of that entity was not successful, nor saved to the database. |
While making a call to one of the Service API methods, it is possible that an exception may occur while the method on the server is being executed. Each Service API method is configured to return a Fault Exception. This Fault Exception is of type NorthstarWmsFault and has the following structure and description.
public class NorthstarWmsFault { public string ExceptionMessage { get; set; } public IList <string> InnerExceptionMessages { get ; set; } }
| Property | Description |
|---|---|
| string ExceptionMessage | The top-level exception message |
| IList |
A list of the messages from any inner exceptions that occurred. |
When calling any of the Service API methods, it is recommended that a try/catch block be constructed as follows:
try { } catch ( FaultException<NorthstarWmsFault>northstarWmsFault) { } catch ( MessageSecurityException msEx) { } catch ( Exception ex) { }
In the try block, the call to the Service API method would be made, and then up to one of three catch blocks will be executed, depending on whether an exception occurred, and what type of exception. The first catch block catches any exceptions of type FaultException
The NorthstarWmsIntegrationTestClient sample application demonstrates the use of both the standard web services API, as well as the REST API. The app.config file sets a couple application settings that configures the base web service address, whether to use the REST interface, and the content type of the REST service calls (JSON or XML). The main form of the application is the TestPage1.cs form. The form contains buttons that call each web service method, using either the standard web service interface or the REST interface. The INorthstarIntegration.cs file contains the INorthstarIntegration interface used by both the standard web service and REST interfaces, and includes method, as well as data, declarations described in this document. The IServiceMethods.cs, ServiceMethodsNet.cs, and ServiceMethodsRest.cs files implement the actual web service and REST interface method calls used by the TestPage1 form. The RestServiceClientBase.cs file contains the base class for the ServiceMethodsRest class and defines some methods used by the ServiceMethodsRest class. The RestServiceSecurityManager.cs file contains the logic used for the REST services to login to the web services using an Authentication service. This file is very important in that it contains all the logic necessary for authenticating with the API’s using the REST interface. Please look at this file very closely when using the REST interface. The ServiceClient.cs file contains the ServiceClient class used by both the standard and REST web services to setup the service client. If you notice, there are no Service References used by the sample application. The client interfaces are configured inside the ServiceMethodsNet, RestServiceClientBase, and RestServiceSecurityManager classes.
List <Response> SavePurchaseOrders(List<PurchaseOrder>purchaseOrders); List <PurchaseOrder> GetPurchaseOrders(DateTime? fromDate,DateTime? toDate, bool qtyEaches, string warehouse,DateTime? fromRecvDate,DateTime? toRecvDate); List<PurchaseOrder> GetPurchaseOrdersForPoNo( string poNo,bool qtyEaches, string warehouse);
Integration/NorthstarWmsIntegrationRest.svc/IntegrationServiceREST/PurchaseOrders/Save
Integration/NorthstarWmsIntegrationRest.svc/IntegrationServiceREST/PurchaseOrders
Integration/NorthstarWmsIntegrationRest.svc/IntegrationServiceREST/PurchaseOrders/PoNo
The SavePurchaseOrders method saves one or more new Purchase Orders with their details, or updates existing Purchase Orders and their details. The PurchaseOrder class contains the properties for the Purchase Order header, and a list of the order details, each being a PurchaseOrderDetail type. The list of Response objects contains any warnings or errors that occurred while saving or updating the Purchase Orders. The EntityId property of the Response object will be set to the PoNo property of the PurchaseOrder type. The PurchaseOrder and PurchaseOrderDetail classes, along with the descriptions of their properties, are shown below.
The GetPurchaseOrders method returns a list of Purchase Orders that have been closed, but not yet exported. A From Date and a To Date can be specified to retrieve a list of Purchase Orders within a particular date range.
Date range is not required, when left blank all orders that have been received where receive qty > export qty will be returned, unless you want a specific range of orders leaving the date fields blank is the best approach.
Also, the quantities returned can be returned in Eaches if the qtyEaches parameter is set to true, otherwise, if set to false, it will return the quantities using UOM quantities. The quantities affected by the qtyEaches parameter are the OrderQty and RecvQty properties. After the Purchase Orders are retrieved, the Purchase Order details are marked as being exported by setting the Exported quantity to the Received quantity.
For the REST interface, the /PurchaseOrders/Save REST call, the equivalent of the SavePurchaseOrders c# method, expects an array of PurchaseOrder objects, serialized to JSON, on the request, and returns an array of Response objects, in JSON format, on the response to the REST API call. The /PurchaseOrders REST call, the equivalent of the GetPurchaseOrders c# method, takes a GetPurchaseOrdersRequest object, serialized to JSON, on the request, and returns an array of PurchaseOrder objects, in JSON format.
public class PurchaseOrder { public string WarehouseName { get; set; } public string PoNo { get; set; } public string VendorId { get; set; } public string VendorName { get; set; } public string VendorAddress { get; set; } public string Phone { get; set; } public string VendorAddress2 { get ; set; } public string VendorCity { get ; set; } public string VendorState { get ; set; } public string VendorZip { get ; set; } public string VendorCountry { get ; set; } public string Status { get ; set; } public string OrderDate { get ; set; } public string DueDate { get ; set; } public string Carrier { get ; set; } public string ShipModeName { get ; set; } public string CustOwnerName { get ; set; } public decimal? ShipCost { get ; set; } public string Comment { get ; set; } public string ShipToId { get ; set; } public string ShipToName { get ; set; } public string ShipToAddress { get ; set; } public string ShipToAddress2 { get ; set; } public string ShipToCity { get ; set; } public string ShipToState { get ; set; } public string ShipToZip { get ; set; } public string ShipToCountry { get ; set; } public String ProjectNo { get ; set; } public List<PurchaseOrderDetail> PurchaseOrderDetails { get ; set; } public string CustOwnerId { get ; set; } public string TrackingNo { get ; set; } public string Market { get ; set; } public string HLID { get ; set; } public string Misc1 { get ; set; } public string Misc2 { get ; set; } public string Misc3 { get ; set; } public string Misc4 { get ; set; } public string Misc5 { get ; set; } public string Misc6 { get ; set; } public string Misc7 { get ; set; } public string Misc8 { get ; set; } public bool? IgnoreImportLock { get ; set; } public byte[] OrderPicture1 { get ; set; } public byte[] OrderPicture2 { get ; set; } public bool? DropShip { get ; set; } public bool? ChangePODetailLine { get ; set; } public string VendorDocNumber { get; set; } }
| Property | Description |
|---|---|
| string WarehouseName | *Warehouse Name |
| string PONo | *Purchase Order Number of Order. This uniquely identifies the Purchase Order |
| string VendorID | *Vendor ID |
| string VendorName | Vendor Name |
| string VendorAddress | Vendor Address Line 1 |
| string VendorAddress2 | Vendor Address Line 2 |
| string VendorCity | Vendor City |
| string VendorState | Vendor State |
| string VendorZip | Vendor Zip/Postal Code |
| string VendorCountry | Vendor Country |
| string Status | *Order Status (can be set to “Open”, “Closed”, or “Partial”) Default to Open for new orders, leave status as is if updating an existing order |
| string OrderDate | *Order Date as MM-dd-yyyy (Needed Only for new orders.Default to current date. Leave OrderDate as is if updating an existing order) |
| string DueDate | Due Date as MM-dd-yyyy |
| string Carrier | Carrier |
| string ShipModeName | Ship Mode, like UPS, Fedex, or USPS. Must match what is in the WMS database. |
| string CustOwnerName | Customer Owner Name |
| decimal? ShipCost | Ship Cost |
| string Comment | Comment about Purchase Order |
| string CustOwnerId | Customer Owner ID |
| string ShiptoName | Shipto Name |
| string ShiptoAddress | Shipto Address Line 1 |
| string ShiptoAddress2 | Shipto Address Line 2 |
| string ShiptoCity | Shipto City |
| string ShiptoState | Shipto State |
| string ShiptoZip | Shipto Zip/Postal Code |
| string TrackingNo | Tracking Number |
| string Market | Market |
| string HLID | HLID (Max Length 16 ) |
| string Misc1 | Miscellaneous #1 |
| string Misc2 | Miscellaneous #2 |
| string Misc3 | Miscellaneous #3 |
| string Misc4 | Miscellaneous #4 |
| string Misc5 | Miscellaneous #5 |
| string Misc6 | Miscellaneous #6 |
| Miscellaneous #7 | |
| string Misc8 | Miscellaneous #8 |
| bool? IgnoreImportLock | When True, Order update will be continued even if ImportLock is true. Default false |
| byte[] OrderPicture1 | Order Picture 1 |
| byte[] OrderPicture2 | Order Picture 2 |
| bool? DropShip | Flag for DropShip orders |
| bool? ChangePODetailLine | Flag for ChangePODetailLine orders |
| string VendorDocNumber | Vendor Document Number |
public class PurchaseOrderDetail { public int? PoLine { get; set; } public string ItemNo { get; set; } public string ItemDesc { get; set; } public decimal? UnitCost { get; set; } public decimal? UnitWgt { get; set; } public decimal? CaseCost { get; set; } public decimal? CaseWeight { get ; set; } public string SerialNo { get ; set; } public string ExpirationDate { get ; set; } public string BestByDate { get ; set; } public string LotNo { get ; set; } public string ItemUomName { get ; set; } public long? ItemUnitQuantity { get ; set; } public decimal? OrderQty { get ; set; } public decimal? RecvQty { get ; set; } public string ReceiveDate { get ; set; } public string Misc1 { get ; set; } public string Misc2 { get ; set; } public string Misc3 { get ; set; } public string Misc4 { get ; set; } public string InvMisc1 { get ; set; } public string InvMisc2 { get ; set; } public string InvMisc3 { get ; set; } public string InvMisc4 { get ; set; } public string OrderNo { get ; set; } public string VendorDetailId { get ; set; } public string VendorDetailName { get ; set; } public string VendorDetailAddress { get ; set; } public string VendorDetailAddress2 { get ; set; } public string VendorDetailCity { get ; set; } public string VendorDetailState { get ; set; } public string VendorDetailZip { get ; set; } public string VendorDetailCountry { get ; set; } public decimal? DamageQty { get ; set; } public string DamageComment { get ; set; } public byte[] DamagePicture { get ; set; } public string Location { get ; set; } public bool? QAItem { get ; set; } public string QALoc { get ; set; } public string QAWhse { get ; set; } public bool? CrossDock { get ; set; } public string PromiseDate { get ; set; } }
| Property | Description |
|---|---|
| int? POLine | *Purchase Order Detail Line Number (Detail) |
| string ItemNo | *Item Number (Detail) |
| string ItemDesc | *Item Description (Detail) |
| decimal? UnitCost | Unit Cost of Item (Detail) |
| decimal? UnitWgt | Unit Weight of Item (Detail) |
| decimal? CaseCost | Case Cost of Item (Detail) |
| decimal? CaseWeight | Case Weight of Item (Detail) |
| string SerialNo | Serial Number of Item (Detail) |
| string ExpirationDate | Expiration Date of Item (Detail) (MM-dd-yyyy) |
| string BestByDate | Best By Date of Item (Detail) (MM-dd-yyyy) |
| string LotNo | Lot Number of Item (Detail) |
| string ItemUOMName | *Unit of Measure Name of Item (Detail) |
| long? ItemUnitQuantity | *Unit Quantity of Item, or Each Count, default to 1 |
| decimal? OrderQty | Ordered Quantity (Detail) |
| decimal? RecvQty | Received Quantity (Detail) |
| string ReceiveDate | Receive Date (Detail) (MM-dd-yyyy) |
| string Misc1 | Miscellaneous information #1 (Detail) |
| string Misc2 | Miscellaneous information #2 (Detail) |
| string Misc3 | Miscellaneous information #3 (Detail) |
| string Misc4 | Miscellaneous information #4 (Detail) |
| string InvMisc1 | Inventory Miscellaneous information #1 (Detail) |
| string InvMisc2 | Inventory Miscellaneous information #2 (Detail) |
| string InvMisc3 | Inventory Miscellaneous information #3 (Detail) |
| string InvMisc4 | Inventory Miscellaneous information #4 (Detail) |
| string OrderNo | Vendor Order Number (Detail) |
| string ShiptoZip | Shipto Zip/Postal Code |
| string VendorDetailID | Vendor ID for Item (Detail) |
| string VendorDetailName | Vendor Name for Item (Detail) |
| string VendorDetailAddress | Vendor Address Line 1 for Item (Detail) |
| string VendorDetailAddress | Vendor Address Line 1 for Item (Detail) |
| string VendorDetailAddress2 | Vendor Address Line 2 for Item (Detail) |
| string VendorDetailCity | Vendor City for Item (Detail) |
| string VendorDetailState | Vendor State for Item (Detail) |
| string VendorDetailZip | Vendor Zip/Postal Code for Item (Detail) |
| string VendorDetailCountry | Vendor Country for Item (Detail) |
| decimal DamageQty | Damage Quantity |
| string DamageComment | Damage Comment |
| byte[] DamagePicture | Damage Picture |
| string Location | Returns Location where the Item line was received each time when flag for PO with Locations is true |
| bool? QAItem | Flag Order Line as QAItem |
| string QALoc | QA Location for the Order Line |
| QA QAWhse | QA Warehouse for th Order Line |
| bool? CrossDock | Flag Order Line as CrossDock |
| string PromiseDate | Promise Date of Item (Detail) (MM-dd-yyyy) |
public class GetPurchaseOrdersRequest { public DateTime? FromDate { get ; set; } public DateTime? ToDate { get ; set; } public bool QtyEaches { get; set; } public string Warehouse { get; set; } public DateTime? FromRecvDate { get ; set; } public DateTime? ToRecvDate { get ; set; } public string StringRecvFromDate { get ; set; } public string StringRecvToDate { get ; set; } }
| Property | Description |
|---|---|
| DateTime? FromDate | The From Order Date of the GetPurchaseOrders method |
| DateTime? ToDate | The To Order Date of the GetPurchaseOrders method |
| bool QtyEaches | Same as the QtyEaches parameter of the GetPurchaseOrders method |
| String Warehouse | Warehouse name |
| DateTime? FromDate | the FromReceive Date parameter of the GetPurchaseOrders method |
| DateTime? ToDate | The To Receive Date parameter of the GetPurchaseOrders method |
| string StringRecvFromDate | The From Receive Date of order in string format MM-dd-yyyyy |
| string StringRecvToDate | The To Receive Date of order in string format MM-dd-yyyyy |
public class GetPurchaseOrdersForPoNoRequest { public String PoNo { get ; set; } public bool? QtyEaches { get ; set; } public string Warehouse { get ; set; } }
| Property | Description |
|---|---|
| String PoNo | Same as the PoNo parameter of the GetGetPurchaseOrdersPoNo method |
| bool? QtyEaches | Same as the QtyEaches parameter of the GetGetPurchaseOrdersPoNo method. |
| String Warehouse | Warehouse name |
List< InventoryHistory>GetInventoryAdjustments(DateTime? fromDate DateTime? toDate, string warehouse);
Integration/NorthstarWmsIntegrationRest.svc/IntegrationServiceREST/InventoryAdjustments
The GetInventoryAdjustments method gets the list of records from Item History where Inventory has been adjusted. A date range can be specified using the optional fromDate and toDate parameters. The InventoryHistory class, along with the descriptions of its properties, is shown below. Unless you want a specific range of adjustments returned, the best approach is to leave the toDate blank and set the fromDate/datetime to the date/time of the last call.
For the REST interface, the /InventoryAdjustments REST call, the equivalent of the GetInventoryAdjustments c# method, takes a GetInventoryAdjustmentsRequest object, serialized to JSON, in the request, and returns an array of InventoryHistory objects, in JSON format, in the response.
public class InventoryHistory { public string TransactionType { get ; set; } public string SoNo { get ; set; } public int ? SoLine { get; set; } public string PoNo { get; set; } public string PoLine { get; set; } public string ItemNo { get; set; } public string Status { get; set; } public string FromWhouse { get; set; } public string FromBin { get; set; } public string ToWhouse { get; set; } public string ToBin { get; set; } public string Qty { get; set; } public string LotNo { get; set; } public string SerialNo { get; set; } public string Container { get; set; } public string RecvDate { get; set; } public string Comment { get; set; } public string CustOwner { get; set; } public string Misc1 { get; set; } public string Misc2 { get; set; } public string Misc3 { get; set; } public string Misc4 { get; set; } public string Misc5 { get; set; } public string Misc6 { get; set; } public string Misc7 { get; set; } public string Misc8 { get; set; } public string Misc8 { get; set; } public string Reason { get; set; } public string BatchNo { get; set; } public string BatchDate { get; set; } public string ProcessDate { get; set; } public string ProcessStatus { get; set; } public string NewItemNo { get; set; } public string NewLotNo { get; set; } public string InventoryAdjusted { get; set; } public long? HistID { get; set; } }
| Property | Description |
|---|---|
| string TransactionType | *Transaction Type |
| string SoNo | Shipping Order number |
| int? SoLine | Shipping Order line number |
| string PoNo | Purchase Order number |
| string PoLine | Purchase Order line number |
| string ItemNo | *Item Number |
| string Status | Status |
| string FromWhouse | From warehouse |
| string FromBin | From bin/location |
| string ToWhouse | To warehouse |
| string ToBin | To bin/location |
| string Qty | Quantity |
| string LotNo | Lot number |
| string LotNo | Serial number |
| string Container | Container name |
| string RecvDate | Receive Date |
| string Comment | Comment |
| string CustOwner | Customer Owner |
| string Misc1 | Miscellaneous #1 |
| string Misc2 | Miscellaneous #2 |
| string Misc3 | Miscellaneous #3 |
| string Misc4 | Miscellaneous #4 |
| string Misc5 | Miscellaneous #5 |
| string Misc6 | Miscellaneous #6 |
| string Misc7 | Miscellaneous #7 |
| string Misc8 | Miscellaneous #8 |
| string Reason | Reason |
| string BatchNo | Batch number |
| string BatchDate | Batch date |
| string ProcessDate | Process date |
| string ProcessStatus | Process status |
| string NewItemNo | New Item number |
| string NewLotNo | New Lot number |
| string InventoryAdjusted | Indicates which direction inventory was adjusted (‘-‘ = adjusted down, ‘+’ = adjusted up, ‘+/-‘ = not adjusted |
| long? HistID | Unique History ID |
public class GetInventoryAdjustmentsRequest { publicDateTime? FromDate { get ; set; } public DateTime? ToDate { get ; set; } public string Warehouse { get ; set; } }
| Property | Description |
|---|---|
| DateTime? FromDate | Same as the FromDate parameter of the GetInventoryAdjustments method |
| DateTime? ToDate | Same as the ToDate parameter of the GetInventoryAdjustments method |
| String Warehouse | Warehouse name |
List<Response> SaveInventoryAdjustments( List<InventoryAdjustment> items);
Integration/NorthstarWmsIntegrationRest.svc/IntegrationServiceREST/InventoryAdjustments/Save
The SaveInventoryAdjustments method saves one or more Item adjustments. The list of Response objects contains any warnings or errors that occurred while updating the Items. The EntityId property of the Response object will be set to the ItemNo property of the InventoryAdjustment type. The InventoryAdjustment class, along with the descriptions of its properties, is shown below.
For the REST interface, the /InventoryAdjustments/Save REST call, the equivalent of the SaveInventoryAdjustments c# method, takes an array of InventoryAdjustment objects, serialized into JSON format, in the request, and returns an array of Response objects, in JSON format, in the response.
public class InventoryAdjustment { public string ItemNo { get; se; } public string WarehouseName { get; set; } public string Bin { get; set; } public string Container { get; set; } public string LotNo { get;set; } public string CustOwner { get; set; } public string ItemUomName { get; set; } public long? ItemUnitQuantity { get; set; } public DateTime? ReceiveDate { get; set; } public string Reason { get; set; } public string SerialNo { get; set; } public string ItemStatus { get;set; } public string ItemDesc { get; set; } public decimal? Quantity { get; set; } public string Misc1 { get; set; } public string Misc2 { get; set; } public string Misc3 { get; set; } public string Misc4 { get; set; } public string AdjustAllocated { get; set; } public string AdjustPlusOrMinus { get; set; } public bool? IgnoreMisc1Check { get; set; } }
| Property | Description |
|---|---|
| string ItemNo | *Item Number |
| string WarehouseName | *Ware House |
| string Bin | *Location |
| string Container | Container name |
| string LotNo | Lot Number |
| string CustOwnerName | Customer Owner name |
| string ItemUomName | Item UOM Name |
| long? ItemUnitQuantity | Item Unit Quantity |
| DateTime RecvDate | Receive Date |
| string Reason | Reason for adjustment |
| string SerialNo | Serial Number |
| string ItemStatus | Status |
| string ItemDesc | Item Description |
| descimal Quantity | Quantity |
| string Misc1 | Misc1 |
| string Misc2 | Misc2 |
| string Misc3 | Misc3 |
| string Misc4 | Misc4 |
| string AdjustAllocated | Allocated SoNo.If value, Adjust Allocated inventory to SONo. |
| string AdjustPlusOrMinus | + or - direction of adjustment |
| bool? IgnoreMisc1Check | Flag for not to check Misc1 value for Inventory filter during adjustments, default false |
public class GetInventoryAdjustmentsRequest { List<Response> SaveItems( List<Item>items); }
Integration/NorthstarWmsIntegrationRest.svc/IntegrationServicesREST/Items/Save
The SaveItems method saves one or more new Items, or updates existing Items. The list of Response objects contains any warnings or errors that occurred while saving or updating the Items. The EntityId property of the Response object will be set to the ItemNo property of the Item type. The Item class, along with the descriptions of its properties, is shown below.
For the REST interface, the /Items/Save REST call, the equivalent of the SaveItems c# method, takes an array of Item objects, serialized into JSON format, in the request, and returns an array of Response objects, in JSON format, in the response.
public String Item { public string ItemNo { get ; set; } public string UpcNo { get ; set; } public string ItemXRef { get ; set; } public string ItemDesc { get ; set; } public decimal? StockWgt { get ; set; } public string WeightUom { get ; set; } public long? RopMin { get ; set; } public long? OrderQty { get ; set; } public string StockUom { get ; set; } public decimal? SalesPrice { get ; set; } public decimal? VendCost { get ; set; } public string Comment { get ; set; } public long ? QtyRequired { get ; set; } public char? AbcCode { get ; set; } public string Misc1 { get ; set; } public string Misc2 { get ; set; } public string Misc3 { get ; set; } public string Misc4 { get ; set; } public string Misc5 { get ; set; } public string Misc6 { get ; set; } public string Misc7 { get ; set; } public string Misc8 { get ; set; } public string SccCaseUpc { get ; set; } public string PackUpc { get ; set; } public string VendorId { get ; set; } public string Vendor1Name { get ; set; } public string Vendor1Country { get ; set; } public string Vendor1City { get ; set; } public string Vendor1Address2 { get ; set; } public string Vendor1Address { get ; set; } public string Vendor1State { get ; set; } public string Vendor1Zip { get ; set; } public string PrimeBinName { get ; set; } public string PickBinName { get ; set; } public string Vendor { get ; set; } public string PrimeBin { get ; set; } public string PickBin { get ; set; } public string ContUom { get ; set; } public string WarehouseName { get ; set; } public string VendorId2 { get ; set; } public string Vendor2Country { get ; set; } public string Vendor2City { get ; set; } public string Vendor2Address2 { get ; set; } public string Vendor2Name { get ; set; } public decimal? VendCost2 { get ; set; } public string Vendor3Name { get ; set; } public decimal? VendCost3 { get ; set; } public string Vendor2Address { get ; set; } public string Vendor2State { get ; set; } public string Vendor2Zip { get ; set; } public string VendorId3 { get ; set; } public string Vendor3Country { get ; set; } public string Vendor3Address2 { get ; set; } public string Vendor4Name { get ; set; } public decimal? VendCost4 { get ; set; } public string Vendor3Address { get ; set; } public string Vendor3State { get ; set; } public string Vendor3Zip { get ; set; } public string Vendor3City { get ; set; } public string VendorId4 { get ; set; } public string Vendor4Country { get ; set; } public string Vendor4Address2 { get ; set; } public string Vendor4Address { get ; set; } public string Vendor4State { get ; set; } public string Vendor4Zip { get ; set; } public string Vendor4City { get ; set; } public string CaseUpc { get ; set; } public string ProductGrade { get ; set; } public string CountryOrigin { get ; set; } public string ProductCommodity{ get ; set; } public string ProductVariety { get ; set; } public string SuperItem { get ; set; } public string ItemSubstitute { get ; set; } public string ItemSubstituteName { get ; set; } public string OwnerName { get ; set; } public string ItemUomName { get ; set; } public long? ItemUomQuantity { get ; set; } public decimal? CaseSalesPrice { get ; set; } public decimal? CaseWeight { get ; set; } public decimal? CaseWeight { get ; set; } public decimal? VendCaseCost { get ; set; } public decimal? VendCaseCost2 { get ; set; } public decimal? VendCaseCost3 { get ; set; } public decimal? VendCaseCost4 { get ; set; } public bool? DoubleBox { get ; set; } public string BoxID { get ; set; } public bool? ProductSN { get ; set; } public string Manufacture { get ; set; } public string CubeID { get ; set; } public double? CubeHeight { get ; set; } public double? CubeWidth { get ; set; } public double? CubeLength { get ; set; } public bool? IsTransparency { get ; set; } public decimal? UnitCost { get ; set; } public decimal? UnitSalesPrice { get ; set; } public string Status { get ; set; } public DateTime? LastCount { get ; set; } public int? Recount { get ; set; } public string RecountIntervalType { get ; set; } public string RecvUOM { get ; set; } public string ShipUOM { get ; set; } public int? ConversionQty { get ; set; } public bool? ViceVersa { get ; set; } }
| Property | Description |
|---|---|
| string ItemNo | *Item number, used to identify item |
| string UpcNo | UPC number |
| string ItemXRef | Item Cross-reference |
| string ItemDesc | *Item description |
| decimal? StockWgt | Stock weight |
| string WeightUom | UOM weight |
| long? RopMin | Reorder minimum |
| long? OrderQty | Order Quantity for Vendor |
| string StockUom | Stock Unit of Measure |
| decimal? SalesPrice | Sales Price |
| decimal? VendCost | Vendor 1 Cost |
| string Comment | Comment |
| char? AbcCode | ABC code (possible values are null/empty string, ‘O’, ‘A’, ‘B’, ‘C’, ‘D’) |
| string Misc1 | Miscellaneous #1 |
| string Misc2 | Miscellaneous #2 |
| string Misc3 | Miscellaneous #3 |
| string Misc4 | Miscellaneous #4 |
| string Misc5 | Miscellaneous #5 |
| string Misc6 | Miscellaneous #6 |
| string Misc7 | Miscellaneous #7 |
| string Misc8 | Miscellaneous #8 |
| string SccCaseUpc | SCC Case UPC |
| string PackUpc | Pack UPC |
| string VendorId | Vendor 1 ID |
| string Vendor1Name | Vendor 1 Name |
| string Vendor1Country | Vendor 1 Country |
| string Vendor1City | Vendor 1 City |
| string Vendor1Address2 | Vendor 1 Address2 |
| string Vendor1State | Vendor 1 State |
| string Vendor1Zip | Vendor 1 Zipcode |
| string PrimeBinName | Prime Bin name |
| string PickBinName | Pick Bin name |
| string PrimeBin | Prime Bin |
| string PickBin | Pick Bin |
| string ContUom | Container UOM |
| string WarehouseName | Warehouse Name |
| string VendorId2 | Vendor 2 ID |
| string Vendor2Country | Vendor 2 Country |
| string Vendor2City | Vendor 2 City |
| string Vendor2Address2 | Vendor 2 Address2 |
| string Vendor2Name | Vendor 2 Name |
| decimal? VendCost2 | Vendor 2 Cost |
| decimal? VendCost2 | Vendor 2 Cost |
| string Vendor3Name | Vendor 3 Name |
| decimal? VendCost3 | Vendor 3 Cost |
| string Vendor2Address | Vendor 2 Address |
| string Vendor2State | Vendor 2 State |
| string Vendor2Zip | Vendor 2 Zipcode |
| string VendorId3 | Vendor 3 ID |
| string Vendor3Country | Vendor 3 Country |
| string Vendor3Address2 | Vendor 3 Address 3 |
| string Vendor4Name | Vendor 4 Name |
| decimal? VendCost4 | Vendor 4 Cost |
| string Vendor3Address | Vendor 3 Address |
| string Vendor3State | Vendor 3 State |
| string Vendor3Zip | Vendor 3 Zipcode |
| string Vendor3City | Vendor 3 City |
| string VendorId4 | Vendor 4 ID |
| string Vendor4Country | Vendor 4 Address |
| string Vendor4Address2 | Vendor 4 State |
| string Vendor4Address | Vendor 4 Zipcode |
| string Vendor4State | Vendor 4 State |
| string Vendor4Zip | Vendor 4 Zipcode |
| string Vendor4City | Vendor 4 City |
| string CaseUpc | Case UPC |
| string ProductGrade | Product Grade |
| string CountryOrigin | Country of Origin |
| string ProductCommodity | Product Commodity |
| string ProductVariety | Product Variety |
| string SuperItem | Super Item, if Item is part of a Kit |
| string ItemSubstitute | Item Substitute |
| string ItemSubstituteName | Item Substitute Name |
| string OwnerName | Owner Name |
| string ItemUomName | *Item UOM name, for Item Unit Quantity |
| long? ItemUomQuantity | *Item UOM Quantity, for Item Unit Quantity, default to 1 |
| decimal? CaseSalesPrice | Case Sales Price |
| decimal? CaseWeight | Case Weight |
| decimal? VendCaseCost | Vendor 1 Case Cost |
| decimal? VendCaseCost2 | Vendor 2 Case Cost |
| decimal? VendCaseCost3 | Vendor 3 Case Cost |
| decimal? VendCaseCost4 | Vendor 4 Case Cost |
| bool? DoubleBox | Double Box |
| string BoxID | Box ID |
| string Manufacture | Manufacture |
| string CubeID | CubeID |
| double? CubeHeight | Height for Cube |
| double? CubeWidth | Width for Cube |
| double CubeLength | Length for Cube |
| bool? IsTransparency | Value for IsTransparency true or false |
| decimal? UnitCost | Value for UnitCost true or false |
| decimal? UnitSalesPrice | Value for UnitSalesPrice true or false |
| string Status | Status value for the Item |
| DateTime? LastCount | Last cycle count date for the Item |
| int? Recount | Recount value for the Item |
| string RecountIntervalType | Recount every(day, week, month…etc) value for the Item |
| string RecvUOM | Receive UOM name for the item |
| string ShipUOM | Ship UOM name for the item |
| int? ConversionQty | Conversion Qty |
| bool? ViceVersa | Indicates if conversion is reversible (ViceVersa) |
List<Response> SaveVendors( List<Vendor> vendors);
Integration/NorthstarWmsIntegrationRest.svc/IntegrationServiceREST/Vendors/Save
The SaveVendors method saves one or more new Vendors, or updates existing Vendors. The list of Response objects contains any warnings or errors that occurred while saving or updating the Vendors. The EntityId property of the Response object will be set to the VendorId property of the Vendor type. The Vendor class, along with the descriptions of its properties, is shown below.
For the REST interface, the /Vendors/Save REST call, the equivalent of the SaveVendors c# method, takes an array of Vendor objects, serialized to JSON, in the request, and returns an array of Response objects, in JSON format, in the response.
public class Vendor { public string VendorId { get ; set; } public string Company { get ; set; } public string Contact { get ; set; } public string Phone { get ; set; } public string Fax { get ; set; } public string Email { get ; set; } public string Address { get ; set; } public string Address2 { get ; set; } public string City { get ; set; } public string State { get ; set; } public string ZipCode { get ; set; } public string Country { get ; set; } public string Misc1 { get ; set; } public string Misc2 { get ; set; } }
| Property | Description |
|---|---|
| string VendorId | *Vendor ID, used to identify Vendor |
| string Company | Company name |
| string Contact | Contact name |
| string Phone | Contact Phone |
| string Fax | Contact Fax |
| string Email | Contact Email address |
| string Address | Vendor Address |
| string Address2 | Vendor Address2 |
| string City | Vendor City |
| string State | Vendor State |
| string ZipCode | Vendor ZipCode |
| string Country | Vendor Country (2-letter ISO country code) |
| string Misc1 | Miscellaneous #1 |
| string Misc2 | Miscellaneous #2 |
List<Response> SaveCustomerBillTos( List<CustomerBillTo> CustomerBillTos);
Integration/NorthstarWmsIntegrationRest.svc/IntegrationServiceREST/Customers/BillTo/Save
The SaveCustomerBillTos method saves one or more new Customer BillTo’s, or updates existing Csutomer BillTo’s. The list of Response objects contains any warnings or errors that occurred while saving or updating the CustomerBillTo’s. The EntityId property of the Response object will be set to the CustomerId property of the CustomerBillTo type. The CustomerBillTo class, along with the descriptions of its properties, is shown below.
For the REST interface, the /Customers/BillTo/Save REST call, the equivalent of the SaveCustomerBillTos c# method, takes an array of CustomerBillTo objects, serialized to JSON, in the request, and returns an array of Response objects, in JSON format, in the response.
public class CustomerBillTo { public string CustomerId { get ; set; } public string Company { get ; set; } public string Contact { get ; set; } public string Phone { get ; set; } public string Fax { get ; set; } public string Email { get ; set; } public string Address { get ; set; } public string Address2 { get ; set; } public string Address3 { get ; set; } public string City { get ; set; } public string State { get ; set; } public string ZipCode { get ; set; } public string Country { get ; set; } public string Misc1 { get ; set; } public string Misc2 { get ; set; } public string UpsAccountNumber { get ; set; } public string UspsAccountNumber { get ; set; } public string FedexAccountNumber { get ; set; } public string SpeeDeeAccountNumber { get ; set; } }
| Property | Description |
|---|---|
| string VendorId | *Customer BillTo ID, used to identify Customer BillTo |
| string Company | Company name |
| string Contact | Contact name |
| string Phone | Contact Phone |
| string Fax | Contact Fax |
| string Email | Contact Email address |
| string Address | BillTo Address |
| string Address2 | BillTo Address2 |
| string Address3 | BillTo Address3 |
| string City | BillTo City |
| string State | BillTo State |
| string ZipCode | BillTo Zipcode |
| string Country | BillTo Country (2-letter ISO Country code) |
| string Misc1 | Miscellaneous #1 |
| string Misc2 | Miscellaneous #2 |
| string UpsAccountNumber | BillTo UPS Account number |
| string UspsAccountNumber | BillTo USPS Account number |
| string FedexAccountNumber | BillTo Fedex Account number |
| string SpeeDeeAccountNumber | BillTo SpeeDee Account number |
List<Response> SaveCustomerShipTos( List<CustomerShipTo> customerShipTos);
Integration/NorthstarWmsIntegrationRest.svc/IntegrationServiceREST/Customers/ShipTo/Save
The SaveCustomerShipTos method saves one or more new Customer ShipTo’s, or updates existing Customer ShipTo’s. The list of Response objects contains any warnings or errors that occurred while saving or updating the CustomerShipTo’s. The EntityId property of the Response object will be set to the CustomerId property of the CustomerShipTo type. The CustomerShipTo class, along with the descriptions of its properties, is shown below.
For the REST interface, the /Customers/ShipTo/Save REST call, the equivalent of the SaveCustomerShipTos c# method, takes an array of CustomerShipTo objects, serialized to JSON, in the request, and returns an array of Response objects, in JSON format, in the response.
public class CustomerShipTo { public string CustomerId { get ; set; } public string Company { get ; set; } public string Contact { get ; set; } public string Phone { get ; set; } public string Fax { get ; set; } public string Email { get ; set; } public string Address { get ; set; } public string Address2 { get ; set; } public string Address3 { get ; set; } public string City { get ; set; } public string State { get ; set; } public string ZipCode { get ; set; } public string Country { get ; set; } public string Misc1 { get ; set; } public string Misc2 { get ; set; } public string UpsAccountNumber { get ; set; } public string UspsAccountNumber { get ; set; } public string FedexAccountNumber { get ; set; } public string SpeeDeeAccountNumber { get ; set; } public string BillToId { get ; set; } public string BillToName { get ; set; } }
| Property | Description |
|---|---|
| string VendorId | *Customer ShipTo ID, used to identify Customer ShipTo |
| string Company | Company name |
| string Contact | Contact name |
| string Phone | Contact Phone |
| string Fax | Contact Fax |
| string Email | Contact Email address |
| string Address | ShipTo Address |
| string Address2 | ShipTo Address2 |
| string Address3 | ShipTo Address3 |
| string City | ShipTo City |
| string State | ShipTo State |
| string ZipCode | ShipTo Zipcode |
| string Country | ShipTo Country (2-letter ISO Country code) |
| string Misc1 | Miscellaneous #1 |
| string Misc2 | Miscellaneous #2 |
| string UpsAccountNumber | ShipTo UPS Account number |
| string UspsAccountNumber | ShipTo USPS Account number |
| string FedexAccountNumber | ShipTo Fedex Account number |
| string SpeeDeeAccountNumber | ShipTo SpeeDee Account number |
| string BillToId | Related BillTo ID |
| string BillToName | Related BillTo Company Name |
List<Response> SaveCustomerMarkTos( List<CustomerMarkTo> customerMarkTos);
Integration/NorthstarWmsIntegrationRest.svc/IntegrationServiceREST/Customers/MarkTo/Save
The SaveCustomerMarkTos method saves one or more new Customer MarkTo’s, or updates existing Customer MarkTo’s. The list of Response objects contains any warnings or errors that occurred while saving or updating the Customer MarkTo’s. The EntityId property of the Response object will be set to the CustomerId property of the CustomerMarkTo type. The CustomerMarkTo class, along with the descriptions of its properties, is shown below.
For the REST interface, the /Customers/MarkTo/Save REST call, the equivalent of the SaveCustomerMarkTo c# method, takes an array of CustomerMarkTo objects, serialized to JSON, in the request, and returns an array of Response objects, in JSON format, in the response.
public class CustomerMarkTo { public string CustomerId { get ; set; } public string Company { get ; set; } public string Contact { get ; set; } public string Phone { get ; set; } public string Fax { get ; set; } public string Email { get ; set; } public string Address { get ; set; } public string Address2 { get ; set; } public string Address3 { get ; set; } public string City { get ; set; } public string State { get ; set; } public string ZipCode { get ; set; } public string Country { get ; set; } public string Misc1 { get ; set; } public string Misc2 { get ; set; } public string UpsAccountNumber { get ; set; } public string UspsAccountNumber { get ; set; } public string FedexAccountNumber { get ; set; } public string SpeeDeeAccountNumber { get ; set; } public string BillToId { get ; set; } public string BillToName { get ; set; } }
| Property | Description |
|---|---|
| string VendorId | *Customer MarkTo ID, used to identify Customer MarkTo |
| string Company | Company name |
| string Contact | Contact name |
| string Phone | Contact Phone |
| string Fax | Contact Fax |
| string Email | Contact Email address |
| string Address | MarkTo Address |
| string Address2 | MarkTo Address2 |
| string Address3 | MarkTo Address3 |
| string City | MarkTo City |
| string State | MarkTo State |
| string ZipCode | MarkTo Zipcode |
| string Country | MarkTo Country (2-letter ISO Country code) |
| string Misc1 | Miscellaneous #1 |
| string Misc2 | Miscellaneous #2 |
| string UpsAccountNumber | MarkTo UPS Account number |
| string UspsAccountNumber | MarkTo USPS Account number |
| string FedexAccountNumber | MarkTo Fedex Account number |
| string SpeeDeeAccountNumber | MarkTo SpeeDee Account number |
| string BillToId | Related BillTo ID |
| string BillToName | Related BillTo Company Name |
List<ResponseDto> SaveInvERP( List<InvERPDto> invERPs); List<ResponseDto> LiveInventoryImport( List<InvERPDto> invERPs);
Integration/NorthstarWmsIntegrationRest.svc/IntegrationServiceREST/InventoryERP/Save
Integration/NorthstarWmsIntegrationRest.svc/IntegrationServiceREST/InventoryERP/LiveInventoryImport
The SaveInvERP method saves one or more new ERP Inventories without any update instead it will delete all previous ERP Inventory first. The list of Response objects contains any warnings or errors that occurred while saving or deleting the new or old ERP Inventory. The InvERPDto class, along with the descriptions of its properties, is shown below.
For the REST interface, the /InventoryERP/Save REST call, the equivalent of the SaveInvERP c# method, takes an array of InvERPDto objects, serialized to JSON, in the request, and returns an array of Response objects, in JSON format, in the response.
The LiveInventoryImport method, inports the inventory lines based on the parameters sent as request.
public class InvERPDto { public string Warehouse { get ; set; } public string Location { get ; set; } public string ItemNo { get ; set; } public string ItemDesc { get ; set; } public string UOM { get ; set; } public string EachCount { get ; set; } public string Qty { get ; set; } public string ReceiveDate { get ; set; } public string Misc1 { get ; set; } public string Misc2 { get ; set; } public string Misc3 { get ; set; } public string Misc4 { get ; set; } public string SerialNo { get ; set; } }
| Property | Description |
|---|---|
| string VendorId | Warehouse name |
| string Location | Location name |
| string ItemNo | Item number |
| string ItemDesc | Item decsription |
| string UOM | Item’s inventory Unit of measure |
| string EachCount | Item’s inventory Unit of measure each count |
| string Qty | Item’s inventory in ERP |
| string ReceiveDate | Receive Date "MM/dd/yyyy" |
| string Misc1 | Miscellaneous #1 |
| string Misc2 | Miscellaneous #2 |
| string Misc3 | Miscellaneous #3 |
| string Misc4 | Miscellaneous #4 |
| string SerialNo | Serial Number |
List<ResponseDto> SaveShipOrders( List<ShipOrder> ShipOrder); List<ShipOrder> GetShipOrders( DateTime? fromDate, DateTime? toDate, bool qtyEaches, string warehouse); List<ShipOrderDto> GetShipOrdersForSoNo( string soNo,bool qtyEaches, string warehouse);
Integration/NorthstarWmsIntegrationRest.svc/IntegrationServiceREST/ShipOrders/Save
Integration/NorthstarWmsIntegrationRest.svc/IntegrationServiceREST/ShipOrders
Integration/NorthstarWmsIntegrationRest.svc/IntegrationServiceREST/ShipOrders/SoNo
The SaveShipOrders method saves one or more new Ship Orders with their details, or updates existing Ship Orders and their details. The ShipOrder class contains the properties for the Ship Order header, and a list of the order details, each being a ShipOrderDetail t ype. The list of Response objects contains any warnings or errors that occurred while saving or updating the Ship Orders. The EntityId property of the Response object will be set to the SoNo property of the ShipOrder type. The ShipOrder and ShipOrderDetail classes, along with the descriptions of their properties, are shown below.
The GetShipOrders method returns a list of Ship Orders that have been closed, but not yet exported. A From Date and To Date can be specified to retrieve a list of Ship Orders within a particular date range. Date range is not required, when left blank all orders that have been shipped where ship qty > export qty will be returned, unless you want a specific range of orders leaving the date fields blank is the best approach.
Also, the order and shipped quantities returned can be returned in Eaches if the qtyEaches parameter is set to true, otherwise, if set to false, it will return order and shipped quantities using UOM quantities. The quantities affected by the qtyEaches parameter are the OrderQty and ShippedQty properties. After the Ship Orders are retrieved, the Ship Order details are marked as being exported by setting the Exported quantity to the Pick quantity. The GetShipOrdersForSoNo is the same as the GetShipOrders method, but retrieves any Ship Orders based on the SoNo of the ship order. Also, there are no date range parameters to the method.
For the REST interface, the /ShipOrders/Save REST call, the equivalent of the SaveShipOrders c# method, expects an array of ShipOrder objects, serialized to JSON, in the request, and returns an array of Response objects, in JSON format, in the response to the REST API call. The /ShipOrders REST call, the equivalent of the GetShipOrders c# method, takes a GetShipOrdersRequest object, serialized to JSON, in the request, and returns an array of ShipOrder objects, in JSON format. The /ShipOrders/SoNo REST call, the equivalent of the GetShipOrdersForSoNo c# method, takes a GetShipOrdersForSoNoRequest object, serialized to JSON, in the request, and returns an array of ShipOrder objects, in JSON format.
public class ShipOrder { public string SoNo { get ; set; } public string ShipInstructions { get ; set; } public string Status { get ; set; } public string ShipWarehouseName { get ; set; } public string ShipMode { get ; set; } public string Email { get ; set; } Public string CustOwnerName { get ; set; } public string OrderDate { get ; set; } public string ShipDate { get ; set; } public string DelivDate { get ; set; } public string Address3 { get ; set; } public string City { get ; set; } public string ProNo { get ; set; } public string TrailerNo { get ; set; } public string CustPo { get ; set; } public string BolNo { get ; set; } public string SealNo { get ; set; } public string InvoiceNo { get ; set; } public string ProjectNo { get ; set; } public string ShipMethod { get ; set; } public string CBol { get ; set; } public string ShipToId { get ; set; } public string ShipToName { get ; set; } public string ShipToAddress { get ; set; } public string ShipToAddress2 { get ; set; } public string ShipToCity { get ; set; } public string ShipToState { get ; set; } public string ShipToZipCode { get ; set; } public string ShipToCountry { get ; set; } public string ShipToPhone { get ; set; } public string ShipToFax { get ; set; } public string ShipToContact { get ; set; } public string ShipToEmail { get ; set; } public string MarkToId { get ; set; } public string MarkToName { get ; set; } public string MarkToAddress { get ; set; } public string MarkToAddress2 { get ; set; } public string MarkToCity { get ; set; } public string MarkToState { get ; set; } public string MarkToZipCode { get ; set; } public string MarkToCountry { get ; set; } public string MarkToPhone { get ; set; } public string MarkToFax { get ; set; } public string MarkToContact { get ; set; } public string MarkToEmail { get ; set; } public string BillToId { get ; set; } public string BillToName { get ; set; } public string MarkToPhone { get ; set; } public string BillToAddress { get ; set; } public string BillToAddress2 { get ; set; } public string BillToCity { get ; set; } public string BillToState { get ; set; } public string BillToZipCode { get ; set; } public string BillToCountry { get ; set; } public string BillToPhone { get ; set; } public string BillToFax { get ; set; } public string BillToContact { get ; set; } public string BillToEmail { get ; set; } public double? LoadSeq { get ; set; } public bool? Transfer { get ; set; } public string CustOwnerId { get ; set; } public string CaseWeight { get ; set; } public decimal? CaseWeight { get ; set; } public decimal? CaseSalesPrice { get ; set; } public List<ShipOrderDetail> ShipOrderDetails { get ; set; } public string Misc1 { get ; set; } public string Misc2 { get ; set; } public string Misc3 { get ; set; } public string Misc4 { get ; set; } public string Misc5 { get ; set; } public string Misc6 { get ; set; } public string Misc7 { get ; set; } public string Misc8 { get ; set; } public string Ecommerce { get; set; } public string Document { get ; set; } public string TrackingNo { get ; set; } public bool? ShipLTL { get ; set; } public bool? IgnoreImportLock { get ; set; } public bool? Signature { get ; set; } public decimal? TaxRate { get ; set; } public decimal? HandlingCharges { get ; set; } public string WaveNo { get ; set; } public bool? DropShip { get ; set; } public stringPackageType { get ; set; } public bool?SaturdayDelivery { get ; set; } public string PickType { get ; set; } public string PackStageLocation { get ; set; } }
| Property | Description |
|---|---|
| string SoNo | *Ship Order number, used to identify Ship Order |
| string ShipInstructions | Shipping instructions |
| string Status | *Ship Order Status (possible values are “Open”, “Partial”, “Closed”, “Shipped”), new orders default to Open |
| string ShipWarehouseName | *Warehouse name |
| string ShipMode | Ship Mode (Carrier), like UPS, USPS, Fedex, etc. |
| string CustOwnerName | Customer Owner name |
| string OrderDate | *Order Date in "MM-dd-yyyy" format |
| string StringOrderDate | Order Date in "MM-dd-yyyy" format (Not Need if OrderDate [above] has value ) |
| string ShipDate | Ship Date in "MM-dd-yyyy" format |
| string DelivDate | Delivery Date in "MM-dd-yyyy" format |
| string ProNo | Pro Number |
| string TrailerNo | Trailer Number |
| string CustPo | Customer PO number |
| string BolNo | BOL Number |
| string SealNo | Seal Number |
| string InvoiceNo | Invoice Number |
| string ProjectNo | Project Number |
| string ShipMethod | Shipping Method of Ship Mode/Carrier |
| string CBol | CBOL |
| string ShipToId | *Customer ShipTo ID |
| string ShipToName | Customer ShipTo Company Name |
| string ShipToAddress | Customer ShipTo Address |
| string ShipToAddress2 | Customer ShipTo Address2 |
| string ShipToCity | Customer ShipTo City |
| string ShipToState | Customer ShipTo State |
| string ShipToZipCode | Customer ShipTo Zipcode |
| string ShipToCountry | Customer ShipTo Country (2-letter ISO Country code) |
| string ShipToPhone | Customer ShipTo Contact Phone |
| string ShipToFax | Customer ShipTo Contact Fax |
| string ShipToContact | Customer ShipTo Contact name |
| string ShipToEmail | Customer ShipTo Email address |
| string MarkToId | Customer MarkTo ID |
| string MarkToName | Customer MarkTo Company Name |
| string MarkToAddress | Customer MarkTo Address |
| string MarkToAddress2 | Customer MarkTo Address2 |
| string MarkToCity | Customer MarkTo City |
| string MarkToState | Customer MarkTo State |
| string MarkToZipCode | Customer MarkTo Zipcode |
| string MarkToCountry | Customer MarkTo Country (2-letter ISO Country Code) |
| string MarkToPhone | Customer MarkTo Contact Phone |
| string MarkToFax | Customer MarkTo Contact Fax |
| string MarkToContact | Customer MarkTo Contact name |
| string MarkToEmail | Customer MarkTo Email address |
| string BillToId | Customer BillTo ID |
| string BillToName | Customer BillTo Company Name |
| string BillToAddress | Customer BillTo Address |
| string BillToAddress2 | Customer BillTo Address2 |
| string BillToCity | Customer BillTo City |
| string BillToState | Customer BillTo State |
| string BillToZipCode | Customer BillTo Zipcode |
| string BillToCountry | Customer BillTo Country (2-letter ISO Country code) |
| string BillToPhone | Customer BillTo Contact Phone |
| string BillToFax | Customer BillTo Contact Fax |
| string BillToContact | Customer BillTo Contact name |
| string BillToEmail | Customer BillTo Email address |
| double? LoadSeq | Load Sequence |
| bool? Transfer | Transfer (true, false) |
| string CustOwnerId | Customer Owner ID |
| decimal? CaseWeight | Case Weight |
| decimal? CaseSalesPrice | Case Sales Price |
| List |
List of Ship Order details |
| ShipOrderDetails | |
| string Misc1 | Miscellaneous #1 |
| string Misc2 | Miscellaneous #2 |
| string Misc3 | Miscellaneous #3 |
| string Misc4 | Miscellaneous #4 |
| string Misc5 | Miscellaneous #5 |
| string Misc6 | Miscellaneous #6 |
| Miscellaneous #7 | |
| string Misc8 | Miscellaneous #8 |
| String Ecommerce | Ecommerce (name of provider) |
| String Ecommerce | Ecommerce (name of provider) |
| String Document | Document (name of a documnet [Max Length 30]) |
| String TrackingNo | Tracking Numbers of the Shipped Orders(if any) |
| bool? ShipLTL | When True, Order will Ship Via LTL. Default false |
| bool? IgnoreImportLock | When True, Order update will be continued even if ImportLock is true. Default false |
| bool? Signature | When True, Order Signature flag will be added to integrator API Call. Default false |
| decimal? TaxRate | Tax Rate for the items on the Orders |
| decimal? HandlingCharges | Handling Charges for the Order |
| string WaveNo | WaveNo assoiciated with the Order |
| bool? DropShip | Flag for DropShip orders |
| string PackageType | Package Type |
| bool? SaturdayDelivery | Saturday Delivery |
| String PickType | Pack/Stage/Ship |
| string PackStageLocation | Location/Bin Name |
public class ShipOrderDetail { public int? SoLine { get ; set; } public string ItemNo { get ; set; } public string LotNo { get ; set; } public string SerialNo { get ; set; } public decimal? OrderQty { get ; set; } public decimal? PickQty { get ; set; } public decimal? ShippedQty { get ; set; } public string DispMsg { get ; set; } public string Misc1 { get ; set; } public string Misc2 { get ; set; } public string Misc3 { get ; set; } public string Misc4 { get ; set; } public string Misc5 { get ; set; } public string Misc6 { get ; set; } public string Misc7 { get ; set; } public string Misc8 { get ; set; } public string PickDate { get ; set; } public decimal? AllocatedQty { get ; set; } public decimal? PackedQty { get ; set; } public decimal? RecvQty { get ; set; } public string ItemUomName { get ; set; } public string VendorId { get ; set; } public string VendorIdName { get ; set; } public string VendorIdAddress { get ; set; } public string VendorIdAddress2 { get ; set; } public string VendorIdCity { get ; set; } public string VendorIdState { get ; set; } public string VendorIdZip { get ; set; } public string VendorIdCountry { get ; set; } public string ContainerName { get ; set; } public long? ItemUnitQuantity { get ; set; } public string ItemDesc { get ; set; } public long? CaseSalesPrice { get ; set; } public decimal? CaseWeight { get ; set; } public string BoxID { get ; set; } public string TransparencyNum { get ; set; } public string Location { get ; set; } public decimal? UnitSalesPrice { get ; set; } public decimal? UnitCost { get ; set; } public bool? CrossDock { get ; set; } }
| Property | Description |
|---|---|
| int? SoLine | *Ship Order Line number |
| string ItemNo | *Item Number |
| string LotNo | Lot number |
| string SerialNo | Serial Number |
| decimal? OrderQty | *Ordered Quantity |
| decimal? PickQty | Pick Quantity, in eaches |
| decimal? ShippedQty | Shipped Quantity |
| string DispMsg | Display Message |
| string Misc1 | Miscellaneous #1 |
| string Misc2 | Miscellaneous #2 |
| string Misc3 | Miscellaneous #3 |
| string Misc4 | Miscellaneous #4 |
| string Misc5 | Miscellaneous #5 |
| string Misc6 | Miscellaneous #6 |
| string Misc7 | Miscellaneous #7 |
| string Misc8 | Miscellaneous #8 |
| string PickDate | Pick Date "MM-dd-yyyy" format |
| decimal? AllocatedQty | Allocated Quantity |
| decimal? PackedQty | Packed Quantity |
| decimal? RecvQty | Receive Quantity |
| string ItemUomName | *Item Unit of Measure name |
| string VendorId | Vendor ID |
| string VendorIdName | Vendor Company Name |
| string VendorIdAddress | Vendor Address |
| string VendorIdAddress2 | Vendor Address2 |
| string VendorIdCity | Vendor City |
| string VendorIdState | Vendor State |
| string VendorIdZip | Vendor Zipcode |
| string VendorIdCountry | Vendor Country (2-letter ISO Country code) |
| string ContainerName | Container Name |
| long? ItemUnitQuantity | *Item Unit Quantity, default to 1 |
| string ItemDesc | Item Description |
| long? CaseSalesPrice | Case Sales Price |
| decimal? CaseWeight | Case Weight |
| string BoxID | Box ID |
| string TransparencyNum | Transparency Number |
| string Location | Location/Bin Name |
| decimal? UnitSalesPrice | Value for UnitSalesPrice |
| decimal? UnitCost | Value for UnitCost |
| bool? CrossDock | Flag Order Line as CrossDock |
public class GetShipOrdersRequest { public DateTime? FromDate { get ; set; } public DateTime? ToDate { get ; set; } public bool QtyEaches { get ; set; } public string Warehouse { get ; set; } public string StringFromDate { get ; set; } public string StringToDate { get ; set; } }
| Property | Description |
|---|---|
| DateTime? FromDate | Same as the FromDate parameter of the GetShipOrders method |
| DateTime? ToDate | Same as the ToDate parameter of the GetShipOrders method |
| bool QtyEaches | Same as the QtyEaches parameter of the GetShipOrders method. |
| String Warehouse | Warehouse name |
| string StringFromDate | Starting Order Date in string format MM-dd-yyyy |
| string StringToDate | End Order Date in string format MM-dd-yyyy |
public class GetShipOrdersForSoNoRequest { public String SoNo { get ; set; } public bool? QtyEaches { get ; set; } public string Warehouse { get ; set; } public DateTime? FromDate { get ; set; } }
| Property | Description |
|---|---|
| String SoNo | Same as the SoNo parameter of the GetShipOrdersForSoNo method |
| bool? QtyEaches | Same as the QtyEaches parameter of the GetShipOrdersForSoNo method. |
| String Warehouse | Warehouse name |
| DateTime? FromDate | Same as the FromDate parameter of the GetPurchaseOrders method |
ResponseDto GenWaves(WaveDto Wave );
Integration/NorthstarWmsIntegrationRest.svc/IntegrationServiceREST/GenWaves
The GenWaves method, picking multiple order on Wave. The list of Response objects contains any warnings or errors that occurred while saving the new Wave. The GenWaves class, along with the descriptions of its properties, is shown below.
The GenWaves method, imports the picking order based on the parameters sent as request.
public class WaveDto { public string Warehouse { get ; set; } public string FromOrder { get ; set; } public string ToOrder { get ; set; } public DateTime FromShipDate { get ; set; } public DateTime ToShipDate { get ; set; } public string OrderStatus { get ; set; } public int FromLineCount { get ; set; } public int ToLineCount { get ; set; } public int FromPieceCount { get ; set; } public int ToPieceCount { get ; set; } public string Carrier { get ; set; } public string CarrierMethod { get ; set; } public bool ProductSN { get ; set; } public bool Doublebox { get ; set; } public bool NoBox { get ; set; } public string ItemNo { get ; set; } public string Ecommerce { get ; set; } public int NoOfOrderOnWave { get ; set; } }
| Property | Description |
|---|---|
| string Warehouse | Warehouse name |
| string FromOrder | The FromOrder of the GenWaves Method |
| string ToOrder | The ToOrder of the GenWaves Method |
| DateTime FromShipDate | The FromShipDate Date parameter of the GenWaves method |
| DateTime ToShipDate | The ToShipDate Date parameter of the GenWaves method |
| string OrderStatus | Order Status (possible values are “Open”, “Partial”, “Closed”, “Shipped”) |
| int FromLineCount | FromLineCount |
| int ToLineCount | ToLineCount |
| int FromPieceCount | FromPieceCount |
| int ToPieceCount | ToPieceCount |
| string Carrier | Carrier like UPS, Fedex, USPS or Best Way. |
| string CarrierMethod | CarrierMethod like Ground, By air, Standard or By Train |
| bool ProductSN | ProductSN |
| bool Doublebox | Doublebox |
| bool NoBox | NoBox |
| string ItemNo | Item number |
| string Ecommerce | Ecommerce (name of provider) |
| int NoOfOrderOnWave | Number of Order on Wave |
[Serializable] public classGetInventoryRequest { public DateTime? FromDate { get ; set; } public DateTime? ToDate { get ; set; } public bool QtyEaches { get ; set; } public string Warehouse { get ; set; } public string CustOwner { get ; set; } }
Integration/NorthstarWmsIntegrationRest.svc/IntegrationServicesREST/GetInventory
The GetInventory method exports available inventory as per given dates range. The list of Inventory objects contains all exported data details. The Inventory class, along with the descriptions of its properties, is shown below. For the REST interface, the GetInventory REST call, the equivalent of the GetInventory c# method, takes from date, to date, qty in eaches and warehouse parameters, serialized into JSON format, in the request, and returns an array of Inventory objects, in JSON format.
[DataContract( Name = "Inventory", Namespace = "http://wms.northstar-automation.com/NorthstarWmsIntegration/DTO/2015/03")] public class Inventory { public string Warehouse { get ; set; } public string Location { get ; set; } public string LocationTypes { get ; set; } public string BinType { get ; set; } public string ItemNo { get ; set; } public string UpcNo { get ; set; } public string ItemDesc { get ; set; } public decimal ? Quantity { get ; set; } public decimal ? StockWeight { get ; set; } public string ItemUomName { get ; set; } public long? ItemUnitQuantity { get ; set; } public string RopMin { get ; set; } public string CustOwnerName { get ; set; } public string CustOwnerName{ get ; set; } public long? RopMin { get ; set; } public decimal? SalesPrice { get ; set; } public decimal? UnitCost { get ; set; } public string Container { get ; set; } public string LotNo { get ; set; } public DateTime? ReceiveDate { get ; set; } public string SerialNo { get ; set; } public string Allocated Order# { get ; set; } public string Misc1 { get ; set; } public string Misc2 { get ; set; } public string Misc3 { get ; set; } public string Misc4 { get ; set; } public string Misc5 { get ; set; } public string Misc6 { get ; set; } public string Misc7 { get ; set; } public string Misc8 { get ; set; } public string AllocatedSO { get ; set; } }
| Property | Description |
|---|---|
| Warehouse | Warehouse pulled from |
| Location | Inventory location |
| LocationTypes | Comma Separated Inventory Location/Bin Types |
| Bin Type | Location Type |
| string ItemNo | *Item number, used to identify item |
| string UpcNo | UPC number |
| string ItemDesc | *Item description |
| long? OnhandQty | Quantity onhand |
| decimal? StockWgt | Stock weight |
| string ItemUomName | *Item UOM name, for Item Unit Quantity |
| long? ItemUomQuantity | *Item UOM Quantity, for Item Unit Quantity, default to 1 |
| string OwnerName | Owner Name |
| long? RopMin | Reorder minimum |
| Decimal SalesPrice | Sale price |
| Decimal UnitCost | Unit Cost |
| string Container | Pallet/container |
| string Lotno | Lot number |
| string Lotno | Serial number |
| DateTime ReceiveDate | Receive date of item |
| string AllocatedOrder | Order items is allocated to |
| string Misc1 | Miscellaneous #1 |
| string Misc2 | Miscellaneous #2 |
| string Misc3 | Miscellaneous #3 |
| string Misc4 | Miscellaneous #4 |
| string Misc5 | Miscellaneous #5 |
| string Misc6 | Miscellaneous #6 |
| string Misc7 | Miscellaneous #7 |
| string Misc8 | Miscellaneous #8 |
| decimal? CaseSalesPrice | Case Sales Price |
| string AllocatedSO | Allocated SO No |
publicList<Inventory> GetInventoryByItemNo( string itemNo, string warehouse = "", string bin = "", string misc1 = "") { var getInvsRequestByItemNo = new GetInventoryRequestByItemNo { ItemNo = itemNo; Warehouse = warehouse; Bin = bin; Misc1 = misc1; }; var requestData = SerializeToJson(getInvsRequest); var request = string.Format("{0}/GetInventoryByItemNo", RestServiceAddress); var response = ExecuteTwoWayRequest <Inventory[]>(request, HttpMethod.Post, requestData); return response.ToList(); } [Serializable] public classGetInventoryRequestByItemNo { public string ItemNo { get ; set; } public string Warehouse { get ; set; } public string Bin { get ; set; } public string Misc1 { get ; set; } }
Integration/NorthstarWmsIntegrationRest.svc/IntegrationServicesREST/GetInventoryByItemNo
The GetInventoryByItemNo method exports available inventory as per given parameters. The list of Inventory objects contains all exported data details. The Inventory class, along with the descriptions of its properties, is shown below. For the REST interface, the GetInventoryByItemNo REST call, the equivalent of the GetInventoryByItemNo c# method, takes ItemNo, Warehouse, Bin and Misc1 parameters, serialized into JSON format, in the request, and returns an array of Inventory objects, in JSON format.
[DataContract( Name = "Inventory", Namespace = "http://wms.northstar-automation.com/NorthstarWmsIntegration/DTO/2015/03")] public class Inventory { public string Warehouse { get ; set; } public string Location { get ; set; } public string LocationTypes { get ; set; } public string BinType { get ; set; } public string ItemNo { get ; set; } public string ItemDesc { get ; set; } public decimal ? Quantity { get ; set; } public string ItemUomName { get ; set; } public long? ItemUnitQuantity { get ; set; } public string CustOwnerName { get ; set; } public string RopMin { get ; set; } public decimal? SalesPrice { get ; set; } public string Container { get ; set; } public string LotNo { get ; set; } public DateTime? ReceiveDate { get ; set; } public string SerialNo { get ; set; } public string Misc1 { get ; set; } public string Misc2 { get ; set; } public string Misc3 { get ; set; } public string Misc4 { get ; set; } }
| Property | Description |
|---|---|
| Warehouse | Warehouse pulled from |
| Location | Inventory location |
| LocationTypes | Comma Separated Inventory Location/Bin Types |
| Bin Type | Location Type |
| string ItemNo | *Item number, used to identify item |
| string ItemDesc | *Item description |
| decimal? Quantity | Quantity onhand |
| string ItemUomName | *Item UOM name, for Item Unit Quantity |
| long? ItemUomQuantity | *Item UOM Quantity, for Item Unit Quantity, default to 1 |
| string OwnerName | Owner Name |
| long? RopMin | Reorder minimum |
| Decimal SalesPrice | Sale price |
| string Container | Pallet/container |
| string Lotno | Lot number |
| DateTime? ReceiveDate | Receive date of item |
| string SerialNo | Serial number |
| string Misc1 | Miscellaneous #1 |
| string Misc2 | Miscellaneous #2 |
| string Misc3 | Miscellaneous #3 |
| string Misc4 | Miscellaneous #4 |
public void btnImportKits_Click ( object, sender, EventArgse); { var items = new List<Kit>(); var item1 = new Kit(); { KitItemNo = "Kit011519_02", /// this is a kit KitItemDescription = "The Kit desc", /// this is a kit desc KitUOM = "Dozen", /// this is a kit uom primary setup KitEachCount = 2, /// this is a kit uom qty primary setup LotNo = "LT-new", /// created lot under kit tab KitYield = 2.45M, /// yield under kit tab MixInstruction = "mix ins", PackingInstruction = "pack ins", BakersInstruction = "handle ins", KitCost = 2.10M, /// not showing on screen, kitunitcost is in kit table KitDescription = "kit desc under kit table", //not showing on screen, is in kit table }; var items = new List<KitItems>(); var kitDetail1 = new KitItems(); { ItemNo = "Kit012219_00", ItemDescription = "kit first sub comp", KitItemEachCount = 3, KitItemUOM = "Pall", BakersPercentage = 3.01M, ProdPercent = .023M, KitQty = 2, }; item1.KitItems.Add(kitDetail1); var kitDetail2 = new KitItems { ItemNo = "Kit012219_01", ItemDescription = "kit second sub comp", KitItemEachCount = 4, KitItemUOM = "Case", BakersPercentage = 5.01M, ProdPercent = .05M, KitQty = 6, }; item1.KitItems.Add(kitDetail2); items.Add(item1); var response = ServiceMethods.SaveKits(items); if (response == null) return; ShowResults(response, "Kit"); } Service Method: public List<Response> SaveKits(List<Kit> kits) { var requestData = SerializeToJson(kits.ToArray()); var request = string.Format("{0}/Kits/Save", RestServiceAddress); var response = ExecuteTwoWayRequest<Response[]>(request, HttpMethod.Post, requestData); return response.ToList(); } Classes: [DataContract( Name = "Kit", Namespace = "http://wms.northstar-automation.com/NorthstarWmsIntegration/DTO/2015/03")] public class Kit { private List<KitItems> _KitItems; [DataMember(Name = "KitItemNo", IsRequired = true, Order = 0)] public string KitItemNo { get; set; } [DataMember((Name = "KitItemDescription", IsRequired = true, Order = 1)] public string( KitItemDescription { get; set; } [DataMember(Name = "KitItems", IsRequired = true, Order = 2)] public List<KitItems> KitItems { get { return _KitItems ?? (_KitItems = new List<KitItems>()); } set { _KitItems = value; } } [DataMember(Name = "KitUOM", IsRequired = false, Order = 3)] public string KitUOM { get; set; } [DataMember(Name = "KitEachCount", IsRequired = false, Order = 4)] public long? KitEachCount { get; set; } [DataMember(Name = "BakersInstruction", IsRequired = false, Order = 5)] public string BakersInstruction { get; set; } [DataMember(Name = "KitYield", IsRequired = false, Order = 6)] public decimal? KitYield { get; set; } [DataMember(Name = "MixInstruction", IsRequired = false, Order = 7)] public string MixInstruction { get; set; } [DataMember(Name = "PackingInstruction", IsRequired = false, Order = 8)] public string PackingInstruction { get; set; } [DataMember(Name = "LotNo", IsRequired = false, Order = 9)] public string LotNo { get; set; } [DataMember(Name = "KitCost", IsRequired = false, Order = 10)] public decimal? KitCost { get; set; } [DataMember(Name = "KitDescription", IsRequired = false, Order = 11)] public string KitDescription { get; set; } } [DataContract( Name = "KitItems", Namespace = "http://wms.northstar-automation.com/NorthstarWmsIntegration/DTO/2015/03")] public class KitItems { public long SoId { get; set; } [DataMember(Name = "ItemNo", IsRequired = true, Order = 0)] public string ItemNo { get; set; } [DataMember(Name = "ItemDescription", IsRequired = true, Order = 1)] public string ItemDescription { get; set; } [DataMember(Name = "KitItemEachCount", IsRequired = true, Order = 2)] public long? KitItemEachCount { get; set; } [DataMember(Name = "KitItemUOM", IsRequired = true, Order = 3)] public string KitItemUOM { get; set; } [DataMember(Name = "KitQty", IsRequired = true, Order = 4)] public decimal? KitQty { get; set; } [DataMember(Name = "BakersPercentage", IsRequired = false, Order = 5)] public decimal? BakersPercentage { get; set; } [DataMember(Name = "ProdPercent", IsRequired = false, Order = 6)] public decimal? ProdPercent { get; set; } }
Response SaveItemImage(ItemImage itemImage)
Integration/NorthstarWmsIntegrationRest.svc/IntegrationServiceREST/Items/Image/Save
The SaveItemImage method saves an image for a given Item. Both the c# and REST interfaces take an ItemImage class and is detailed below. Both return a Response object containing any warnings or errors that occurred while saving the image. The Image property of the SaveItemImage class takes an array of byte data. The binary data of the image file can be set using the following code. It is assumed that the imageFileName variable in the code below has already been set to the full path and file name of the image to be saved, perhaps by using the File Open dialog box control.
const string itemNo = "TEST ITEM 10001"; const int imageNo = 1; const string itemFilename = "TestItem10001Image.jpg"; var fileStream = new FileStream(imageFilename, FileMode.Open, FileAccess.Read); var binaryReader = new BinaryReader(fileStream); var totalBytes = new FileInfo(imageFilename).Length; var image = binaryReader.ReadBytes((int) totalBytes); fileStream.Close(); fileStream.Dispose(); binaryReader.Close(); var itemImage = new ItemImage { ItemNo = itemNo, ImageNo = imageNo, FileName = itemFilename, Image = image }; Below is the description of the ItemImage class. public class ItemImage { public string ItemNo { get; set; } public int ImageNo { get; set; } public string FileName { get; set; } public byte[] Image { get; set; } }
| Property | Description |
|---|---|
| string ItemNo | Item Number of the Item the image is to be saved to |
| int ImageNo | Item Image Number (1, 2, or 3) |
| string FileName | File name of the image, including image file extension, without the file path |
| byte[] Image | Binary data of the image file |
var data = newList<DeleteShipOrder>(); var order = newDeleteShipOrder { SoNo = "API_test", ShipWarehouseName = "17FR", DeleteOrder = true,// if true, the entire order would deleted including every line and other dependencies, otherwise only lines that have ‘Picked Qty’ less than or equal to 0 would be delete. Will not delete lines that have been picked. ReturnInv = true,// if true, the picked Inventory will be added back to Its original location from it was last picked. }; var details = new List<DeleteShipOrderDetail>(); /// as per current implemented logic, line/s is/are not required to be passed order.DeleteShipOrderDetails = details; data.Add(order); var response = ServiceMethods.DeleteShipOrders(data);
public List<Response>DeleteShipOrders(ListdeleteShipOrders) { var requestData = SerializeToJson(deleteShipOrders.ToArray()); var request = string.Format("{0}/ShipOrders/Delete", RestServiceAddress); var response = ExecuteTwoWayRequest <Response[]>(request, HttpMethod.Post, requestData); return response.ToList(); }
[DataContract( Name = "DeleteShipOrder", Namespace = "http://wms.northstar-automation.com/NorthstarWmsIntegration/DTO/2015/03")] public class DeleteShipOrder { [DataMember(Name = "SoNo", IsRequired = true, Order = 0)] public string SoNo{ get; set; } [DataMember(Name = "ShipWarehouseName", IsRequired = true, Order = 1)] public string ShipWarehouseName{ get; set; } [DataMember(Name = "DeleteOrder", IsRequired = true, Order = 2)] public bool DeleteOrder{ get; set; } [DataMember(Name = "DeleteShipOrderDetail", IsRequired = true, Order = 3)] public List<DeleteShipOrderDetails>{ get; set; } } [DataContract( Name = "DeleteShipOrderDetail", Namespace = "http://wms.northstar-automation.com/NorthstarWmsIntegration/DTO/2015/03")] public class DeleteShipOrderDetail { [DataMember(Name = "SoLine", IsRequired = true, Order = 0)] public int? SoLine { get; set; } [DataMember(Name = "ItemNo", IsRequired = true, Order = 1)] public string ItemNo { get; set; } [DataMember(Name = "ItemUomName", IsRequired = true, Order = 1)] public string ItemUomName { get; set; } [DataMember(Name = "ContainerName", IsRequired = true, Order = 1)] public string ContainerName { get; set; } [DataMember(Name = "SoNo", IsRequired = true, Order = 1)] public string SoNo { get; set; } }
var data = newList<DeletePurchaseOrder>(); var order = newDeletePurchaseOrder { PoNo = "API_test", WarehouseName = "17FR", DeleteOrder = true,// if true, entire order would delete including every line and other dependencies if status is Closed or Open, otherwise only lines which have ‘Received Qty’ less than or equal to 0 will be deleted. DeleteAll = true,// if true, entire order would delete including every line and other dependencies Regardless of the Sataus and Recv Qty. }; var details = new List<DeletePurchaseOrderDetail>(); /// as per current implemented logic, line/s is/are not required to be passed order.DeletePurchaseOrderDetails = details; data.Add(order); var response = ServiceMethods.DeletePurchaseOrders(data);
public List<Response>DeleteShipOrders(ListdeleteShipOrders) { var requestData = SerializeToJson(deleteShipOrders.ToArray()); var request = string.Format("{0}/ShipOrders/Delete", RestServiceAddress); var response = ExecuteTwoWayRequest <Response[]>(request, HttpMethod.Post, requestData); return response.ToList(); } public List<Response>DeletePurchaseOrders(ListDeletePurchaseOrders) { var requestData = SerializeToJson(DeletePurchaseOrders.ToArray()); var request = string.Format("{0}/PurchaseOrders/Delete", RestServiceAddress); var response = ExecuteTwoWayRequest <Response[]>(request, HttpMethod.Post, requestData); return response.ToList(); }
[DataContract( Name = "DeletePurchaseOrder", Namespace = "http://wms.northstar-automation.com/NorthstarWmsIntegration/DTO/2015/03")] public class DeletePurchaseOrder { [DataMember(Name = "WarehouseName", IsRequired = true, Order = 0)] public string WarehouseName { get; set; } [DataMember(Name = "PoNo", IsRequired = true, Order = 1)] public string PoNo { get; set; } [DataMember(Name = "DeleteOrder", IsRequired = true, Order = 1)] public string DeleteOrder { get; set; } [DataMember(Name = "DeletePurchaseOrderDetail", IsRequired = true, Order = 1)] public string DeletePurchaseOrderDetail { get; set; } public List<DeletePurchaseOrderDetail > DeletePurchaseOrderDetails { get; set; } [DataContract( Name = "DeletePurchaseOrderDetail", Namespace = "http://wms.northstar-automation.com/NorthstarWmsIntegration/DTO/2015/03")] public class DeletePurchaseOrderDetail { [DataMember(Name = "PoLine", IsRequired = true, Order = 0)] public int? PoLine { get; set; } [DataMember(Name = "ItemNo", IsRequired = true, Order = 1)] public string ItemNo { get; set; } [DataMember(Name = "ItemUomName", IsRequired = true, Order = 1)] public string ItemUomName { get; set; } [DataMember(Name = "LotNo", IsRequired = true, Order = 1)] public string LotNo { get; set; } [DataMember(Name = "PoNo", IsRequired = true, Order = 1)] public string PoNo { get; set; } } }
var data = newList<DeleteItem>(); var erp = newDeleteItem { ItemNo = "API_test", }; data.Add(erp); var ServiceMethods.DeleteItems(data);
public List<Response>DeleteItems(List<DeleteItem>deleteItems) { var requestData = SerializeToJson(deleteItems.ToArray()); var request = string.Format("{0}/Items/Delete", RestServiceAddress); var response = ExecuteTwoWayRequest <Response[]>(request, HttpMethod.Post, requestData); return response.ToList(); }
[DataContract( Name = "DeleteItem", Namespace = "http://wms.northstar-automation.com/NorthstarWmsIntegration/DTO/2015/03")] public class DeleteItem { [DataMember(Name = "ItemNo", IsRequired = true, Order = 0)] public string ItemNo { get; set; } }
public List<Response> SaveCubes(List<CubeMasterdto> cube) { return NorthstarWmsIntegrationImpl.SaveCubes(cube); }
Integration/NorthstarWmsIntegrationRest.svc/IntegrationServiceREST/Cubes/Save
public class CubeMasterdto { public string CubeId { get; set; } public string CubeDesc { get; set; } public bool? LocationType { get; set;} public bool? ContainerPalletType { get; set; } public bool? ItemType { get; set;} public bool? BoxType { get; set;} public bool? CubeByVolume { get; set;} public bool? CubeByEaches { get; set;} public bool? CubeByWeight { get; set;} public double? Length { get; set;} public double? Width { get; set; } public double? Height { get; set; } public string UOMEaches { get; set; } public double? Weight { get; set; } }
| Property | Description |
|---|---|
| string CubeId | Cube Id |
| string CubeDesc | Cube Description |
| bool? LocationType | Location Type |
| bool? ContainerPalletType | Container Pallet Type |
| bool? ItemType | Item Type |
| bool? BoxType | Box Type |
| bool? CubeByVolume | Cube By Volume |
| bool? CubeByEaches | Cube By Eaches |
| bool? CubeByWeight | Cube By Weight |
| double? Length | Length |
| double? Width | Width |
| double? Height | Height |
| string UOMEaches | UOM Eaches |
| double? Weight | Weight |
List<ASNInfo> GetASN( GetASNRequest request);
Integration/NorthstarWmsIntegrationRest.svc/IntegrationServiceREST/ASN
The GetASN method return ASN details.
The GetASN method returns a list of Ship Orders that have been shipped QTy greater than Exported Qty. All orders that have been shipped where ship qty > export qty will be returned.
For the REST interface, the /ASN REST call, the equivalent of the GetASN c# method, expects an GetASNRequest object, serializable to JSON, in the request, and returns an array of ASNInfo objects, in JSON format, in the response to the REST API call.
public class ASNInfo { public string WhouseName { get ; set; } public string OrderNumber { get ; set; } public string ItemNumber { get ; set; } public string LineNo { get ; set; } public int ActualQty { get ; set; } public string CustomerName { get ; set; } public string ShipToID { get ; set; } public string ShipToName { get ; set; } public string OrderDate { get ; set; } public decimal? ShippingCharges { get ; set; } public string TrackingNo { get ; set; } public string Carrier { get ; set; } public string BoxSSCCNo { get ; set; } public int BoxNo { get ; set; } public string PalletNo { get ; set; } public decimal? Weight { get ; set; } public string PalletSSCCNo { get ; set; } public string BOLNo { get ; set; } public string ShipMethod { get ; set; } public DateTime? DateTime { get ; set; } public string UTCTimeZone { get ; set; } public string Misc1 { get ; set; } public string Misc2 { get ; set; } public string Misc3 { get ; set; } public string Misc4 { get ; set; } public string Misc5 { get ; set; } public string Misc6 { get ; set; } public string Misc7 { get ; set; } public string Misc8 { get ; set; } public string DetailMisc1 { get ; set; } public string DetailMisc2 { get ; set; } public string DetailMisc3 { get ; set; } public string CarrierDesc { get ; set; } public string TransparencyNum { get ; set; } public string SerialNo { get ; set; } public DateTime? ShipDate { get ; set; } }
| Property | Description |
|---|---|
| string WhouseName | Ware House Name |
| string OrderNumber | Ship Order Number |
| string ItemNumber | SO Line Item number |
| int LineNo | SO Line Number |
| decimal? ActualQty | Total QTY |
| string CustomerName | Name of Bill To Customer |
| string ShipToID | Ship To customer ID |
| string ShipToName | Shipto Company name |
| string OrderDate | Date of Order |
| decimal? ShippingCharges | Shipping Charges |
| string TrackingNo | Shipping Tracking Number |
| string Carrier | Shipping mode |
| string BoxSSCCNo | SSCCBoxNo |
| int BoxNo | Box Number |
| string PalletNo | Pallet number |
| decimal? Weight | Weight |
| string PalletSSCCNo | SSCCPalletNo |
| string BOLNo | Bol Number |
| string ShipMethod | Method of Shipping |
| DateTime? DateTime | Current DateTime as Per Warehouse Setting |
| string UTCTimeZone | Time Zone as per Ware House Setting |
| string Misc1 | SO Master Misc1 |
| string Misc2 | SO Master Misc2 |
| string Misc3 | SO Master Misc3 |
| string Misc4 | SO Master Misc4 |
| string Misc5 | SO Master Misc5 |
| string Misc6 | SO Master Misc6 |
| string Misc7 | SO Master Misc7 |
| string Misc8 | SO Master Misc8 |
| string DetailMisc1 | SO Detail Msc1 |
| string DetailMisc2 | SO Detail Msc2 |
| string DetailMisc3 | SO Detail Msc3 |
| string CarrierDesc | SO Master Ship Type Description |
| string TransparencyNum | SO Detail TransparencyNum |
| string SerialNo | SO Detail SerialNo |
| DateTime? ShipDate | Order Ship Date |
public class GetASNRequest { public string Warehouse { get ; set; } public bool? UpdateSOOrderExportQuantityfromASN { get ; set; } public bool?? ALLShippedOrders { get ; set; } public string FromShipDate { get ; set; } public string ToShipDate { get ; set; } }
| Property | Description |
|---|---|
| string Warehouse | * Warehouse Name |
| bool UpdateSOOrderExportQuantityfromASN | True if need to update Update SOOrder Export Quantity from ASN, Default False |
| bool? ALLShippedOrders | When false all shipped orders in date range are returned, when true orders with ship qty > export qty and within date range if there is a range otherwise only orders where ship qty > export qty |
| string FromShipDate | Starting Shipped Date of Order |
| string ToShipDate | End Shipped Date of Order |
List<ItemHistory>GetItemHistory(GetItemHistoryRequest request);
Integration/NorthstarWmsIntegrationRest.svc/IntegrationServiceREST/GetItemHistory
For the REST interface, the /GetItemHistory REST call, the equivalent of the GetItemHistory c# method, takes a GetItemHistoryRequest object, serialized to JSON, in the request, and returns an array of ItemHistory objects, in JSON format, in the response.
public class GetItemHistoryRequest { public string FromDate { get ; set; } public string ToDate { get ; set; } public string Warehouse { get ; set; } public string ItemNo { get ; set; } public string TransType { get ; set; } public string Misc8 { get ; set; } }
| Property | Description |
|---|---|
| string FromDate | Start History Date in MM/dd/yyyy format |
| string ToDate | End History Date in MM/dd/yyyy format |
| String Warehouse | Warehouse name |
| string ItemNo | Item Number |
| string TransType | Transanction Type |
| string Misc8 | Misc8r |
public class ItemHistory { public string UserID { get ; set; } public string StartDatetime { get ; set; } public string HistDate { get ; set; } public string ItemNo { get ; set; } public string TransactionType { get ; set; } public string ProjectNo { get ; set; } public int? POLine { get ; set; } public int? SOLine { get ; set; } public string SoNo { get ; set; } public string PoNo { get ; set; } public decimal Qty { get ; set; } public string FromBin { get ; set; } public string ToBin { get ; set; } public decimal? FromQty { get ; set; } public decimal? ToQty { get ; set; } public string UOM { get ; set; } public decimal RunningBalance { get ; set; } public string FromWhouse { get ; set; } public string ToWhouse { get ; set; } public string ShipDate { get ; set; } public string LotNo { get ; set; } public string Container { get ; set; } public string NewItemNo { get ; set; } public string NewLotNo { get ; set; } public string Reason { get ; set; } public string ReasonComment { get ; set; } public string CustOwner { get ; set; } public string Location { get ; set; } public string RecvDate { get ; set; } public string Misc1 { get ; set; } public string Misc2 { get ; set; } public string Misc3 { get ; set; } public string Misc4 { get ; set; } public string Misc5 { get ; set; } public string Misc6 { get ; set; } public string Misc7 { get ; set; } public string Misc8 { get ; set; } public string Whouse { get ; set; } public string SubTask { get ; set; } public long? HistID { get; set; } }
| Property | Description |
|---|---|
| string UserId | User Name |
| string StartDatetime | Start DateTime for History |
| string HistDate | End DateTime of History |
| string ItemNo | Item Number |
| string TransactionType | Transaction Type |
| string SoNo | Shipping Order number |
| int? SoLine | Shipping Order line number |
| string PoNo | Purchase Order number |
| int? PoLine | Purchase Order line number |
| Decimal Qty | Quantity |
| string FromBin | From bin/location |
| string ToBin | To bin/location |
| Decimal? FromQty | Previuos Quantity |
| Decimal? ToQty | New Quantity |
| string FromWhouse | From warehouse |
| string ToWhouse | To warehouse |
| string ShipDate | Ship Date |
| string LotNo | Lot number |
| string Container | Container name |
| string NewItemNo | New Item number |
| string NewLotNo | New Lot number |
| string Reason | Reason |
| string ReasonComment | ReasonComment |
| string RecvDate | Receive Date |
| string CustOwner | Customer Owner |
| string Misc1 | Miscellaneous #1 |
| string Misc2 | Miscellaneous #2 |
| string Misc3 | Miscellaneous #3 |
| string Misc4 | Miscellaneous #4 |
| string Misc5 | Miscellaneous #5 |
| string Misc6 | Miscellaneous #6 |
| string Misc7 | Miscellaneous #7 |
| string Misc8 | Miscellaneous #8 |
| string Whouse | Warehouse Name |
| string SubTask | Sub Task |
| long? HistID | Unique History ID |
public<Response> DeleteInventory(DeleteInventory DeleteInvParameter);
Integration/NorthstarWmsIntegrationRest.svc/IntegrationServiceREST/InventoryERP/DeleteInventory
The DeleteInventory method deletes the Inventories based on the Warehouse name.
public class DeleteInventory { public string WarehouseName { get ; set; } }