OVERVIEW
The Vendor Managed Inventory (VMI) API allows Vendors to automate inventory management. VMI provides a communication mechanism to report on product inventory and to create purchase orders to replenish products. RQ users will be able to see the purchase orders created using the VMI API and receive them as they arrive in store.
The VMI API can be used to:
- Create and retrieve Purchase Orders (POs) created in RQ
- Create shipping notices for POs
- See a list of all VMI enabled stores in RQ
- Enable and Disable companies for VMI
Implementation
The following call sequence is recommended. To learn more about the suggested VMI flow, see VMI Guide.
- Getting a Company List - Get a list of VMI enabled companies. This list contains a unique identifier for each company which is used in subsequent web method calls
- One of the following;
- Getting a Store List - Get the VMI enabled stores for a particular company
- Getting Hierarchy Info - Get company tree (hierarchy)
- One of the following;
- Getting the Inventory Report - For each store call this web method to determine stock level, minimum and maximum levels for each product
- Getting the Geographic Inventory Report - Apply logic to each level in the hierarchy to gather data for multiple stores
- Creating a Purchase Order - If it is determined in step 3 that inventory of a particular set of products need to be replenished, call this method to create a purchase order in RQ
- Creating a Purchase Order Shipment Notice (Optional) - This method can be called to supply notification that products have shipped and any applicable serial numbers may be supplied
Pending State
A company that is in a Pending State has…
- completed set up in RQ
- chosen you as a vendor
- added stores to the relationship
- configured products for replenishment
Pending companies must be Enabled to have purchase orders created through VMI.
Purchase Orders
Canceling an Uncommitted Purchase Order
Creating an Uncommitted Purchase Order
Getting Committed Purchase Orders
Getting Completed Purchase Orders
Getting Purchase Order By Business ID
Getting Purchase Order by Reference Number
Getting Purchase Orders By Status
Getting Uncommitted Purchase Orders
Getting Purchase Orders For a Store
Inventory
Getting the Updated Inventory List
Getting Serial Numbers for a Product
Getting Product Receiving Info
Reports
Getting the Inventory Report by Vendor SKU
Getting the Inventory Listing Report
Company Tree
ENDPOINTS
You should choose a production endpoint that is geographically closest to your data center.
- Sandbox: https://vmi7.iqmetrix.net/VMIService.asmx
- Production (Denver): https://vmi1.iqmetrix.net/VMIService.asmx
- Production (Toronto): https://vmi3.iqmetrix.net/VMIService.asmx
- Production (Philadelphia): https://vmi10.iqmetrix.net/VMIService.asmx
RESOURCES
VendorIdentity
Authentication for the VMI API is done by including a VendorIdentity resource in a <vendor>
section at the beginning of each request.
VendorIdentitiy information is supplied by iQmetrix and used to authenticate requests made to the VMI API.
Please be aware of the subtle difference between <vendor>
and <Vendor>
in the various requests. This API is case-sensitive and will cause an error should the incorrect tag be used.
Name | Description |
---|---|
VendorID (GUID ) |
Vendor identifier |
Username (String ) |
Username |
Password (String ) |
Password |
Client (ClientAgent) | Client identity |
ClientAgent
Name | Description |
---|---|
ClientID (GUID ) |
Database identifier for corresponding client |
Name (String ) |
Company name |
StoreID (Integer ) |
Store identifer the vendor is targeting |
VendorAccountNumber (String ) |
Account number assigned by vendor. |
CompanyInformation
Name | Description |
---|---|
CompanyID (GUID ) |
Unique identifier provided by iQmetrix |
Name (String ) |
Company name |
PurchaseOrderShipmentNotice
Name | Description |
---|---|
PurchaseOrderID (GUID ) |
Unique identifier |
ProductItemID (Integer ) |
GlobalProductId from RQ |
Quantity (Integer ) |
Number of items shipped |
RQPurchaseOrderID (Integer ) |
Identifier for the Purchase Order in RQ |
SerialNumbers (Array[string] ) |
Serial numbers from serialized products (e.g. Phone or SIM card) |
ShipmentNumber (String ) |
Vendor defined identifier for the shipment |
VendorInvoiceNumber (String ) |
Value supplied by the vendor when creating the purchase order |
VendorSKU (String ) |
Vendor identifier for the product |
PurchaseOrder
Name | Description |
---|---|
PurchaseOrderID (GUID ) |
Unique identifier |
PurchaseOrderData (PurchaseOrderData) | Purchase order |
ProductsOrdered (Array[ProductInformation]) | Products ordered |
PurchaseOrderData
Name | Description |
---|---|
PurchaseOrderID (GUID ) |
Unique identifier |
BillToStoreID (Integer ) |
RQ StoreId |
BillToStoreName (String ) |
RQ store name |
BillToVendorAccountNumber (String ) |
Vendor account number to use for billing. Can be used in place of BillToStoreId |
IsDeleted (Boolean ) |
A flag to indicate if this purchase order has been deleted in RQ |
CreatedByVMI (Boolean ) |
A flag to indicate if this was created by the VMI API (true) or RQ (false) |
CreatedDate (String ) |
The date and time the purchase order was created, if it was created in RQ |
Comments (String ) |
Any comments for the purchase order |
EstimatedArrivalDate (String ) |
Estimated date of arrival |
OrderTotal (Decimal ) |
Cost of the order, provided by a vendor for informational purposes only |
RetailiQPurchaseOrderID (Integer ) |
Identifier of purchase order in RQ |
RetailiQPurchaseOrderNumber (String ) |
Purchase order number in RQ |
ShippingTotal (Decimal ) |
Cost of shipping |
ShipToStoreID (Integer ) |
Identifier of store to use for shipping |
ShipToStoreName (String ) |
Name of store to use for shipping |
ShipToVendorAccountNumber (String ) |
Vendor account number to use for shipping. Can be used in place of ShipToStoreId |
VendorInvoiceNumber (String ) |
Invoice number for the vendor |
VendorName (String ) |
Name of the vendor |
ProductInformation
Name | Description |
---|---|
CategoryPath (String ) |
Category location of product. path of category delimited by ‘»’ |
DateEOL (DateTime ) |
End of life date |
DateReceived (String ) |
Product receiving status in RQ |
DoNotOrder (Boolean ) |
A flag to indicate if the product should not be ordered |
Enabled (Boolean ) |
A flag to indicate if product is enabled |
GrossQuantityReturned (Integer ) |
Gross amount returned |
GrossQuantitySold (Integer ) |
Gross amount sold |
MaximumLevel (Integer ) |
Maximum number of Products that can be added to the PurchaseOrder |
MinimumLevel (Integer ) |
Minimum number of Products that can be added to the PurchaseOrder |
MinMaxLocked (Boolean ) |
A flag to indicate if the Min and Max values are locked (unchangeable) |
ProductCost (Decimal ) |
Required for PO creation or default from RQ will be used |
ProductID (GUID ) |
Unique identifier |
ProductItemID (Integer ) |
GlobalProductId from RQ |
ProductName (String ) |
Name |
ProductReceived (Boolean ) |
A flag to indicate if product was received |
ProductSKU (String ) |
ProductIdentifier in RQ |
QuantityCommittedOnOrderEntry (Integer ) |
Amount committed on an order entry |
QuantityInStock (Integer ) |
Amount in stock |
QuantityInTransfer (Integer ) |
Amount in transfer |
QuantityOnBackOrder (Integer ) |
Amount on back order |
QuantityOnLoan (Integer ) |
Amount on loan |
QuantityOnOrder (Integer ) |
Amount on order |
QuantityOnRMA (Integer ) |
Amount on RMA |
QuantityOnUncommittedOrder (Integer ) |
Amount on uncommitted order |
QuantityOrdered (Integer ) |
Amount ordered |
QuantityReceived (Integer ) |
Amount received |
QuantitySold (Integer ) |
Amount sold |
QuantitySuggestedByVendor (Integer ) |
Amount suggested by vendor |
QuantityTransferIn (Integer ) |
Amount transfered in |
QuantityTransferOut (Integer ) |
Amount transfered out |
RetailPrice (Decimal ) |
Retail price |
SaleBegin (DateTime ) |
Sale begin date |
SaleEnd (DateTime ) |
Sale end date |
SalePrice (Decimal ) |
Sale price |
VendorSKU (String ) |
Vendor identifier for the product |
StoreInformation
Name | Description |
---|---|
StoreID (Integer ) |
Unique identifier |
Name (String ) |
Name |
Abbreviation (String ) |
Abbrevation |
Address (String ) |
Address |
City (String ) |
City |
Country (String ) |
Country |
District (String ) |
District |
PhoneNumber (String ) |
Phone Number |
PostalZipCode (String ) |
Postal or Zip Code |
ProvinceState (String ) |
Province or State |
Region (String ) |
Region |
ShipToStoreID (Integer ) |
Shipping store ID |
BillToStoreID (Integer ) |
RQ StoreID |
VendorAccountNumber (String ) |
Account number assigned by vendor. |
ProductAndStoreInformation
Name | Description |
---|---|
CategoryPath (String ) |
Category location of product. path of category delimited by ‘»’ |
ChannelID (GUID ) |
Identifier for a Channel in RQ |
ChannelName (String ) |
Channel name |
DateEOL (DateTime ) |
End of life date |
DateReceived (String ) |
Product receiving status in RQ |
DistrictID (Integer ) |
Identifier for a District in RQ |
DistrictName (String ) |
District name |
DoNotOrder (Boolean ) |
A flag to indicate if the product should not be ordered |
Enabled (Boolean ) |
A flag to indicate if product is enabled |
GrossQuantityReturned (Integer ) |
Gross amount returned |
GrossQuantitySold (Integer ) |
Gross amount sold |
MaximumLevel (Integer ) |
Maximum number of Products that can be added to the PurchaseOrder |
MinimumLevel (Integer ) |
Minimum number of Products that can be added to the PurchaseOrder |
MinMaxLocked (Boolean ) |
A flag to indicate if the Min and Max values are locked (unchangeable) |
ProductCost (Decimal ) |
Required for PO creation or default from RQ will be used |
ProductID (GUID ) |
Unique identifier |
ProductItemID (Integer ) |
GlobalProductId from RQ |
ProductName (String ) |
Name |
ProductReceived (Boolean ) |
A flag to indicate if product was received |
ProductSKU (String ) |
ProductIdentifier in RQ |
QuantityCommittedOnOrderEntry (Integer ) |
Amount committed on an order entry |
QuantityInStock (Integer ) |
Amount in stock |
QuantityInTransfer (Integer ) |
Amount in transfer |
QuantityOnBackOrder (Integer ) |
Amount on back order |
QuantityOnLoan (Integer ) |
Amount on loan |
QuantityOnOrder (Integer ) |
Amount on order |
QuantityOnRMA (Integer ) |
Amount on RMA |
QuantityOnUncommittedOrder (Integer ) |
Amount on uncommitted order |
QuantityOrdered (Integer ) |
Amount ordered |
QuantityReceived (Integer ) |
Amount received |
QuantitySold (Integer ) |
Amount sold |
QuantitySuggestedByVendor (Integer ) |
Amount suggested by vendor |
RegionID (Integer ) |
Identifier for a Region in RQ |
RegionName (String ) |
Region name |
RetailPrice (Decimal ) |
Retail price |
SaleBegin (DateTime ) |
Sale begin date |
SaleEnd (DateTime ) |
Sale end date |
SalePrice (Decimal ) |
Sale price |
StoreID (Integer ) |
Unique identifier |
StoreName (String ) |
Name |
VendorSKU (String ) |
Vendor identifier for the product |
ReceivingInfo
Name | Description |
---|---|
DateReceived (DateTime ) |
Date product was received |
ProductCost (Decimal ) |
Product cost |
ProductItemID (Integer ) |
Identifier of the Product in RQ |
ProductName (String ) |
Product name |
Quantity (Integer ) |
Quantity |
RQPurchaseOrderNumber (String ) |
Identifier of the PO in RQ |
SerialNumber (String ) |
Serial number |
ShipToStoreID (Integer ) |
Identifier of store to use for shipping |
ShipToStoreName (String ) |
Name of store to use for shipping |
RQReceivingNumber (String ) |
Receiving number in RQ |
VendorName (String ) |
Name of the vendor |
VendorSKU (String ) |
Vendor identifier for the product |
EmployeeInformation
Name | Description |
---|---|
CellPhone (String ) |
Cell phone |
CompanyName (String ) |
Company name |
Email (String ) |
|
Enabled (Boolean ) |
A flag to indicate if this Employee is enabled at the store |
EndDate (DateTime ) |
Date employee stopped working at store, if applicable |
FirstName (String ) |
First name |
LastName (String ) |
Last name |
Role (String ) |
Employee role at store |
StartDate (String ) |
Date employee started working at store |
StoreAddress (String ) |
Address |
StoreCity (String ) |
City |
StoreCountry (String ) |
Country |
StoreEmail (String ) |
Store email |
StoreID (Integer ) |
Identifier for a Store in RQ |
StoreName (String ) |
Store name |
StorePostalCode (String ) |
Zip or Postal code |
StoreProvinceOrState (String ) |
State or Province |
RMA
Name | Description |
---|---|
ProductData (Array[RMAProduct]) | Product data |
RMAID (Integer ) |
Identifier |
RMAIDByStore (String ) |
Identifier for the RMA in RQ |
StoreID (Integer ) |
Identifier for a store in RQ |
VendorID (Integer ) |
Identifier for a vendor |
CreatedByVMI (Boolean ) |
A flag to indicate if the RMA was created by VMI |
VendorRMANumber (String ) |
Vendor RMA number |
ShippingCost (Decimal ) |
Shipping cost |
Committed (Integer ) |
A flag to indicate if the RMA is committed (1) or not (0) |
DateCommitted (DateTime ) |
Date the RMA was committed |
ShippedAway (Integer ) |
A flag to indicate if the RMA was shipped away (1) or not (0) |
Completed (Integer ) |
A flag to indicate if the RMA is completed (1) or not (0) |
Comments (String ) |
Comments |
DateCreated (DateTime ) |
Date the RMA was created |
CreditInvoiceNumber (String ) |
Credit invoice number |
ProductData
Name | Description |
---|---|
RQProductSku (String ) |
Product Identifier within RQ |
RQProductID (Integer ) |
Product ID within RQ |
SerialNumberRemoved (String ) |
For serialized products, the serial number being modified |
VendorInvoiceNumber (String ) |
Vendor invoice number |
TotalQuantity (Integer ) |
Quantity of sellable items |
NonSellableQuantity (Integer ) |
Quantitiy of non-sellable items |
UnitCost (Decimal ) |
Unit cost |
ActionTaken (String ) |
Acceptable values include: NotSet, Credit, Removed, Replacement, Rejected or Repaired |
VendorSKU (String ) |
Vendor identifier for the product |
QuantityReceived (Integer ) |
Amount received |
ENUMERATIONS
ActionTaken
Value | Description |
---|---|
Credit | Vendor crediting retailer for returned product |
Rejected | Vendor rejected product return and shipped product back to retailer |
Repaired | Vendor repaired returned product and shipped product back to retailer |
Replaced | Vendor replaced returned product with the same product and shipped the new product back to the retailer |
Removed | (For UpdateRMA Only) Removes product from an uncommitted RMA |
REQUESTS
Creating a Purchase Order
This definition allows the vendor to create a purchase order for a particular store and a set of products. Creating a Purchase Order allows RQ to properly account for proudcts arriving at a store, so that stock levels are updated correctly.
Each item in the purchase order must be unique. If you need to place multiple quantities of an item, adjust the QuantityOrdered field.
Allowing Non-Primary Vendors to Create Purchase Orders
Normally, only the vendor marked as Primary Vendor in RQ can create or add a product to a Purchase Order for a retailer. However, your account can be configured to allow other vendors than the primary vendor to create Purchase Orders. When this feature is enabled, the retailer can use Hub to compare availability and pricing among vendors, then select the vendor who best meets their needs. The selected vendor can then create the Purchase Order.
The ability to allow a non-primary vendor to create Purchase Orders must be configured in RQ by iQmetrix. The feature must be enabled for an entire company. Within the company, it can be enabled on a store-by-store basis (also by iQmetrix).
Definition
POST /?op=CreatePurchaseOrder
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<CreatePurchaseOrder
xmlns="http://www.iqmetrix.com">
<Vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>4</StoreID>
<VendorAccountNumber>ACCT123</VendorAccountNumber>
</Client>
</Vendor>
<PurchaseOrder>
<PurchaseOrderData>
<BillToStoreID>55</BillToStoreID>
<CreatedByVMI>false</CreatedByVMI>
<CreatedDate>3/16/2014 12:00:00 AM</CreatedDate>
<Comments>comments</Comments>
<EstimatedArrivalDate>3/2/2014 12:00:00 AM</EstimatedArrivalDate>
<OrderTotal>99.99</OrderTotal>
<ShippingTotal>99.99</ShippingTotal>
<ShipToStoreID>55</ShipToStoreID>
<VendorInvoiceNumber>15782</VendorInvoiceNumber>
</PurchaseOrderData>
<ProductsOrdered>
<ProductInformation>
<DateReceived>01/21/2016 16:58:23</DateReceived>
<Enabled>true</Enabled>
<MaximumLevel>100</MaximumLevel>
<MinimumLevel>10</MinimumLevel>
<ProductCost>99.99</ProductCost>
<ProductID>86EE477F-C6B7-48FA-AA0A-105662D9A3ED</ProductID>
<ProductItemID>11142</ProductItemID>
<ProductName>Samsung Galaxy S6</ProductName>
<ProductReceived>false</ProductReceived>
<ProductSKU>CECPSM000017</ProductSKU>
<QuantityCommittedOnOrderEntry>0</QuantityCommittedOnOrderEntry>
<QuantityInStock>8</QuantityInStock>
<QuantityInTransfer>3</QuantityInTransfer>
<QuantityOnBackOrder>0</QuantityOnBackOrder>
<QuantityOnLoan>5</QuantityOnLoan>
<QuantityOnOrder>6</QuantityOnOrder>
<QuantityOnRMA>9</QuantityOnRMA>
<QuantityOrdered>4</QuantityOrdered>
<QuantityReceived>4</QuantityReceived>
<QuantitySold>30</QuantitySold>
<QuantityTransferIn>3</QuantityTransferIn>
<QuantityTransferOut>3</QuantityTransferOut>
<VendorSKU>SSGS5CB</VendorSKU>
</ProductInformation>
</ProductsOrdered>
</PurchaseOrder>
</CreatePurchaseOrder>
</soap:Body>
</soap:Envelope>
Code Example
VendorIdentity vendor = new VendorIdentity();
vendor.VendorID = new Guid(009E800D-10ED-4F4A-B86F-DFB3C2A18C09);
vendor.Username = "danssupplies";
vendor.Password = "samplepassword";
vendor.Client = new ClientAgent();
vendor.Client.ClientID = companyID;
vendor.Client.StoreID = 4;
DateTime ead1 = DateTime.Today.AddDays(14);
string eta = String.Format("{0:D2}/{1:D2}/{2:D4}", ead1.Month, ead1.Day, ead1.Year);
PurchaseOrder po = new PurchaseOrder();
po.PurchaseOrderID = new Guid();
po.PurchaseOrderData = new PurchaseOrderData();
po.PurchaseOrderData.BillToStoreID = stores[0].StoreID;
po.PurchaseOrderData.Comments = "Vendor Invoice Number #: BDP123";
po.PurchaseOrderData.ShipToStoreID = stores[0].StoreID;
po.PurchaseOrderData.VendorInvoiceNumber = "BDP123";
po.PurchaseOrderData.EstimatedArrivalDate = eta;
po.ProductsOrdered = new ProductInformation[1];
po.ProductsOrdered[0] = new ProductInformation();
po.ProductsOrdered[0].ProductItemID = productID;
po.ProductsOrdered[0].ProductName = "Samsung Galaxy S5 - Charcoal Black";
po.ProductsOrdered[0].ProductSKU = "SSSATM000002";
po.ProductsOrdered[0].VendorSKU = "SSGS5CB";
po.ProductsOrdered[0].QuantityOrdered = 1;
po.ProductsOrdered[0].ProductCost = 130.00;
PurchaseOrder poCreated = vmiService.CreatePurchaseOrder(vendor, po);
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<CreatePurchaseOrderResponse
xmlns="http://www.iqmetrix.com">
<CreatePurchaseOrderResult>
<PurchaseOrderID>28890F70-8FC9-4A9B-9458-410A8D08502D</PurchaseOrderID>
<PurchaseOrderData>
<PurchaseOrderID>28890F70-8FC9-4A9B-9458-410A8D08502D</PurchaseOrderID>
<BillToStoreID>55</BillToStoreID>
<BillToStoreName>Cornwall west</BillToStoreName>
<BillToVendorAccountNumber>1</BillToVendorAccountNumber>
<IsDeleted>false</IsDeleted>
<CreatedByVMI>false</CreatedByVMI>
<CreatedDate>3/16/2014 12:00:00 AM</CreatedDate>
<Comments>comments</Comments>
<EstimatedArrivalDate>3/2/2014 12:00:00 AM</EstimatedArrivalDate>
<OrderTotal>99.99</OrderTotal>
<RetailiQPurchaseOrderID>22075</RetailiQPurchaseOrderID>
<RetailiQPurchaseOrderNumber>DALEKPO5</RetailiQPurchaseOrderNumber>
<ShippingTotal>99.99</ShippingTotal>
<ShipToStoreID>55</ShipToStoreID>
<ShipToStoreName>Cornwall west</ShipToStoreName>
<ShipToVendorAccountNumber>1</ShipToVendorAccountNumber>
<VendorInvoiceNumber>15782</VendorInvoiceNumber>
<VendorName>SampleVendor</VendorName>
</PurchaseOrderData>
<ProductsOrdered>
<ProductInformation>
<CategoryPath>Activation >> Dropship</CategoryPath>
<DateEOL>1/01/2016 12:00:00 AM</DateEOL>
<DateReceived>01/21/2016 16:58:23</DateReceived>
<DoNotOrder>false</DoNotOrder>
<Enabled>true</Enabled>
<GrossQuantityReturned>11</GrossQuantityReturned>
<GrossQuantitySold>10</GrossQuantitySold>
<MaximumLevel>100</MaximumLevel>
<MinimumLevel>10</MinimumLevel>
<MinMaxLocked>true</MinMaxLocked>
<ProductCost>99.99</ProductCost>
<ProductID>86EE477F-C6B7-48FA-AA0A-105662D9A3ED</ProductID>
<ProductItemID>11142</ProductItemID>
<ProductName>Samsung Galaxy S6</ProductName>
<ProductReceived>false</ProductReceived>
<ProductSKU>CECPSM000017</ProductSKU>
<QuantityCommittedOnOrderEntry>0</QuantityCommittedOnOrderEntry>
<QuantityInStock>8</QuantityInStock>
<QuantityInTransfer>3</QuantityInTransfer>
<QuantityOnBackOrder>0</QuantityOnBackOrder>
<QuantityOnLoan>5</QuantityOnLoan>
<QuantityOnOrder>6</QuantityOnOrder>
<QuantityOnRMA>9</QuantityOnRMA>
<QuantityOnUncommittedOrder>2</QuantityOnUncommittedOrder>
<QuantityOrdered>4</QuantityOrdered>
<QuantityReceived>4</QuantityReceived>
<QuantitySold>30</QuantitySold>
<QuantitySuggestedByVendor>50</QuantitySuggestedByVendor>
<QuantityTransferIn>3</QuantityTransferIn>
<QuantityTransferOut>3</QuantityTransferOut>
<RetailPrice>99.99</RetailPrice>
<SaleBegin>01/01/2014 12:00:00 AM</SaleBegin>
<SaleEnd>01/10/2014 12:00:00 AM</SaleEnd>
<SalePrice>79.99</SalePrice>
<VendorSKU>SSGS5CB</VendorSKU>
</ProductInformation>
</ProductsOrdered>
</CreatePurchaseOrderResult>
</CreatePurchaseOrderResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
CreatePurchaseOrder
( Required) -
Vendor
( Required) - Case-sensitive -
VendorID
( Required) -
Username
( Required) -
Password
( Required) -
Client
( Required) -
ClientID
( Required) -
Name
(Optional) -
StoreID
(Optional) - Required if VendorAccountNumber is not provided -
VendorAccountNumber
(Optional) - Required if StoreID is not provided -
PurchaseOrder
( Required) - The PurchaseOrder -
PurchaseOrderData
( Required) -
BillToStoreID
( Required) - Defaults to -1. Either this value or BillToVendorAccountNumber must be supplied -
EstimatedArrivalDate
( Required) - Format mm/dd/yyyy -
ShipToStoreID
( Required) - Defaults to -1. Either this value or ShipToVendorAccountNumber must be supplied -
VendorInvoiceNumber
( Required) - Vendor supplied invoice number, this must be unique -
CreatedByVMI
(Optional) - defaults to false -
CreatedDate
(Optional) -
Comments
(Optional) -
OrderTotal
(Optional) - Defaults to -1 -
ShippingTotal
(Optional) - Defaults to -1 -
ProductsOrdered
( Required) - Products ordered -
ProductInformation
( Required) -
QuantityOrdered
( Required) -
VendorSKU
( Required) -
DateReceived
(Optional) -
Enabled
(Optional) -
MaximumLevel
(Optional) - defaults to -1 -
MinimumLevel
(Optional) - defaults to -1 -
ProductCost
(Optional) - defaults to -1 -
ProductID
(Optional) -
ProductItemID
(Optional) -
ProductName
(Optional) -
ProductReceived
(Optional) -
ProductSKU
(Optional) -
QuantityCommittedOnOrderEntry
(Optional) - defaults to -1 -
QuantityInStock
(Optional) - defaults to -1 -
QuantityInTransfer
(Optional) - defaults to -1 -
QuantityOnBackOrder
(Optional) - defaults to -1 -
QuantityOnLoan
(Optional) - defaults to -1 -
QuantityOnOrder
(Optional) - defaults to -1 -
QuantityOnRMA
(Optional) - defaults to -1 -
QuantityReceived
(Optional) - defaults to -1 -
QuantitySold
(Optional) - defaults to -1 -
QuantityTransferIn
(Optional) - defaults to -1 -
QuantityTransferOut
(Optional) - defaults to -1
Creating a Purchase Order Shipment Notice
Allows the vendor to create a shipment notice for an existing purchase order.
Notes
- The shipment notice will be used when receiving purchase order products with serial numbers
- Multiple shipment notices can be created for a single purchase order
- Each shipment notice is for a single product
- If more than one product appears in a shipment, create one shipment notice for each product, but use the same shipment number for all products in the same shipment
Definition
POST /?op=CreatePurchaseOrderShipmentNotice
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<CreatePurchaseOrderShipmentNotice
xmlns="http://www.iqmetrix.com">
<vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>4</StoreID>
<VendorAccountNumber>ACCT123</VendorAccountNumber>
</Client>
</vendor>
<notice>
<PurchaseOrderShipmentNotice>
<PurchaseOrderID>84DACFD3-4095-4D50-A02E-781B86B7408E</PurchaseOrderID>
<ProductItemID>11142</ProductItemID>
<Quantity>1</Quantity>
<RQPurchaseOrderID>22073</RQPurchaseOrderID>
<SerialNumbers>
<string>490154203237518</string>
</SerialNumbers>
<ShipmentNumber>SHIP001</ShipmentNumber>
<VendorInvoiceNumber>1002</VendorInvoiceNumber>
<VendorSKU>SSGS5CB</VendorSKU>
</PurchaseOrderShipmentNotice>
</notice>
</CreatePurchaseOrderShipmentNotice>
</soap:Body>
</soap:Envelope>
Code Example
VendorIdentity vendor = new VendorIdentity();
vendor.VendorID = new Guid(009E800D-10ED-4F4A-B86F-DFB3C2A18C09);
vendor.Username = "danssupplies";
vendor.Password = "samplepassword";
vendor.Client = new ClientAgent();
vendor.Client.ClientID = companyID;
vendor.Client.StoreID = -1;
PurchaseOrderShipmentNotice sn = new PurchaseOrderShipmentNotice();
sn.PurchaseOrderID = new GUID(84DACFD3-4095-4D50-A02E-781B86B7408E);
sn.ShipmentNumber = "SHIP001 ";
sn.ProductItemID = 11142;
sn.Quantity = 2;
sn.SerialNumber = {"490154203237518", "12321324"};
PurchaseOrderShipmentNotice snReturn =
vmiService.CreatePurchaseOrderShipmentNotice(vendor, new[] { sn });
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<CreatePurchaseOrderShipmentNoticeResponse
xmlns="http://www.iqmetrix.com">
<CreatePurchaseOrderShipmentNoticeResult>
<PurchaseOrderShipmentNotice>
<PurchaseOrderID>84DACFD3-4095-4D50-A02E-781B86B7408E</PurchaseOrderID>
<ProductItemID>11142</ProductItemID>
<Quantity>1</Quantity>
<RQPurchaseOrderID>22073</RQPurchaseOrderID>
<SerialNumbers>
<string>490154203237518</string>
</SerialNumbers>
<ShipmentNumber>SHIP001</ShipmentNumber>
<VendorInvoiceNumber>1002</VendorInvoiceNumber>
<VendorSKU>SSGS5CB</VendorSKU>
</PurchaseOrderShipmentNotice>
</CreatePurchaseOrderShipmentNoticeResult>
</CreatePurchaseOrderShipmentNoticeResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
CreatePurchaseOrderShipmentNotice
( Required) -
vendor
( Required) - case-sensitive -
VendorID
( Required) -
Username
( Required) -
Password
( Required) -
Client
( Required) -
ClientID
( Required) -
Name
(Optional) -
StoreID
(Optional) - Required if VendorAccountNumber is not provided -
VendorAccountNumber
(Optional) - Required if StoreID is not provided -
notice
( Required) -
PurchaseOrderShipmentNotice
( Required) -
PurchaseOrderID
( Required) - Either this value or VendorInvoiceNumber must be provided -
ProductItemID
( Required) - Either this value or VendorSKU must be provided -
Quantity
( Required) -
RQPurchaseOrderID
( Required) - defaults to -1 -
SerialNumbers
(Optional) -
ShipmentNumber
(Optional) - If this value is not provided, the service will automatically assign one -
VendorInvoiceNumber
(Optional) - Either this value OR PurchaseOrderID must be provided -
VendorSKU
(Optional) - Either this value or ProductItemId must be provided
Verify API Status
Verify that the VMI Service, and RQ Client Database are up and running.
If successful, the service will return a string declaring that the dealer’s database has been found.
Definition
POST /?op=Ping
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<Ping
xmlns="http://www.iqmetrix.com">
<vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>4</StoreID>
<VendorAccountNumber>ACCT123</VendorAccountNumber>
</Client>
</vendor>
</Ping>
</soap:Body>
</soap:Envelope>
Code Example
VendorIdentity vendor = new VendorIdentity();
vendor.VendorID = new Guid(009E800D-10ED-4F4A-B86F-DFB3C2A18C09);
vendor.Username = "danssupplies";
vendor.Password = "samplepassword";
vendor.Client = new ClientAgent();
vendor.Client.ClientID = companyID;
string pingResult = vmiService.Ping(vendor);
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<PingResponse xmlns="http://www.iqmetrix.com">
<PingResult>DansSupplies database is up (5.15.10.57126, Release, DropshipTestDemo)!</PingResult>
</PingResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
Ping
( Required) -
vendor
( Required) - case-sensitive -
VendorID
( Required) -
Username
( Required) -
Password
( Required) -
Client
( Required) -
ClientID
( Required) -
Name
(Optional) -
StoreID
(Optional) - Required if VendorAccountNumber is not provided -
VendorAccountNumber
(Optional) - Required if StoreID is not provided
Enabling or Disabling a Company
Change the interaction status of a company.
Notes
- Enabled companies appear in the response of Getting Enabled Companies
- Disabled companies appear only in the response of Getting Disabled Companies
- Only enabled companies may receive purchase orders through the VMI service
Definition
POST /?op=EnableCompany
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<EnableCompany
xmlns="http://www.iqmetrix.com">
<vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>4</StoreID>
<VendorAccountNumber>ACCT123</VendorAccountNumber>
</Client>
</vendor>
<isEnabled>true</isEnabled>
</EnableCompany>
</soap:Body>
</soap:Envelope>
Code Example
VendorIdentity vendor = new VendorIdentity();
vendor.VendorID = new Guid(009E800D-10ED-4F4A-B86F-DFB3C2A18C09);
vendor.Username = "danssupplies";
vendor.Password = "samplepassword";
vendor.Client = new ClientAgent();
vendor.Client.ClientID = companyID;
vmiService.EnableCompany(vendor, true); // false to disable a company
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<EnableCompanyResponse xmlns="http://www.iqmetrix.com" />
</soap:Body>
</soap:Envelope>
Request Parameters
-
EnableCompany
( Required) -
vendor
( Required) - case-sensitive -
VendorID
( Required) -
Username
( Required) -
Password
( Required) -
Client
( Required) -
ClientID
( Required) -
Name
(Optional) -
StoreID
(Optional) - Required if VendorAccountNumber is not provided -
VendorAccountNumber
(Optional) - Required if StoreID is not provided -
isEnabled
(Optional)
Getting Committed Purchase Orders
Report on the committed purchase orders for a particular store to see what products have been received and have not been received.
This request will allow you to take appropriate action for products that have not arrived at a store.
Definition
POST /?op=GetCommittedPurchaseOrderList
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetCommittedPurchaseOrderList
xmlns="http://www.iqmetrix.com">
<vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>4</StoreID>
<VendorAccountNumber>ACCT123</VendorAccountNumber>
</Client>
</vendor>
</GetCommittedPurchaseOrderList>
</soap:Body>
</soap:Envelope>
Code Example
VendorIdentity vendor = new VendorIdentity();
vendor.VendorID = new Guid(009E800D-10ED-4F4A-B86F-DFB3C2A18C09);
vendor.Username = "danssupplies";
vendor.Password = "samplepassword";
vendor.Client = new ClientAgent();
vendor.Client.ClientID = companyID;
vendor.Client.StoreID = 4;
PurchaseOrderInformation[] pos = vmiService.GetCommittedPurchaseOrderList(vendor);
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetCommittedPurchaseOrderListResponse
xmlns="http://www.iqmetrix.com">
<GetCommittedPurchaseOrderListResult>
<PurchaseOrderInformation>
<PurchaseOrderID>28890F70-8FC9-4A9B-9458-410A8D08502D</PurchaseOrderID>
<PurchaseOrderData>
<PurchaseOrderID>28890F70-8FC9-4A9B-9458-410A8D08502D</PurchaseOrderID>
<BillToStoreID>55</BillToStoreID>
<BillToStoreName>Cornwall west</BillToStoreName>
<BillToVendorAccountNumber>1</BillToVendorAccountNumber>
<IsDeleted>false</IsDeleted>
<CreatedByVMI>false</CreatedByVMI>
<CreatedDate>3/16/2014 12:00:00 AM</CreatedDate>
<Comments>comments</Comments>
<EstimatedArrivalDate>3/2/2014 12:00:00 AM</EstimatedArrivalDate>
<OrderTotal>99.99</OrderTotal>
<RetailiQPurchaseOrderID>22075</RetailiQPurchaseOrderID>
<RetailiQPurchaseOrderNumber>DALEKPO5</RetailiQPurchaseOrderNumber>
<ShippingTotal>99.99</ShippingTotal>
<ShipToStoreID>55</ShipToStoreID>
<ShipToStoreName>Cornwall west</ShipToStoreName>
<ShipToVendorAccountNumber>1</ShipToVendorAccountNumber>
<VendorInvoiceNumber>15782</VendorInvoiceNumber>
<VendorName>SampleVendor</VendorName>
</PurchaseOrderData>
<ProductsOrdered>
<ProductInformation>
<CategoryPath>Activation >> Dropship</CategoryPath>
<DateEOL>1/01/2016 12:00:00 AM</DateEOL>
<DateReceived>01/21/2016 16:58:23</DateReceived>
<DoNotOrder>false</DoNotOrder>
<Enabled>true</Enabled>
<GrossQuantityReturned>11</GrossQuantityReturned>
<GrossQuantitySold>10</GrossQuantitySold>
<MaximumLevel>100</MaximumLevel>
<MinimumLevel>10</MinimumLevel>
<MinMaxLocked>true</MinMaxLocked>
<ProductCost>99.99</ProductCost>
<ProductID>86EE477F-C6B7-48FA-AA0A-105662D9A3ED</ProductID>
<ProductItemID>11142</ProductItemID>
<ProductName>Samsung Galaxy S6</ProductName>
<ProductReceived>false</ProductReceived>
<ProductSKU>CECPSM000017</ProductSKU>
<QuantityCommittedOnOrderEntry>0</QuantityCommittedOnOrderEntry>
<QuantityInStock>8</QuantityInStock>
<QuantityInTransfer>3</QuantityInTransfer>
<QuantityOnBackOrder>0</QuantityOnBackOrder>
<QuantityOnLoan>5</QuantityOnLoan>
<QuantityOnOrder>6</QuantityOnOrder>
<QuantityOnRMA>9</QuantityOnRMA>
<QuantityOnUncommittedOrder>2</QuantityOnUncommittedOrder>
<QuantityOrdered>4</QuantityOrdered>
<QuantityReceived>4</QuantityReceived>
<QuantitySold>30</QuantitySold>
<QuantitySuggestedByVendor>50</QuantitySuggestedByVendor>
<QuantityTransferIn>3</QuantityTransferIn>
<QuantityTransferOut>3</QuantityTransferOut>
<RetailPrice>99.99</RetailPrice>
<SaleBegin>01/01/2014 12:00:00 AM</SaleBegin>
<SaleEnd>01/10/2014 12:00:00 AM</SaleEnd>
<SalePrice>79.99</SalePrice>
<VendorSKU>SSGS5CB</VendorSKU>
</ProductInformation>
</ProductsOrdered>
</PurchaseOrderInformation>
</GetCommittedPurchaseOrderListResult>
</GetCommittedPurchaseOrderListResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
GetCommittedPurchaseOrderList
( Required) -
vendor
( Required) - case-sensitive -
VendorID
( Required) -
Username
( Required) -
Password
( Required) -
Client
( Required) -
ClientID
( Required) -
Name
(Optional) -
StoreID
(Optional) - Required if VendorAccountNumber is not provided -
VendorAccountNumber
(Optional) - Required if StoreID is not provided
Getting a Company List
Retrieves a list of VMI enabled companies.
This API call is not company-specific, so for the ClientID
field any guid value can be provided and for StoreID
any numerical value can be provided.
Definition
POST /?op=GetCompanyList
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetCompanyList
xmlns="http://www.iqmetrix.com">
<Vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
</Vendor>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>-1</StoreID>
<VendorAccountNumber>ACCT123</VendorAccountNumber>
</Client>
</GetCompanyList>
</soap:Body>
</soap:Envelope>
Code Example
VendorIdentity vendor = new VendorIdentity();
vendor.VendorID = new Guid(009E800D-10ED-4F4A-B86F-DFB3C2A18C09);
vendor.Username = "danssupplies";
vendor.Password = "samplepassword";
VMIServiceSoapClient vmiService = new VMIServiceSoapClient();
CompanyInformation[] companies = vmiService.GetCompanyList(vendor);
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetCompanyListResponse
xmlns="http://www.iqmetrix.com">
<GetCompanyListResult>
<CompanyInformation>
<CompanyID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</CompanyID>
<Name>DropshipTestDemo</Name>
</CompanyInformation>
</GetCompanyListResult>
</GetCompanyListResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
GetCompanyList
( Required) -
Vendor
( Required) - Case-sensitive -
VendorID
( Required) -
Username
( Required) -
Password
( Required) -
Client
(Optional) -
ClientID
(Optional) -
Name
(Optional) -
StoreID
(Optional) - Required if VendorAccountNumber is not provided -
VendorAccountNumber
(Optional) - Required if StoreID is not provided
Getting Hierarchy Info
Returns the company tree structure (hierarchy) including store counts.
Notes
- Each level contains a store count for its level.
- Only levels with a valid enabled store count will be returned
- The structure is Company (not part of the object) -> Channels -> Regions -> Districts -> Stores
Example
There is one Channel for this company; Default Channel. Expanding Default Channel we see Regions, the first of which is Northeast, which contains 37 locations.
Expand the Region and you see Districts. The first District, Tri State, has 8 stores. Expand the District to see the Stores.
Definition
POST /?op=GetHierarchyInfo
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetHierarchyInfo
xmlns="http://www.iqmetrix.com">
<Vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>4</StoreID>
<VendorAccountNumber>ACCT123</VendorAccountNumber>
</Client>
</Vendor>
</GetHierarchyInfo>
</soap:Body>
</soap:Envelope>
Code Example
VendorIdentity vendor = new VendorIdentity();
vendor.VendorID = new Guid(009E800D-10ED-4F4A-B86F-DFB3C2A18C09);
vendor.Username = "danssupplies";
vendor.Password = "samplepassword";
vendor.Client = new ClientAgent();
vendor.Client.ClientID = companyID;
ProductInformation[] products = vmiService.GetHierarchyInfo(vendor);
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetHierarchyInfoResponse xmlns="http://www.iqmetrix.com">
<GetHierarchyInfoResult>
<Channels>
<Channel>
<ChannelID>4bbb842d-0340-4ffc-9216-bf170c861424</ChannelID>
<ChannelName>First Channel</ChannelName>
<StoreCount>6</StoreCount>
<Regions>
<Region>
<RegionID>1</RegionID>
<RegionName>First Region</RegionName>
<StoreCount>6</StoreCount>
<Districts>
<District>
<DistrictID>1</DistrictID>
<DistrictName>First District</DistrictName>
<StoreCount>6</StoreCount>
<Stores>
<StoreInformation>
<StoreID>6</StoreID>
<Name>Vineland Test Store</Name>
<Address />
<City>Orlando</City>
<ProvinceState>FL</ProvinceState>
<PostalZipCode>32801</PostalZipCode>
<Country>United States</Country>
<PhoneNumber>8566916400</PhoneNumber>
<ShipToStoreID>6</ShipToStoreID>
<BillToStoreID>6</BillToStoreID>
<VendorAccountNumber>-</VendorAccountNumber>
<Abbreviation>VTS01</Abbreviation>
</StoreInformation>
</Stores>
</District>
</Districts>
</Region>
</Regions>
</Channel>
</Channels>
</GetHierarchyInfoResult>
</GetHierarchyInfoResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
GetHierarchyInfo
( Required) -
Vendor
( Required) - case-sensitive -
VendorID
( Required) -
Username
( Required) -
Password
( Required) -
Client
( Required) -
ClientID
( Required) -
Name
(Optional) -
StoreID
(Optional) - Required if VendorAccountNumber is not provided -
VendorAccountNumber
(Optional) - Required if StoreID is not provided
Getting Completed Purchase Orders
This request allows you to run a report on the completed purchase orders in given time range for a particular store to see what products have been received.
Notes
- Purchase order completion date is determined by the latest receiving date in the purchase order
Definition
POST /?op=GetCompletedPurchaseOrderList
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetCompletedPurchaseOrderList
xmlns="http://www.iqmetrix.com">
<vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>4</StoreID>
<VendorAccountNumber>ACCT123</VendorAccountNumber>
</Client>
</vendor>
<startDateReceived>01/01/2016</startDateReceived>
<endDateReceived>10/31/2016</endDateReceived>
</GetCompletedPurchaseOrderList>
</soap:Body>
</soap:Envelope>
Code Example
VendorIdentity vendor = new VendorIdentity();
vendor.VendorID = new Guid(009E800D-10ED-4F4A-B86F-DFB3C2A18C09);
vendor.Username = "danssupplies";
vendor.Password = "samplepassword";
vendor.Client = new ClientAgent();
vendor.Client.ClientID = companyID;
vendor.Client.StoreID = 4;
DateTime startDateReceived = new DateTime(2011, 2, 1);
DateTime endDateReceived = new DateTime(2011, 2, 15);
PurchaseOrderInformation[] pos = vmiService. GetCompletedPurchaseOrderList (vendor, startDateReceived, endDateReceived);
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetCompletedPurchaseOrderListResponse
xmlns="http://www.iqmetrix.com">
<GetCompletedPurchaseOrderListResult>
<PurchaseOrderInformation>
<PurchaseOrderID>28890F70-8FC9-4A9B-9458-410A8D08502D</PurchaseOrderID>
<PurchaseOrderData>
<PurchaseOrderID>28890F70-8FC9-4A9B-9458-410A8D08502D</PurchaseOrderID>
<BillToStoreID>55</BillToStoreID>
<BillToStoreName>Cornwall west</BillToStoreName>
<BillToVendorAccountNumber>1</BillToVendorAccountNumber>
<IsDeleted>false</IsDeleted>
<CreatedByVMI>false</CreatedByVMI>
<CreatedDate>3/16/2014 12:00:00 AM</CreatedDate>
<Comments>comments</Comments>
<EstimatedArrivalDate>3/2/2014 12:00:00 AM</EstimatedArrivalDate>
<OrderTotal>99.99</OrderTotal>
<RetailiQPurchaseOrderID>22075</RetailiQPurchaseOrderID>
<RetailiQPurchaseOrderNumber>DALEKPO5</RetailiQPurchaseOrderNumber>
<ShippingTotal>99.99</ShippingTotal>
<ShipToStoreID>55</ShipToStoreID>
<ShipToStoreName>Cornwall west</ShipToStoreName>
<ShipToVendorAccountNumber>1</ShipToVendorAccountNumber>
<VendorInvoiceNumber>15782</VendorInvoiceNumber>
<VendorName>SampleVendor</VendorName>
</PurchaseOrderData>
<ProductsOrdered>
<ProductInformation>
<CategoryPath>Activation >> Dropship</CategoryPath>
<DateEOL>1/01/2016 12:00:00 AM</DateEOL>
<DateReceived>01/21/2016 16:58:23</DateReceived>
<DoNotOrder>false</DoNotOrder>
<Enabled>true</Enabled>
<GrossQuantityReturned>11</GrossQuantityReturned>
<GrossQuantitySold>10</GrossQuantitySold>
<MaximumLevel>100</MaximumLevel>
<MinimumLevel>10</MinimumLevel>
<MinMaxLocked>true</MinMaxLocked>
<ProductCost>99.99</ProductCost>
<ProductID>86EE477F-C6B7-48FA-AA0A-105662D9A3ED</ProductID>
<ProductItemID>11142</ProductItemID>
<ProductName>Samsung Galaxy S6</ProductName>
<ProductReceived>false</ProductReceived>
<ProductSKU>CECPSM000017</ProductSKU>
<QuantityCommittedOnOrderEntry>0</QuantityCommittedOnOrderEntry>
<QuantityInStock>8</QuantityInStock>
<QuantityInTransfer>3</QuantityInTransfer>
<QuantityOnBackOrder>0</QuantityOnBackOrder>
<QuantityOnLoan>5</QuantityOnLoan>
<QuantityOnOrder>6</QuantityOnOrder>
<QuantityOnRMA>9</QuantityOnRMA>
<QuantityOnUncommittedOrder>2</QuantityOnUncommittedOrder>
<QuantityOrdered>4</QuantityOrdered>
<QuantityReceived>4</QuantityReceived>
<QuantitySold>30</QuantitySold>
<QuantitySuggestedByVendor>50</QuantitySuggestedByVendor>
<QuantityTransferIn>3</QuantityTransferIn>
<QuantityTransferOut>3</QuantityTransferOut>
<RetailPrice>99.99</RetailPrice>
<SaleBegin>01/01/2014 12:00:00 AM</SaleBegin>
<SaleEnd>01/10/2014 12:00:00 AM</SaleEnd>
<SalePrice>79.99</SalePrice>
<VendorSKU>SSGS5CB</VendorSKU>
</ProductInformation>
</ProductsOrdered>
</PurchaseOrderInformation>
</GetCompletedPurchaseOrderListResult>
</GetCompletedPurchaseOrderListResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
GetCompletedPurchaseOrderList
( Required) -
vendor
( Required) - case-sensitive -
VendorID
( Required) -
Username
( Required) -
Password
( Required) -
Client
( Required) -
ClientID
( Required) -
Name
(Optional) -
StoreID
(Optional) - Required if VendorAccountNumber is not provided -
VendorAccountNumber
(Optional) - Required if StoreID is not provided -
startDateReceived
( Required) -
endDateReceived
( Required)
Getting Disabled Companies
Retrieves a list of VMI disabled companies.
This API call is not company-specific, so for the ClientID
field any guid value can be provided and for StoreID
any numerical value can be provided.
Definition
POST /?op=GetDisabledCompanies
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetDisabledCompanies
xmlns="http://www.iqmetrix.com">
<vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>4</StoreID>
<VendorAccountNumber>ACCT123</VendorAccountNumber>
</Client>
</vendor>
</GetDisabledCompanies>
</soap:Body>
</soap:Envelope>
Code Example
VendorIdentity vendor = new VendorIdentity();
vendor.VendorID = new Guid(009E800D-10ED-4F4A-B86F-DFB3C2A18C09);
vendor.Username = "danssupplies";
vendor.Password = "samplepassword";
VMIServiceSoapClient vmiService = new VMIServiceSoapClient();
CompanyInformation[] companies = vmiService.GetDisabledCompanies(vendor);
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetDisabledCompaniesResponse
xmlns="http://www.iqmetrix.com">
<GetDisabledCompaniesResult>
<CompanyInformation>
<CompanyID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</CompanyID>
<Name>DropshipTestDemo</Name>
</CompanyInformation>
</GetDisabledCompaniesResult>
</GetDisabledCompaniesResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
GetDisabledCompanies
( Required) -
vendor
( Required) - case-sensitive -
VendorID
( Required) -
Username
( Required) -
Password
( Required) -
Client
(Optional) -
ClientID
(Optional) -
Name
(Optional) -
StoreID
(Optional) - Required if VendorAccountNumber is not provided -
VendorAccountNumber
(Optional) - Required if StoreID is not provided
Getting Employee List
Retrieve a list of Employees and the Stores that they are assigned to. The response will include a record for each Employee/Store combination found.
Definition
POST /?op=GetEmployeeList
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetEmployeeList
xmlns="http://www.iqmetrix.com">
<vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>4</StoreID>
<VendorAccountNumber>ACCT123</VendorAccountNumber>
</Client>
</vendor>
<onlyEnabled>false</onlyEnabled>
</GetEmployeeList>
</soap:Body>
</soap:Envelope>
Code Example
VendorIdentity vendor = new VendorIdentity();
vendor.VendorID = new Guid(009E800D-10ED-4F4A-B86F-DFB3C2A18C09);
vendor.Username = "danssupplies";
vendor.Password = "samplepassword";
vendor.Client = new ClientAgent();
vendor.Client.ClientID = companyID;
EmployeeInformation info = vmiService.GetEmployeeList(vendor, onlyEnabled);
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetEmployeeListResponse
xmlns="http://www.iqmetrix.com">
<GetEmployeeListResult>
<EmployeeInformation>
<CellPhone>5555555555</CellPhone>
<CompanyName>KENTEL</CompanyName>
<Email>johnt@kentel.com</Email>
<Enabled>true</Enabled>
<EndDate></EndDate>
<FirstName>John</FirstName>
<LastName>Tester</LastName>
<Role>Store Manager</Role>
<StartDate></StartDate>
<StoreAddress>123 Main Street</StoreAddress>
<StoreCity>Moon City</StoreCity>
<StoreCountry>US</StoreCountry>
<StoreEmail>atlantis@kentel.com</StoreEmail>
<StoreID>4</StoreID>
<StoreName>Atlantis</StoreName>
<StorePostalCode>90210</StorePostalCode>
<StoreProvinceOrState>ND</StoreProvinceOrState>
</EmployeeInformation>
</GetEmployeeListResult>
</GetEmployeeListResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
GetEmployeeList
( Required) -
vendor
( Required) - case-sensitive -
VendorID
( Required) -
Username
( Required) -
Password
( Required) -
Client
( Required) -
ClientID
( Required) -
Name
(Optional) -
StoreID
(Optional) - Required if VendorAccountNumber is not provided -
VendorAccountNumber
(Optional) - Required if StoreID is not provided -
onlyEnabled
(Optional) - True for enabled employees, false for all employees
Getting Enabled Companies
Retrieves a list of VMI enabled companies.
This API call is not company-specific, so for the ClientID
field any guid value can be provided and for StoreID
any numerical value can be provided.
Definition
POST /?op=GetEnabledCompanies
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetEnabledCompanies
xmlns="http://www.iqmetrix.com">
<Vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>4</StoreID>
<VendorAccountNumber>ACCT123</VendorAccountNumber>
</Client>
</Vendor>
</GetEnabledCompanies>
</soap:Body>
</soap:Envelope>
Code Example
VendorIdentity vendor = new VendorIdentity();
vendor.VendorID = new Guid(009E800D-10ED-4F4A-B86F-DFB3C2A18C09);
vendor.Username = "danssupplies";
vendor.Password = "samplepassword";
VMIServiceSoapClient vmiService = new VMIServiceSoapClient();
CompanyInformation[] companies = vmiService.GetEnabledCompanies(vendor);
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetEnabledCompaniesResponse
xmlns="http://www.iqmetrix.com">
<GetEnabledCompaniesResult>
<CompanyInformation>
<CompanyID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</CompanyID>
<Name>DropshipTestDemo</Name>
</CompanyInformation>
</GetEnabledCompaniesResult>
</GetEnabledCompaniesResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
GetEnabledCompanies
( Required) -
Vendor
( Required) - Case-sensitive -
VendorID
( Required) -
Username
( Required) -
Password
( Required) -
Client
(Optional) -
ClientID
(Optional) -
Name
(Optional) -
StoreID
(Optional) - Required if VendorAccountNumber is not provided -
VendorAccountNumber
(Optional) - Required if StoreID is not provided
Getting the Inventory List
Retrieve an inventory of products for which the vendor is set as the primary vendor in RQ.
Definition
POST /?op=GetInventoryList
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetInventoryList
xmlns="http://www.iqmetrix.com">
<Vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>4</StoreID>
<VendorAccountNumber>ACCT123</VendorAccountNumber>
</Client>
</Vendor>
</GetInventoryList>
</soap:Body>
</soap:Envelope>
Code Example
VendorIdentity vendor = new VendorIdentity();
vendor.VendorID = new Guid(009E800D-10ED-4F4A-B86F-DFB3C2A18C09);
vendor.Username = "danssupplies";
vendor.Password = "samplepassword";
vendor.Client = new ClientAgent();
vendor.Client.ClientID = companyID;
ProductInformation[] products = vmiService.GetInventoryList(vendor);
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetInventoryListResponse
xmlns="http://www.iqmetrix.com">
<GetInventoryListResult>
<ProductInformation>
<CategoryPath>Activation >> Dropship</CategoryPath>
<DateEOL>1/01/2016 12:00:00 AM</DateEOL>
<DateReceived>01/21/2016 16:58:23</DateReceived>
<DoNotOrder>false</DoNotOrder>
<Enabled>true</Enabled>
<GrossQuantityReturned>11</GrossQuantityReturned>
<GrossQuantitySold>10</GrossQuantitySold>
<MaximumLevel>100</MaximumLevel>
<MinimumLevel>10</MinimumLevel>
<MinMaxLocked>true</MinMaxLocked>
<ProductCost>99.99</ProductCost>
<ProductID>86EE477F-C6B7-48FA-AA0A-105662D9A3ED</ProductID>
<ProductItemID>11142</ProductItemID>
<ProductName>Samsung Galaxy S6</ProductName>
<ProductReceived>false</ProductReceived>
<ProductSKU>CECPSM000017</ProductSKU>
<QuantityCommittedOnOrderEntry>0</QuantityCommittedOnOrderEntry>
<QuantityInStock>8</QuantityInStock>
<QuantityInTransfer>3</QuantityInTransfer>
<QuantityOnBackOrder>0</QuantityOnBackOrder>
<QuantityOnLoan>5</QuantityOnLoan>
<QuantityOnOrder>6</QuantityOnOrder>
<QuantityOnRMA>9</QuantityOnRMA>
<QuantityOnUncommittedOrder>2</QuantityOnUncommittedOrder>
<QuantityOrdered>4</QuantityOrdered>
<QuantityReceived>4</QuantityReceived>
<QuantitySold>30</QuantitySold>
<QuantitySuggestedByVendor>50</QuantitySuggestedByVendor>
<QuantityTransferIn>3</QuantityTransferIn>
<QuantityTransferOut>3</QuantityTransferOut>
<RetailPrice>99.99</RetailPrice>
<SaleBegin>01/01/2014 12:00:00 AM</SaleBegin>
<SaleEnd>01/10/2014 12:00:00 AM</SaleEnd>
<SalePrice>79.99</SalePrice>
<VendorSKU>SSGS5CB</VendorSKU>
</ProductInformation>
</GetInventoryListResult>
</GetInventoryListResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
GetInventoryList
( Required) -
Vendor
( Required) - Case-sensitive -
VendorID
( Required) -
Username
( Required) -
Password
( Required) -
Client
( Required) -
ClientID
( Required) -
Name
(Optional) -
StoreID
(Optional) - Required if VendorAccountNumber is not provided -
VendorAccountNumber
(Optional) - Required if StoreID is not provided
Getting the Inventory Report
Retrieves an inventory report for a particular store. Includes minimum and maximum inventory, quantity on hand, quantity sold within a particular date range, product SKU, etc.
Definition
POST /?op=GetInventoryReport
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetInventoryReport
xmlns="http://www.iqmetrix.com">
<Vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>4</StoreID>
<VendorAccountNumber>ACCT123</VendorAccountNumber>
</Client>
</Vendor>
<StartDate>01/01/2016</StartDate>
<EndDate>10/31/2016</EndDate>
</GetInventoryReport>
</soap:Body>
</soap:Envelope>
Code Example
VendorIdentity vendor = new VendorIdentity();
vendor.VendorID = new Guid(009E800D-10ED-4F4A-B86F-DFB3C2A18C09);
vendor.Username = "danssupplies";
vendor.Password = "samplepassword";
vendor.Client = new ClientAgent();
vendor.Client.ClientID = companyID;
vendor.Client.StoreID = 4;
ProductInformation[] inventoryReport = vmiService.GetInventoryReport(vendor, startDate, endDate);
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetInventoryReportResponse
xmlns="http://www.iqmetrix.com">
<GetInventoryReportResult>
<ProductInformation>
<CategoryPath>Activation >> Dropship</CategoryPath>
<DateEOL>1/01/2016 12:00:00 AM</DateEOL>
<DateReceived>01/21/2016 16:58:23</DateReceived>
<DoNotOrder>false</DoNotOrder>
<Enabled>true</Enabled>
<GrossQuantityReturned>11</GrossQuantityReturned>
<GrossQuantitySold>10</GrossQuantitySold>
<MaximumLevel>100</MaximumLevel>
<MinimumLevel>10</MinimumLevel>
<MinMaxLocked>true</MinMaxLocked>
<ProductCost>99.99</ProductCost>
<ProductID>86EE477F-C6B7-48FA-AA0A-105662D9A3ED</ProductID>
<ProductItemID>11142</ProductItemID>
<ProductName>Samsung Galaxy S6</ProductName>
<ProductReceived>false</ProductReceived>
<ProductSKU>CECPSM000017</ProductSKU>
<QuantityCommittedOnOrderEntry>0</QuantityCommittedOnOrderEntry>
<QuantityInStock>8</QuantityInStock>
<QuantityInTransfer>3</QuantityInTransfer>
<QuantityOnBackOrder>0</QuantityOnBackOrder>
<QuantityOnLoan>5</QuantityOnLoan>
<QuantityOnOrder>6</QuantityOnOrder>
<QuantityOnRMA>9</QuantityOnRMA>
<QuantityOnUncommittedOrder>2</QuantityOnUncommittedOrder>
<QuantityOrdered>4</QuantityOrdered>
<QuantityReceived>4</QuantityReceived>
<QuantitySold>30</QuantitySold>
<QuantitySuggestedByVendor>50</QuantitySuggestedByVendor>
<QuantityTransferIn>3</QuantityTransferIn>
<QuantityTransferOut>3</QuantityTransferOut>
<RetailPrice>99.99</RetailPrice>
<SaleBegin>01/01/2014 12:00:00 AM</SaleBegin>
<SaleEnd>01/10/2014 12:00:00 AM</SaleEnd>
<SalePrice>79.99</SalePrice>
<VendorSKU>SSGS5CB</VendorSKU>
</ProductInformation>
</GetInventoryReportResult>
</GetInventoryReportResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
GetInventoryReport
( Required) -
Vendor
( Required) - Case-sensitive -
VendorID
( Required) -
Username
( Required) -
Password
( Required) -
Client
( Required) -
ClientID
( Required) -
Name
(Optional) -
StoreID
(Optional) - Required if VendorAccountNumber is not provided -
VendorAccountNumber
(Optional) - Required if StoreID is not provided -
StartDate
( Required) -
EndDate
( Required)
Getting the Inventory Report by Vendor SKU
This method allows you to get an inventory report for all stores by a specified Vendor SKU. Includes minimum and maximum inventory, quantity on hand, quantity sold within a particular date range, product SKU etc.
Definition
POST /?op=GetInventoryReportByVendorSku
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetInventoryReportByVendorSku
xmlns="http://www.iqmetrix.com">
<Vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>4</StoreID>
<VendorAccountNumber>ACCT123</VendorAccountNumber>
</Client>
</Vendor>
<StartDate>01/01/2016</StartDate>
<EndDate>10/31/2016</EndDate>
<VendorSku>SSGS5CB</VendorSku>
</GetInventoryReportByVendorSku>
</soap:Body>
</soap:Envelope>
Code Example
VendorIdentity vendor = new VendorIdentity();
vendor.VendorID = new Guid(009E800D-10ED-4F4A-B86F-DFB3C2A18C09);
vendor.Username = "danssupplies";
vendor.Password = "samplepassword";
vendor.Client = new ClientAgent();
vendor.Client.ClientID = companyID;
ProductInformation[] inventoryReport = vmiService.GetInventoryReportByVendorSku(vendor, vendorSku, startDate, endDate);
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetInventoryReportByVendorSkuResponse
xmlns="http://www.iqmetrix.com">
<GetInventoryReportByVendorSkuResult>
<ProductAndStoreInformation>
<CategoryPath>Activation >> Dropship</CategoryPath>
<ChannelID>4bbb842d-0340-4ffc-9216-bf170c861424</ChannelID>
<ChannelName>First Channel</ChannelName>
<DateEOL>1/01/2016 12:00:00 AM</DateEOL>
<DateReceived>01/21/2016 16:58:23</DateReceived>
<DistrictID>1</DistrictID>
<DistrictName>First Region</DistrictName>
<DoNotOrder>false</DoNotOrder>
<Enabled>true</Enabled>
<GrossQuantityReturned>11</GrossQuantityReturned>
<GrossQuantitySold>10</GrossQuantitySold>
<MaximumLevel>100</MaximumLevel>
<MinimumLevel>10</MinimumLevel>
<MinMaxLocked>true</MinMaxLocked>
<ProductCost>99.99</ProductCost>
<ProductID>86EE477F-C6B7-48FA-AA0A-105662D9A3ED</ProductID>
<ProductItemID>11142</ProductItemID>
<ProductName>Samsung Galaxy S6</ProductName>
<ProductReceived>false</ProductReceived>
<ProductSKU>CECPSM000017</ProductSKU>
<QuantityCommittedOnOrderEntry>0</QuantityCommittedOnOrderEntry>
<QuantityInStock>8</QuantityInStock>
<QuantityInTransfer>3</QuantityInTransfer>
<QuantityOnBackOrder>0</QuantityOnBackOrder>
<QuantityOnLoan>5</QuantityOnLoan>
<QuantityOnOrder>6</QuantityOnOrder>
<QuantityOnRMA>9</QuantityOnRMA>
<QuantityOnUncommittedOrder>2</QuantityOnUncommittedOrder>
<QuantityOrdered>4</QuantityOrdered>
<QuantityReceived>4</QuantityReceived>
<QuantitySold>30</QuantitySold>
<QuantitySuggestedByVendor>50</QuantitySuggestedByVendor>
<RegionID>1</RegionID>
<RegionName>First District</RegionName>
<RetailPrice>99.99</RetailPrice>
<SaleBegin>01/01/2014 12:00:00 AM</SaleBegin>
<SaleEnd>01/10/2014 12:00:00 AM</SaleEnd>
<SalePrice>79.99</SalePrice>
<StoreID>36</StoreID>
<StoreName>Cornwall West</StoreName>
<VendorSKU>SSGS5CB</VendorSKU>
</ProductAndStoreInformation>
</GetInventoryReportByVendorSkuResult>
</GetInventoryReportByVendorSkuResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
GetInventoryReportByVendorSku
( Required) -
Vendor
( Required) - Case-sensitive -
VendorID
( Required) -
Username
( Required) -
Password
( Required) -
Client
( Required) -
ClientID
( Required) -
Name
(Optional) -
StoreID
(Optional) - Required if VendorAccountNumber is not provided -
VendorAccountNumber
(Optional) - Required if StoreID is not provided -
StartDate
( Required) -
EndDate
( Required) -
VendorSku
( Required)
Getting Pending Companies
Retrieves a list of all companies that are in a Pending State for the Vendor.
Vendors can only create purchase orders for Enabled companies.
To change the status of a company, use Enabling or Disabling a Company.
Definition
POST /?op=GetPendingCompanies
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetPendingCompanies
xmlns="http://www.iqmetrix.com">
<vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>4</StoreID>
<VendorAccountNumber>ACCT123</VendorAccountNumber>
</Client>
</vendor>
</GetPendingCompanies>
</soap:Body>
</soap:Envelope>
Code Example
VendorIdentity vendor = new VendorIdentity();
vendor.VendorID = new Guid(009E800D-10ED-4F4A-B86F-DFB3C2A18C09);
vendor.Username = "danssupplies";
vendor.Password = "samplepassword";
VMIServiceSoapClient vmiService = new VMIServiceSoapClient();
CompanyInformation[] companies = vmiService.GetPendingCompanies(vendor);
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetPendingCompaniesResponse
xmlns="http://www.iqmetrix.com">
<GetPendingCompaniesResult>
<CompanyInformation>
<CompanyID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</CompanyID>
<Name>DropshipTestDemo</Name>
</CompanyInformation>
</GetPendingCompaniesResult>
</GetPendingCompaniesResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
GetPendingCompanies
( Required) -
vendor
( Required) - case-sensitive -
VendorID
( Required) -
Username
( Required) -
Password
( Required) -
Client
(Optional) -
ClientID
(Optional) -
Name
(Optional) -
StoreID
(Optional) - Required if VendorAccountNumber is not provided -
VendorAccountNumber
(Optional) - Required if StoreID is not provided
Getting Serial Numbers for a Product
Returns an array of ProductSerialNumber objects for the given RQ Product Identifier
Definition
POST /?op=GetProductSerialNumbers
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetProductSerialNumbers
xmlns="http://www.iqmetrix.com">
<vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>4</StoreID>
<VendorAccountNumber>ACCT123</VendorAccountNumber>
</Client>
</vendor>
<RQProductID>20</RQProductID>
</GetProductSerialNumbers>
</soap:Body>
</soap:Envelope>
Code Example
VendorIdentity vendor = new VendorIdentity();
vendor.VendorID = new Guid(009E800D-10ED-4F4A-B86F-DFB3C2A18C09);
vendor.Username = "danssupplies";
vendor.Password = "samplepassword";
vendor.Client = new ClientAgent();
vendor.Client.ClientID = companyID;
vendor.Client.StoreID = 4;
ProductSerialNumber[] serials = vmiService.GetProductSerialNumbers(vendor, productItemID);
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetProductSerialNumbersResponse
xmlns="http://www.iqmetrix.com">
<GetProductSerialNumbersResult>
<ProductSerialNumber>
<DateReceived>1/20/2016 4:58:24 PM</DateReceived>
<NonSellable>false</NonSellable>
<ProductItemID>11142</ProductItemID>
<SerialNumber>490154203237518</SerialNumber>
</ProductSerialNumber>
</GetProductSerialNumbersResult>
</GetProductSerialNumbersResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
GetProductSerialNumbers
( Required) -
vendor
( Required) - case-sensitive -
VendorID
( Required) -
Username
( Required) -
Password
( Required) -
Client
( Required) -
ClientID
( Required) -
Name
(Optional) -
StoreID
(Optional) - Required if VendorAccountNumber is not provided -
VendorAccountNumber
(Optional) - Required if StoreID is not provided -
RQProductID
(Required) - Product ID within RQ
Getting Purchase Order By Business ID
Retrieve a purchase order based on the RQ Business ID.
This request is useful in the situation where a user has created a PO in RQ for a vendor.
The vendor can get the PO data and product info to help with creation of shipping notifications.
Notes
- RQ Business ID is the visual ID by store that RQ users can see on printouts
- Will return both committed and uncommitted purchase orders
- To determine if a PO is committed or uncommitted, use Getting Uncommitted Purchase Orders and Getting Committed Purchase Orders
Definition
POST /?op=GetPurchaseOrderByBusinessID
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetPurchaseOrderByBusinessID
xmlns="http://www.iqmetrix.com">
<vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>4</StoreID>
<VendorAccountNumber>ACCT123</VendorAccountNumber>
</Client>
</vendor>
<purchaseOrderIdByStore>22073</purchaseOrderIdByStore>
</GetPurchaseOrderByBusinessID>
</soap:Body>
</soap:Envelope>
Code Example
VendorIdentity vendor = new VendorIdentity();
vendor.VendorID = new Guid(009E800D-10ED-4F4A-B86F-DFB3C2A18C09);
vendor.Username = "danssupplies";
vendor.Password = "samplepassword";
vendor.Client = new ClientAgent();
vendor.Client.ClientID = companyID;
PurchaseOrderInformation[] pos = vmiService. GetPurchaseOrderByBusinessID(vendor, poNum);
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetPurchaseOrderByBusinessIDResponse
xmlns="http://www.iqmetrix.com">
<GetPurchaseOrderByBusinessIDResult>
<PurchaseOrderID>28890F70-8FC9-4A9B-9458-410A8D08502D</PurchaseOrderID>
<PurchaseOrderData>
<PurchaseOrderID>28890F70-8FC9-4A9B-9458-410A8D08502D</PurchaseOrderID>
<BillToStoreID>55</BillToStoreID>
<BillToStoreName>Cornwall west</BillToStoreName>
<BillToVendorAccountNumber>1</BillToVendorAccountNumber>
<IsDeleted>false</IsDeleted>
<CreatedByVMI>false</CreatedByVMI>
<CreatedDate>3/16/2014 12:00:00 AM</CreatedDate>
<Comments>comments</Comments>
<EstimatedArrivalDate>3/2/2014 12:00:00 AM</EstimatedArrivalDate>
<OrderTotal>99.99</OrderTotal>
<RetailiQPurchaseOrderID>22075</RetailiQPurchaseOrderID>
<RetailiQPurchaseOrderNumber>DALEKPO5</RetailiQPurchaseOrderNumber>
<ShippingTotal>99.99</ShippingTotal>
<ShipToStoreID>55</ShipToStoreID>
<ShipToStoreName>Cornwall west</ShipToStoreName>
<ShipToVendorAccountNumber>1</ShipToVendorAccountNumber>
<VendorInvoiceNumber>15782</VendorInvoiceNumber>
<VendorName>SampleVendor</VendorName>
</PurchaseOrderData>
<ProductsOrdered>
<ProductInformation>
<CategoryPath>Activation >> Dropship</CategoryPath>
<DateEOL>1/01/2016 12:00:00 AM</DateEOL>
<DateReceived>01/21/2016 16:58:23</DateReceived>
<DoNotOrder>false</DoNotOrder>
<Enabled>true</Enabled>
<GrossQuantityReturned>11</GrossQuantityReturned>
<GrossQuantitySold>10</GrossQuantitySold>
<MaximumLevel>100</MaximumLevel>
<MinimumLevel>10</MinimumLevel>
<MinMaxLocked>true</MinMaxLocked>
<ProductCost>99.99</ProductCost>
<ProductID>86EE477F-C6B7-48FA-AA0A-105662D9A3ED</ProductID>
<ProductItemID>11142</ProductItemID>
<ProductName>Samsung Galaxy S6</ProductName>
<ProductReceived>false</ProductReceived>
<ProductSKU>CECPSM000017</ProductSKU>
<QuantityCommittedOnOrderEntry>0</QuantityCommittedOnOrderEntry>
<QuantityInStock>8</QuantityInStock>
<QuantityInTransfer>3</QuantityInTransfer>
<QuantityOnBackOrder>0</QuantityOnBackOrder>
<QuantityOnLoan>5</QuantityOnLoan>
<QuantityOnOrder>6</QuantityOnOrder>
<QuantityOnRMA>9</QuantityOnRMA>
<QuantityOnUncommittedOrder>2</QuantityOnUncommittedOrder>
<QuantityOrdered>4</QuantityOrdered>
<QuantityReceived>4</QuantityReceived>
<QuantitySold>30</QuantitySold>
<QuantitySuggestedByVendor>50</QuantitySuggestedByVendor>
<QuantityTransferIn>3</QuantityTransferIn>
<QuantityTransferOut>3</QuantityTransferOut>
<RetailPrice>99.99</RetailPrice>
<SaleBegin>01/01/2014 12:00:00 AM</SaleBegin>
<SaleEnd>01/10/2014 12:00:00 AM</SaleEnd>
<SalePrice>79.99</SalePrice>
<VendorSKU>SSGS5CB</VendorSKU>
</ProductInformation>
</ProductsOrdered>
</GetPurchaseOrderByBusinessIDResult>
</GetPurchaseOrderByBusinessIDResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
GetPurchaseOrderByBusinessID
( Required) -
vendor
( Required) - case-sensitive -
VendorID
( Required) -
Username
( Required) -
Password
( Required) -
Client
( Required) -
ClientID
( Required) -
Name
(Optional) -
StoreID
(Optional) - Required if VendorAccountNumber is not provided -
VendorAccountNumber
(Optional) - Required if StoreID is not provided -
purchaseOrderIdByStore
( Required) - Identifier for a PO shown on printouts in RQ
Getting Purchase Order by Reference Number
Definition
POST /?op=GetPurchaseOrderByReferenceNumber
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetPurchaseOrderByReferenceNumber
xmlns="http://www.iqmetrix.com">
<vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>4</StoreID>
<VendorAccountNumber>ACCT123</VendorAccountNumber>
</Client>
</vendor>
<purchaseOrderReferenceNumber>PO12456</purchaseOrderReferenceNumber>
</GetPurchaseOrderByReferenceNumber>
</soap:Body>
</soap:Envelope>
Code Example
VendorIdentity vendor = new VendorIdentity();
vendor.VendorID = new Guid(009E800D-10ED-4F4A-B86F-DFB3C2A18C09);
vendor.Username = "danssupplies";
vendor.Password = "samplepassword";
vendor.Client = new ClientAgent();
vendor.Client.ClientID = companyID;
vendor.Client.StoreID = 4;
PurchaseOrderShipmentNotice[] sns = vmiService.GetPurchaseOrderByReferenceNumber(vendor, poRef);
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetPurchaseOrderByReferenceNumberResponse
xmlns="http://www.iqmetrix.com">
<GetPurchaseOrderByReferenceNumberResult>
<PurchaseOrderID>28890F70-8FC9-4A9B-9458-410A8D08502D</PurchaseOrderID>
<PurchaseOrderData>
<PurchaseOrderID>28890F70-8FC9-4A9B-9458-410A8D08502D</PurchaseOrderID>
<BillToStoreID>55</BillToStoreID>
<BillToStoreName>Cornwall west</BillToStoreName>
<BillToVendorAccountNumber>1</BillToVendorAccountNumber>
<IsDeleted>false</IsDeleted>
<CreatedByVMI>false</CreatedByVMI>
<CreatedDate>3/16/2014 12:00:00 AM</CreatedDate>
<Comments>comments</Comments>
<EstimatedArrivalDate>3/2/2014 12:00:00 AM</EstimatedArrivalDate>
<OrderTotal>99.99</OrderTotal>
<RetailiQPurchaseOrderID>22075</RetailiQPurchaseOrderID>
<RetailiQPurchaseOrderNumber>DALEKPO5</RetailiQPurchaseOrderNumber>
<ShippingTotal>99.99</ShippingTotal>
<ShipToStoreID>55</ShipToStoreID>
<ShipToStoreName>Cornwall west</ShipToStoreName>
<ShipToVendorAccountNumber>1</ShipToVendorAccountNumber>
<VendorInvoiceNumber>15782</VendorInvoiceNumber>
<VendorName>SampleVendor</VendorName>
</PurchaseOrderData>
<ProductsOrdered>
<ProductInformation>
<CategoryPath>Activation >> Dropship</CategoryPath>
<DateEOL>1/01/2016 12:00:00 AM</DateEOL>
<DateReceived>01/21/2016 16:58:23</DateReceived>
<DoNotOrder>false</DoNotOrder>
<Enabled>true</Enabled>
<GrossQuantityReturned>11</GrossQuantityReturned>
<GrossQuantitySold>10</GrossQuantitySold>
<MaximumLevel>100</MaximumLevel>
<MinimumLevel>10</MinimumLevel>
<MinMaxLocked>true</MinMaxLocked>
<ProductCost>99.99</ProductCost>
<ProductID>86EE477F-C6B7-48FA-AA0A-105662D9A3ED</ProductID>
<ProductItemID>11142</ProductItemID>
<ProductName>Samsung Galaxy S6</ProductName>
<ProductReceived>false</ProductReceived>
<ProductSKU>CECPSM000017</ProductSKU>
<QuantityCommittedOnOrderEntry>0</QuantityCommittedOnOrderEntry>
<QuantityInStock>8</QuantityInStock>
<QuantityInTransfer>3</QuantityInTransfer>
<QuantityOnBackOrder>0</QuantityOnBackOrder>
<QuantityOnLoan>5</QuantityOnLoan>
<QuantityOnOrder>6</QuantityOnOrder>
<QuantityOnRMA>9</QuantityOnRMA>
<QuantityOnUncommittedOrder>2</QuantityOnUncommittedOrder>
<QuantityOrdered>4</QuantityOrdered>
<QuantityReceived>4</QuantityReceived>
<QuantitySold>30</QuantitySold>
<QuantitySuggestedByVendor>50</QuantitySuggestedByVendor>
<QuantityTransferIn>3</QuantityTransferIn>
<QuantityTransferOut>3</QuantityTransferOut>
<RetailPrice>99.99</RetailPrice>
<SaleBegin>01/01/2014 12:00:00 AM</SaleBegin>
<SaleEnd>01/10/2014 12:00:00 AM</SaleEnd>
<SalePrice>79.99</SalePrice>
<VendorSKU>SSGS5CB</VendorSKU>
</ProductInformation>
</ProductsOrdered>
</GetPurchaseOrderByReferenceNumberResult>
</GetPurchaseOrderByReferenceNumberResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
GetPurchaseOrderByReferenceNumber
( Required) -
vendor
( Required) - case-sensitive -
VendorID
( Required) -
Username
( Required) -
Password
( Required) -
Client
( Required) -
ClientID
( Required) -
Name
(Optional) -
StoreID
(Optional) - Required if VendorAccountNumber is not provided -
VendorAccountNumber
(Optional) - Required if StoreID is not provided -
purchaseOrderReferenceNumber
( Required) - Reference number for a PO in RQ @TODO VALIDATE
Getting Purchase Orders By Status
Retrieves all purchase orders in the RQ database that match the provided status criteria, including those that were not created through the VMI API.
Purchase Orders created within RQ will be available in this list.
Definition
POST /?op=GetClientPurchaseOrdersByStatus
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetClientPurchaseOrdersByStatus
xmlns="http://www.iqmetrix.com">
<vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>4</StoreID>
<VendorAccountNumber>ACCT123</VendorAccountNumber>
</Client>
</vendor>
<startDate>01/01/2016</startDate>
<endDate>10/31/2016</endDate>
<isCompleted>false</isCompleted>
<isCommitted>false</isCommitted>
</GetClientPurchaseOrdersByStatus>
</soap:Body>
</soap:Envelope>
Code Example
VendorIdentity vendor = new VendorIdentity();
vendor.VendorID = new Guid(009E800D-10ED-4F4A-B86F-DFB3C2A18C09);
vendor.Username = "danssupplies";
vendor.Password = "samplepassword";
vendor.Client = new ClientAgent();
vendor.Client.ClientID = companyID;
vendor.Client.StoreID = 4;
PurchaseOrderInformation[] pos = vmiService.GetClientPurchaseOrdersByStatus(vendor, isCompleted, isCommitted, startDate, endDate);
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetClientPurchaseOrdersByStatusResponse
xmlns="http://www.iqmetrix.com">
<GetClientPurchaseOrdersByStatusResult>
<PurchaseOrderInformation>
<PurchaseOrderID>28890F70-8FC9-4A9B-9458-410A8D08502D</PurchaseOrderID>
<PurchaseOrderData>
<PurchaseOrderID>28890F70-8FC9-4A9B-9458-410A8D08502D</PurchaseOrderID>
<BillToStoreID>55</BillToStoreID>
<BillToStoreName>Cornwall west</BillToStoreName>
<BillToVendorAccountNumber>1</BillToVendorAccountNumber>
<IsDeleted>false</IsDeleted>
<CreatedByVMI>false</CreatedByVMI>
<CreatedDate>3/16/2014 12:00:00 AM</CreatedDate>
<Comments>comments</Comments>
<EstimatedArrivalDate>3/2/2014 12:00:00 AM</EstimatedArrivalDate>
<OrderTotal>99.99</OrderTotal>
<RetailiQPurchaseOrderID>22075</RetailiQPurchaseOrderID>
<RetailiQPurchaseOrderNumber>DALEKPO5</RetailiQPurchaseOrderNumber>
<ShippingTotal>99.99</ShippingTotal>
<ShipToStoreID>55</ShipToStoreID>
<ShipToStoreName>Cornwall west</ShipToStoreName>
<ShipToVendorAccountNumber>1</ShipToVendorAccountNumber>
<VendorInvoiceNumber>15782</VendorInvoiceNumber>
<VendorName>SampleVendor</VendorName>
</PurchaseOrderData>
<ProductsOrdered>
<ProductInformation>
<CategoryPath>Activation >> Dropship</CategoryPath>
<DateEOL>1/01/2016 12:00:00 AM</DateEOL>
<DateReceived>01/21/2016 16:58:23</DateReceived>
<DoNotOrder>false</DoNotOrder>
<Enabled>true</Enabled>
<GrossQuantityReturned>11</GrossQuantityReturned>
<GrossQuantitySold>10</GrossQuantitySold>
<MaximumLevel>100</MaximumLevel>
<MinimumLevel>10</MinimumLevel>
<MinMaxLocked>true</MinMaxLocked>
<ProductCost>99.99</ProductCost>
<ProductID>86EE477F-C6B7-48FA-AA0A-105662D9A3ED</ProductID>
<ProductItemID>11142</ProductItemID>
<ProductName>Samsung Galaxy S6</ProductName>
<ProductReceived>false</ProductReceived>
<ProductSKU>CECPSM000017</ProductSKU>
<QuantityCommittedOnOrderEntry>0</QuantityCommittedOnOrderEntry>
<QuantityInStock>8</QuantityInStock>
<QuantityInTransfer>3</QuantityInTransfer>
<QuantityOnBackOrder>0</QuantityOnBackOrder>
<QuantityOnLoan>5</QuantityOnLoan>
<QuantityOnOrder>6</QuantityOnOrder>
<QuantityOnRMA>9</QuantityOnRMA>
<QuantityOnUncommittedOrder>2</QuantityOnUncommittedOrder>
<QuantityOrdered>4</QuantityOrdered>
<QuantityReceived>4</QuantityReceived>
<QuantitySold>30</QuantitySold>
<QuantitySuggestedByVendor>50</QuantitySuggestedByVendor>
<QuantityTransferIn>3</QuantityTransferIn>
<QuantityTransferOut>3</QuantityTransferOut>
<RetailPrice>99.99</RetailPrice>
<SaleBegin>01/01/2014 12:00:00 AM</SaleBegin>
<SaleEnd>01/10/2014 12:00:00 AM</SaleEnd>
<SalePrice>79.99</SalePrice>
<VendorSKU>SSGS5CB</VendorSKU>
</ProductInformation>
</ProductsOrdered>
</PurchaseOrderInformation>
</GetClientPurchaseOrdersByStatusResult>
</GetClientPurchaseOrdersByStatusResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
GetClientPurchaseOrdersByStatus
( Required) -
vendor
( Required) - case-sensitive -
VendorID
( Required) -
Username
( Required) -
Password
( Required) -
Client
( Required) -
ClientID
( Required) -
Name
(Optional) -
StoreID
(Optional) - Required if VendorAccountNumber is not provided -
VendorAccountNumber
(Optional) - Required if StoreID is not provided -
startDate
( Required) - Search for POs committed and/or completed on or after this date at midnight -
endDate
( Required) - Search for POs committed and/or completed up to the end of this day -
isCompleted
(Optional) - Defaults to false @TODO VERIFY -
isCommitted
(Optional) - Defaults to false @TODO VERIFY
Getting Purchase Orders For a Store
Run a report on the purchase orders for a particular store to see what products have been received and have not been received.
This will allow you to take appropriate action for product that has not arrived at a store.
Note
- Will return both committed and uncommitted purchase orders
- To determine if a PO is committed or uncommitted, use Getting Uncommitted Purchase Orders and Getting Committed Purchase Orders
Definition
POST /?op=GetPurchaseOrderList
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetPurchaseOrderList
xmlns="http://www.iqmetrix.com">
<Vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>4</StoreID>
<VendorAccountNumber>ACCT123</VendorAccountNumber>
</Client>
</Vendor>
</GetPurchaseOrderList>
</soap:Body>
</soap:Envelope>
Code Example
VendorIdentity vendor = new VendorIdentity();
vendor.VendorID = new Guid(009E800D-10ED-4F4A-B86F-DFB3C2A18C09);
vendor.Username = "danssupplies";
vendor.Password = "samplepassword";
vendor.Client = new ClientAgent();
vendor.Client.ClientID = companyID;
vendor.Client.StoreID = 4;
PurchaseOrderInformation[] pos = vmiService.GetPurchaseOrderList(vendor);
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetPurchaseOrderListResponse
xmlns="http://www.iqmetrix.com">
<GetPurchaseOrderListResult>
<PurchaseOrderInformation>
<PurchaseOrderID>28890F70-8FC9-4A9B-9458-410A8D08502D</PurchaseOrderID>
<PurchaseOrderData>
<PurchaseOrderID>28890F70-8FC9-4A9B-9458-410A8D08502D</PurchaseOrderID>
<BillToStoreID>55</BillToStoreID>
<BillToStoreName>Cornwall west</BillToStoreName>
<BillToVendorAccountNumber>1</BillToVendorAccountNumber>
<IsDeleted>false</IsDeleted>
<CreatedByVMI>false</CreatedByVMI>
<CreatedDate>3/16/2014 12:00:00 AM</CreatedDate>
<Comments>comments</Comments>
<EstimatedArrivalDate>3/2/2014 12:00:00 AM</EstimatedArrivalDate>
<OrderTotal>99.99</OrderTotal>
<RetailiQPurchaseOrderID>22075</RetailiQPurchaseOrderID>
<RetailiQPurchaseOrderNumber>DALEKPO5</RetailiQPurchaseOrderNumber>
<ShippingTotal>99.99</ShippingTotal>
<ShipToStoreID>55</ShipToStoreID>
<ShipToStoreName>Cornwall west</ShipToStoreName>
<ShipToVendorAccountNumber>1</ShipToVendorAccountNumber>
<VendorInvoiceNumber>15782</VendorInvoiceNumber>
<VendorName>SampleVendor</VendorName>
</PurchaseOrderData>
<ProductsOrdered>
<ProductInformation>
<CategoryPath>Activation >> Dropship</CategoryPath>
<DateEOL>1/01/2016 12:00:00 AM</DateEOL>
<DateReceived>01/21/2016 16:58:23</DateReceived>
<DoNotOrder>false</DoNotOrder>
<Enabled>true</Enabled>
<GrossQuantityReturned>11</GrossQuantityReturned>
<GrossQuantitySold>10</GrossQuantitySold>
<MaximumLevel>100</MaximumLevel>
<MinimumLevel>10</MinimumLevel>
<MinMaxLocked>true</MinMaxLocked>
<ProductCost>99.99</ProductCost>
<ProductID>86EE477F-C6B7-48FA-AA0A-105662D9A3ED</ProductID>
<ProductItemID>11142</ProductItemID>
<ProductName>Samsung Galaxy S6</ProductName>
<ProductReceived>false</ProductReceived>
<ProductSKU>CECPSM000017</ProductSKU>
<QuantityCommittedOnOrderEntry>0</QuantityCommittedOnOrderEntry>
<QuantityInStock>8</QuantityInStock>
<QuantityInTransfer>3</QuantityInTransfer>
<QuantityOnBackOrder>0</QuantityOnBackOrder>
<QuantityOnLoan>5</QuantityOnLoan>
<QuantityOnOrder>6</QuantityOnOrder>
<QuantityOnRMA>9</QuantityOnRMA>
<QuantityOnUncommittedOrder>2</QuantityOnUncommittedOrder>
<QuantityOrdered>4</QuantityOrdered>
<QuantityReceived>4</QuantityReceived>
<QuantitySold>30</QuantitySold>
<QuantitySuggestedByVendor>50</QuantitySuggestedByVendor>
<QuantityTransferIn>3</QuantityTransferIn>
<QuantityTransferOut>3</QuantityTransferOut>
<RetailPrice>99.99</RetailPrice>
<SaleBegin>01/01/2014 12:00:00 AM</SaleBegin>
<SaleEnd>01/10/2014 12:00:00 AM</SaleEnd>
<SalePrice>79.99</SalePrice>
<VendorSKU>SSGS5CB</VendorSKU>
</ProductInformation>
</ProductsOrdered>
</PurchaseOrderInformation>
</GetPurchaseOrderListResult>
</GetPurchaseOrderListResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
GetPurchaseOrderList
( Required) -
Vendor
( Required) - case-sensitive -
VendorID
( Required) -
Username
( Required) -
Password
( Required) -
Client
( Required) -
ClientID
( Required) -
Name
(Optional) -
StoreID
(Optional) - Required if VendorAccountNumber is not provided -
VendorAccountNumber
(Optional) - Required if StoreID is not provided
Getting Purchase Order Shipment Notices
This method allows the vendor to query for all shipment notices created for a purchase order.
Definition
POST /?op=GetPurchaseOrderShipmentNotices
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetPurchaseOrderShipmentNotices
xmlns="http://www.iqmetrix.com">
<vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>4</StoreID>
<VendorAccountNumber>ACCT123</VendorAccountNumber>
</Client>
</vendor>
<purchaseOrderID>28890F70-8FC9-4A9B-9458-410A8D08502D</purchaseOrderID>
</GetPurchaseOrderShipmentNotices>
</soap:Body>
</soap:Envelope>
Code Example
VendorIdentity vendor = new VendorIdentity();
vendor.VendorID = new Guid(009E800D-10ED-4F4A-B86F-DFB3C2A18C09);
vendor.Username = "danssupplies";
vendor.Password = "samplepassword";
vendor.Client = new ClientAgent();
vendor.Client.ClientID = companyID;
vendor.Client.StoreID = 4;
PurchaseOrderShipmentNotice[] sns = vmiService.GetPurchaseOrderShipmentNotices(vendor, poID);
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetPurchaseOrderShipmentNoticesResponse
xmlns="http://www.iqmetrix.com">
<GetPurchaseOrderShipmentNoticesResult>
<PurchaseOrderShipmentNotice>
<PurchaseOrderID>84DACFD3-4095-4D50-A02E-781B86B7408E</PurchaseOrderID>
<ProductItemID>11142</ProductItemID>
<Quantity>1</Quantity>
<RQPurchaseOrderID>22073</RQPurchaseOrderID>
<SerialNumbers>
<string>490154203237518</string>
</SerialNumbers>
<ShipmentNumber>SHIP001</ShipmentNumber>
<VendorInvoiceNumber>1002</VendorInvoiceNumber>
<VendorSKU>SSGS5CB</VendorSKU>
</PurchaseOrderShipmentNotice>
</GetPurchaseOrderShipmentNoticesResult>
</GetPurchaseOrderShipmentNoticesResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
GetPurchaseOrderShipmentNotices
( Required) -
vendor
( Required) - case-sensitive -
VendorID
( Required) -
Username
( Required) -
Password
( Required) -
Client
( Required) -
ClientID
( Required) -
Name
(Optional) -
StoreID
(Optional) - Required if VendorAccountNumber is not provided -
VendorAccountNumber
(Optional) - Required if StoreID is not provided -
purchaseOrderID
(Optional) - Identifier for a PurchaseOrder
Getting Store Information
Get store details. Same as Getting a Store List except this method only returns a single store.
Definition
POST /?op=GetStoreInformation
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetStoreInformation
xmlns="http://www.iqmetrix.com">
<Vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>4</StoreID>
<VendorAccountNumber>ACCT123</VendorAccountNumber>
</Client>
</Vendor>
</GetStoreInformation>
</soap:Body>
</soap:Envelope>
Code Example
VendorIdentity vendor = new VendorIdentity();
vendor.VendorID = new Guid(009E800D-10ED-4F4A-B86F-DFB3C2A18C09);
vendor.Username = "danssupplies";
vendor.Password = "samplepassword";
vendor.Client = new ClientAgent();
vendor.Client.ClientID = companyID;
vendor.Client.StoreID = 1;
StoreInformation[] stores = vmiService.GetStoreInformation(vendor);
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetStoreInformationResponse
xmlns="http://www.iqmetrix.com">
<GetStoreInformationResult>
<StoreInformation>
<StoreID>36</StoreID>
<Name>Cornwall West</Name>
<Abbreviation>CWW</Abbreviation>
<Address>2102 11th Ave</Address>
<City>Regina</City>
<Country>Canada</Country>
<District>Regina</District>
<PhoneNumber>5555555555</PhoneNumber>
<PostalZipCode>S2S 2S2</PostalZipCode>
<ProvinceState>Saskatchewan</ProvinceState>
<Region>Regina</Region>
<ShipToStoreID>55</ShipToStoreID>
<BillToStoreID>55</BillToStoreID>
<VendorAccountNumber>123</VendorAccountNumber>
</StoreInformation>
</GetStoreInformationResult>
</GetStoreInformationResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
GetStoreInformation
( Required) -
Vendor
( Required) - Case-sensitive -
VendorID
( Required) -
Username
( Required) -
Password
( Required) -
Client
( Required) -
ClientID
( Required) -
Name
(Optional) -
StoreID
(Optional) - Required if VendorAccountNumber is not provided -
VendorAccountNumber
(Optional) - Required if StoreID is not provided
Getting a Store List
Retrieves a list of VMI enabled stores.
Definition
POST /?op=GetStoreList
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetStoreList
xmlns="http://www.iqmetrix.com">
<Vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>-1</StoreID>
</Client>
</Vendor>
</GetStoreList>
</soap:Body>
</soap:Envelope>
Code Example
VendorIdentity vendor = new VendorIdentity();
vendor.VendorID = new Guid(009E800D-10ED-4F4A-B86F-DFB3C2A18C09);
vendor.Username = "danssupplies";
vendor.Password = "samplepassword";
vendor.Client = new ClientAgent();
vendor.Client.ClientID = companyID;
StoreInformation[] stores = vmiService.GetStoreList(vendor);
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetStoreListResponse
xmlns="http://www.iqmetrix.com">
<GetStoreListResult>
<StoreInformation>
<StoreID>36</StoreID>
<Name>Cornwall West</Name>
<Abbreviation>CWW</Abbreviation>
<Address>2102 11th Ave</Address>
<City>Regina</City>
<Country>Canada</Country>
<District>Regina</District>
<PhoneNumber>5555555555</PhoneNumber>
<PostalZipCode>S2S 2S2</PostalZipCode>
<ProvinceState>Saskatchewan</ProvinceState>
<Region>Regina</Region>
<ShipToStoreID>55</ShipToStoreID>
<BillToStoreID>55</BillToStoreID>
<VendorAccountNumber>123</VendorAccountNumber>
</StoreInformation>
</GetStoreListResult>
</GetStoreListResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
GetStoreList
(Required) -
Vendor
(Required) - Case-sensitive -
VendorID
(Required) -
Username
(Required) -
Password
(Required) -
Client
(Required) -
ClientID
(Required) -
Name
(Optional) -
StoreID
(Optional)- Required if
VendorAccountNumber
is not provided - Use value of
-1
to pull complete store listing
- Required if
-
VendorAccountNumber
(Optional) - Required ifStoreID
is not provided
Getting Uncommitted Purchase Orders
This request allows you to run a report on the uncommitted purchase orders for a particular store.
Notes
- An uncommitted purchase order allows a customer to review the PO before agreeing to its contents
- The user may also modify the order by changing quantities or adding/removing products
Definition
POST /?op=GetUncommittedPurchaseOrderList
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetUncommittedPurchaseOrderList
xmlns="http://www.iqmetrix.com">
<vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>4</StoreID>
<VendorAccountNumber>ACCT123</VendorAccountNumber>
</Client>
</vendor>
</GetUncommittedPurchaseOrderList>
</soap:Body>
</soap:Envelope>
Code Example
VendorIdentity vendor = new VendorIdentity();
vendor.VendorID = new Guid(009E800D-10ED-4F4A-B86F-DFB3C2A18C09);
vendor.Username = "danssupplies";
vendor.Password = "samplepassword";
vendor.Client = new ClientAgent();
vendor.Client.ClientID = companyID;
vendor.Client.StoreID = 4;
PurchaseOrderInformation[] pos = vmiService.GetUnommittedPurchaseOrderList(vendor);
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetUncommittedPurchaseOrderListResponse
xmlns="http://www.iqmetrix.com">
<GetUncommittedPurchaseOrderListResult>
<PurchaseOrderInformation>
<PurchaseOrderID>28890F70-8FC9-4A9B-9458-410A8D08502D</PurchaseOrderID>
<PurchaseOrderData>
<PurchaseOrderID>28890F70-8FC9-4A9B-9458-410A8D08502D</PurchaseOrderID>
<BillToStoreID>55</BillToStoreID>
<BillToStoreName>Cornwall west</BillToStoreName>
<BillToVendorAccountNumber>1</BillToVendorAccountNumber>
<IsDeleted>false</IsDeleted>
<CreatedByVMI>false</CreatedByVMI>
<CreatedDate>3/16/2014 12:00:00 AM</CreatedDate>
<Comments>comments</Comments>
<EstimatedArrivalDate>3/2/2014 12:00:00 AM</EstimatedArrivalDate>
<OrderTotal>99.99</OrderTotal>
<RetailiQPurchaseOrderID>22075</RetailiQPurchaseOrderID>
<RetailiQPurchaseOrderNumber>DALEKPO5</RetailiQPurchaseOrderNumber>
<ShippingTotal>99.99</ShippingTotal>
<ShipToStoreID>55</ShipToStoreID>
<ShipToStoreName>Cornwall west</ShipToStoreName>
<ShipToVendorAccountNumber>1</ShipToVendorAccountNumber>
<VendorInvoiceNumber>15782</VendorInvoiceNumber>
<VendorName>SampleVendor</VendorName>
</PurchaseOrderData>
<ProductsOrdered>
<ProductInformation>
<CategoryPath>Activation >> Dropship</CategoryPath>
<DateEOL>1/01/2016 12:00:00 AM</DateEOL>
<DateReceived>01/21/2016 16:58:23</DateReceived>
<DoNotOrder>false</DoNotOrder>
<Enabled>true</Enabled>
<GrossQuantityReturned>11</GrossQuantityReturned>
<GrossQuantitySold>10</GrossQuantitySold>
<MaximumLevel>100</MaximumLevel>
<MinimumLevel>10</MinimumLevel>
<MinMaxLocked>true</MinMaxLocked>
<ProductCost>99.99</ProductCost>
<ProductID>86EE477F-C6B7-48FA-AA0A-105662D9A3ED</ProductID>
<ProductItemID>11142</ProductItemID>
<ProductName>Samsung Galaxy S6</ProductName>
<ProductReceived>false</ProductReceived>
<ProductSKU>CECPSM000017</ProductSKU>
<QuantityCommittedOnOrderEntry>0</QuantityCommittedOnOrderEntry>
<QuantityInStock>8</QuantityInStock>
<QuantityInTransfer>3</QuantityInTransfer>
<QuantityOnBackOrder>0</QuantityOnBackOrder>
<QuantityOnLoan>5</QuantityOnLoan>
<QuantityOnOrder>6</QuantityOnOrder>
<QuantityOnRMA>9</QuantityOnRMA>
<QuantityOnUncommittedOrder>2</QuantityOnUncommittedOrder>
<QuantityOrdered>4</QuantityOrdered>
<QuantityReceived>4</QuantityReceived>
<QuantitySold>30</QuantitySold>
<QuantitySuggestedByVendor>50</QuantitySuggestedByVendor>
<QuantityTransferIn>3</QuantityTransferIn>
<QuantityTransferOut>3</QuantityTransferOut>
<RetailPrice>99.99</RetailPrice>
<SaleBegin>01/01/2014 12:00:00 AM</SaleBegin>
<SaleEnd>01/10/2014 12:00:00 AM</SaleEnd>
<SalePrice>79.99</SalePrice>
<VendorSKU>SSGS5CB</VendorSKU>
</ProductInformation>
</ProductsOrdered>
</PurchaseOrderInformation>
</GetUncommittedPurchaseOrderListResult>
</GetUncommittedPurchaseOrderListResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
GetUncommittedPurchaseOrderList
( Required) -
vendor
( Required) - case-sensitive -
VendorID
( Required) -
Username
( Required) -
Password
( Required) -
Client
( Required) -
ClientID
( Required) -
Name
(Optional) -
StoreID
(Optional) - Required if VendorAccountNumber is not provided -
VendorAccountNumber
(Optional) - Required if StoreID is not provided
Getting the Updated Inventory List
This method returns a list of products that were added since the last time you called Getting the Inventory List or Getting The Updated Inventory List.
Definition
POST /?op=GetUpdatedInventoryList
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetUpdatedInventoryList
xmlns="http://www.iqmetrix.com">
<vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>4</StoreID>
<VendorAccountNumber>ACCT123</VendorAccountNumber>
</Client>
</vendor>
</GetUpdatedInventoryList>
</soap:Body>
</soap:Envelope>
Code Example
VendorIdentity vendor = new VendorIdentity();
vendor.VendorID = new Guid(009E800D-10ED-4F4A-B86F-DFB3C2A18C09);
vendor.Username = "danssupplies";
vendor.Password = "samplepassword";
vendor.Client = new ClientAgent();
vendor.Client.ClientID = companyID;
ProductInformation[] products = vmiService.GetUpdatedInventoryList(vendor);
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetUpdatedInventoryListResponse
xmlns="http://www.iqmetrix.com">
<GetUpdatedInventoryListResult>
<ProductInformation>
<CategoryPath>Activation >> Dropship</CategoryPath>
<DateEOL>1/01/2016 12:00:00 AM</DateEOL>
<DateReceived>01/21/2016 16:58:23</DateReceived>
<DoNotOrder>false</DoNotOrder>
<Enabled>true</Enabled>
<GrossQuantityReturned>11</GrossQuantityReturned>
<GrossQuantitySold>10</GrossQuantitySold>
<MaximumLevel>100</MaximumLevel>
<MinimumLevel>10</MinimumLevel>
<MinMaxLocked>true</MinMaxLocked>
<ProductCost>99.99</ProductCost>
<ProductID>86EE477F-C6B7-48FA-AA0A-105662D9A3ED</ProductID>
<ProductItemID>11142</ProductItemID>
<ProductName>Samsung Galaxy S6</ProductName>
<ProductReceived>false</ProductReceived>
<ProductSKU>CECPSM000017</ProductSKU>
<QuantityCommittedOnOrderEntry>0</QuantityCommittedOnOrderEntry>
<QuantityInStock>8</QuantityInStock>
<QuantityInTransfer>3</QuantityInTransfer>
<QuantityOnBackOrder>0</QuantityOnBackOrder>
<QuantityOnLoan>5</QuantityOnLoan>
<QuantityOnOrder>6</QuantityOnOrder>
<QuantityOnRMA>9</QuantityOnRMA>
<QuantityOnUncommittedOrder>2</QuantityOnUncommittedOrder>
<QuantityOrdered>4</QuantityOrdered>
<QuantityReceived>4</QuantityReceived>
<QuantitySold>30</QuantitySold>
<QuantitySuggestedByVendor>50</QuantitySuggestedByVendor>
<QuantityTransferIn>3</QuantityTransferIn>
<QuantityTransferOut>3</QuantityTransferOut>
<RetailPrice>99.99</RetailPrice>
<SaleBegin>01/01/2014 12:00:00 AM</SaleBegin>
<SaleEnd>01/10/2014 12:00:00 AM</SaleEnd>
<SalePrice>79.99</SalePrice>
<VendorSKU>SSGS5CB</VendorSKU>
</ProductInformation>
</GetUpdatedInventoryListResult>
</GetUpdatedInventoryListResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
GetUpdatedInventoryList
( Required) -
vendor
( Required) - case-sensitive -
VendorID
( Required) -
Username
( Required) -
Password
( Required) -
Client
( Required) -
ClientID
( Required) -
Name
(Optional) -
StoreID
(Optional) - Required if VendorAccountNumber is not provided -
VendorAccountNumber
(Optional) - Required if StoreID is not provided
Updating Min and Max Product Quantities
This method allows the vendor to modify the minimum and maximum quantity thresholds for a given product in a particular store
Returns a boolean value of true for success, false for failure.
Definition
POST /?op=UpdateMinAndMaxProductQuantities
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<UpdateMinAndMaxProductQuantities
xmlns="http://www.iqmetrix.com">
<vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>4</StoreID>
<VendorAccountNumber>ACCT123</VendorAccountNumber>
</Client>
</vendor>
<productItemID>20</productItemID>
<minQuantity>1</minQuantity>
<maxQuantity>20</maxQuantity>
</UpdateMinAndMaxProductQuantities>
</soap:Body>
</soap:Envelope>
Code Example
VendorIdentity vendor = new VendorIdentity();
vendor.VendorID = new Guid(009E800D-10ED-4F4A-B86F-DFB3C2A18C09);
vendor.Username = "danssupplies";
vendor.Password = "samplepassword";
vendor.Client = new ClientAgent();
vendor.Client.ClientID = companyID;
vendor.Client.StoreID = 4;
vmiService.UpdateMinAndMaxProductQuantities(vendor, productItemID, minQty, maxQty);
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<UpdateMinAndMaxProductQuantitiesResponse xmlns="http://www.iqmetrix.com">
<UpdateMinAndMaxProductQuantitiesResult>true</UpdateMinAndMaxProductQuantitiesResult>
</UpdateMinAndMaxProductQuantitiesResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
UpdateMinAndMaxProductQuantities
( Required) -
vendor
( Required) - case-sensitive -
VendorID
( Required) -
Username
( Required) -
Password
( Required) -
Client
( Required) -
ClientID
( Required) -
Name
(Optional) -
StoreID
(Optional) - Required if VendorAccountNumber is not provided -
VendorAccountNumber
(Optional) - Required if StoreID is not provided -
productItemID
(Optional) -
minQuantity
(Optional) -
maxQuantity
(Optional)
Updating a Purchase Order
This method allows the vendor to update a purchase order for a particular store.
Notes
- The only updatable fields for the purchase order are VendorInvoiceNumber, Comments, and EstimatedArrivalDate
- Products are updateable. If you do not wish to change products then leave the products collection empty when submitting the update
- If you update any product(s) you must send the entire list of products
- If any products are supplied to this call, the PO is cleared and only the supplied products are added
- You cannot change state of a PO to Committed through this call
- If the PO is completed or has products received against it, it cannot be updated
- Every item must be unique. To place multiples of the same item on an order, adjust the quantity accordingly
Definition
POST /?op=UpdatePurchaseOrder
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<UpdatePurchaseOrder
xmlns="http://www.iqmetrix.com">
<vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>4</StoreID>
<VendorAccountNumber>ACCT123</VendorAccountNumber>
</Client>
</vendor>
<purchaseOrder>
<PurchaseOrderID>28890F70-8FC9-4A9B-9458-410A8D08502D</PurchaseOrderID>
<PurchaseOrderData>
<Comments>comments</Comments>
<EstimatedArrivalDate>3/2/2014 12:00:00 AM</EstimatedArrivalDate>
<VendorInvoiceNumber>15782</VendorInvoiceNumber>
</PurchaseOrderData>
<ProductsOrdered>
<ProductInformation>
<DateReceived>01/21/2016 16:58:23</DateReceived>
<Enabled>true</Enabled>
<MaximumLevel>100</MaximumLevel>
<MinimumLevel>10</MinimumLevel>
<ProductCost>99.99</ProductCost>
<ProductID>86EE477F-C6B7-48FA-AA0A-105662D9A3ED</ProductID>
<ProductItemID>11142</ProductItemID>
<ProductName>Samsung Galaxy S6</ProductName>
<ProductReceived>false</ProductReceived>
<ProductSKU>CECPSM000017</ProductSKU>
<QuantityCommittedOnOrderEntry>0</QuantityCommittedOnOrderEntry>
<QuantityInStock>8</QuantityInStock>
<QuantityInTransfer>3</QuantityInTransfer>
<QuantityOnBackOrder>0</QuantityOnBackOrder>
<QuantityOnLoan>5</QuantityOnLoan>
<QuantityOnOrder>6</QuantityOnOrder>
<QuantityOnRMA>9</QuantityOnRMA>
<QuantityOrdered>4</QuantityOrdered>
<QuantityReceived>4</QuantityReceived>
<QuantitySold>30</QuantitySold>
<QuantityTransferIn>3</QuantityTransferIn>
<QuantityTransferOut>3</QuantityTransferOut>
<VendorSKU>SSGS5CB</VendorSKU>
</ProductInformation>
</ProductsOrdered>
</purchaseOrder>
</UpdatePurchaseOrder>
</soap:Body>
</soap:Envelope>
Code Example
VendorIdentity vendor = new VendorIdentity();
vendor.VendorID = new Guid(009E800D-10ED-4F4A-B86F-DFB3C2A18C09);
vendor.Username = "danssupplies";
vendor.Password = "samplepassword";
vendor.Client = new ClientAgent();
vendor.Client.ClientID = companyID;
vendor.Client.StoreID = 4;
DateTime ead1 = DateTime.Today.AddDays(14);
string eta = String.Format("{0:D2}/{1:D2}/{2:D4}", ead1.Month, ead1.Day, ead1.Year);
PurchaseOrder po = new PurchaseOrder();
po.PurchaseOrderID = purchaseOrderID;
po.PurchaseOrderData = new PurchaseOrderData();
po.PurchaseOrderData.BillToStoreID = stores[0].StoreID;
po.PurchaseOrderData.Comments = "Vendor Invoice Number #: BDP123";
po.PurchaseOrderData.ShipToStoreID = stores[0].StoreID;
po.PurchaseOrderData.VendorInvoiceNumber = "BDP123";
po.PurchaseOrderData.EstimatedArrivalDate = eta;
po.ProductsOrdered = new ProductInformation[1];
po.ProductsOrdered[0] = new ProductInformation();
po.ProductsOrdered[0].ProductItemID = productID;
po.ProductsOrdered[0].ProductName = "Samsung Galaxy S5 - Charcoal Black";
po.ProductsOrdered[0].ProductSKU = "SSSATM000002";
po.ProductsOrdered[0].VendorSKU = "SSGS5CB";
po.ProductsOrdered[0].QuantityOrdered = 1;
po.ProductsOrdered[0].ProductCost = 130.00;
PurchaseOrder poCreated = vmiService.UpdatePurchaseOrder(vendor, po);
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<UpdatePurchaseOrderResponse xmlns="http://www.iqmetrix.com">
<UpdatePurchaseOrderResult>true</UpdatePurchaseOrderResult>
</UpdatePurchaseOrderResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
UpdatePurchaseOrder
( Required) -
vendor
( Required) - case-sensitive -
VendorID
( Required) -
Username
( Required) -
Password
( Required) -
Client
( Required) -
ClientID
( Required) -
Name
(Optional) -
StoreID
(Optional) - Required if VendorAccountNumber is not provided -
VendorAccountNumber
(Optional) - Required if StoreID is not provided -
purchaseOrder
(Optional) - The PurchaseOrder -
PurchaseOrderID
( Required) - Identifier for the PurchaseOrder -
PurchaseOrderData
( Required) -
Comments
(Optional) -
EstimatedArrivalDate
(Optional) - Format mm/dd/yyyy -
VendorInvoiceNumber
(Optional) - Vendor supplied invoice number, this must be unique -
ProductsOrdered
(Optional) - Products ordered -
ProductInformation
( Required) -
QuantityOrdered
( Required) -
VendorSKU
( Required) -
DateReceived
(Optional) -
Enabled
(Optional) -
MaximumLevel
(Optional) - defaults to -1 -
MinimumLevel
(Optional) - defaults to -1 -
ProductCost
(Optional) - defaults to -1 -
ProductID
(Optional) -
ProductItemID
(Optional) -
ProductName
(Optional) -
ProductReceived
(Optional) -
ProductSKU
(Optional) -
QuantityCommittedOnOrderEntry
(Optional) - defaults to -1 -
QuantityInStock
(Optional) - defaults to -1 -
QuantityInTransfer
(Optional) - defaults to -1 -
QuantityOnBackOrder
(Optional) - defaults to -1 -
QuantityOnLoan
(Optional) - defaults to -1 -
QuantityOnOrder
(Optional) - defaults to -1 -
QuantityOnRMA
(Optional) - defaults to -1 -
QuantityReceived
(Optional) - defaults to -1 -
QuantitySold
(Optional) - defaults to -1 -
QuantityTransferIn
(Optional) - defaults to -1 -
QuantityTransferOut
(Optional) - defaults to -1
Canceling an Uncommitted Purchase Order
Cancel a Purchase Order that is in an uncommitted state.
Definition
POST /?op=CancelUncommittedPurchaseOrder
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<CancelUncommittedPurchaseOrder
xmlns="http://www.iqmetrix.com">
<vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>4</StoreID>
<VendorAccountNumber>ACCT123</VendorAccountNumber>
</Client>
</vendor>
<purchaseOrderID>28890F70-8FC9-4A9B-9458-410A8D08502D</purchaseOrderID>
</CancelUncommittedPurchaseOrder>
</soap:Body>
</soap:Envelope>
Code Example
VendorIdentity vendor = new VendorIdentity();
vendor.VendorID = new Guid(009E800D-10ED-4F4A-B86F-DFB3C2A18C09);
vendor.Username = "danssupplies";
vendor.Password = "samplepassword";
vendor.Client = new ClientAgent();
vendor.Client.ClientID = companyID;
vmiService.CancelUncommittedPurchaseOrder(vendor, poId);
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="https://www.w3.org/2001/XMLSchema" xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<CancelUncommittedPurchaseOrderResponse xmlns="http://www.iqmetrix.com">
<CancelUncommittedPurchaseOrderResult>true</CancelUncommittedPurchaseOrderResult>
</CancelUncommittedPurchaseOrderResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
CancelUncommittedPurchaseOrder
( Required) -
vendor
( Required) - case-sensitive -
VendorID
( Required) -
Username
( Required) -
Password
( Required) -
Client
( Required) -
ClientID
( Required) -
Name
(Optional) -
StoreID
(Optional) - Required if VendorAccountNumber is not provided -
VendorAccountNumber
(Optional) - Required if StoreID is not provided -
purchaseOrderID
( Required) - Identifier for a PurchaseOrder
Creating an Uncommitted Purchase Order
Create a purchase order that is not committed.
The purchase order can then be reviewed in RQ by the client, modified as required and committed by the client before any product is sent.
Definition
POST /?op=CreateUncommittedPurchaseOrder
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<CreateUncommittedPurchaseOrder
xmlns="http://www.iqmetrix.com">
<vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>4</StoreID>
<VendorAccountNumber>ACCT123</VendorAccountNumber>
</Client>
</vendor>
<purchaseOrder>
<PurchaseOrderData>
<BillToStoreID>55</BillToStoreID>
<CreatedByVMI>false</CreatedByVMI>
<CreatedDate>3/16/2014 12:00:00 AM</CreatedDate>
<Comments>comments</Comments>
<EstimatedArrivalDate>3/2/2014 12:00:00 AM</EstimatedArrivalDate>
<OrderTotal>99.99</OrderTotal>
<ShippingTotal>99.99</ShippingTotal>
<ShipToStoreID>55</ShipToStoreID>
<VendorInvoiceNumber>15782</VendorInvoiceNumber>
</PurchaseOrderData>
<ProductsOrdered>
<ProductInformation>
<DateReceived>01/21/2016 16:58:23</DateReceived>
<Enabled>true</Enabled>
<MaximumLevel>100</MaximumLevel>
<MinimumLevel>10</MinimumLevel>
<ProductCost>99.99</ProductCost>
<ProductID>86EE477F-C6B7-48FA-AA0A-105662D9A3ED</ProductID>
<ProductItemID>11142</ProductItemID>
<ProductName>Samsung Galaxy S6</ProductName>
<ProductReceived>false</ProductReceived>
<ProductSKU>CECPSM000017</ProductSKU>
<QuantityCommittedOnOrderEntry>0</QuantityCommittedOnOrderEntry>
<QuantityInStock>8</QuantityInStock>
<QuantityInTransfer>3</QuantityInTransfer>
<QuantityOnBackOrder>0</QuantityOnBackOrder>
<QuantityOnLoan>5</QuantityOnLoan>
<QuantityOnOrder>6</QuantityOnOrder>
<QuantityOnRMA>9</QuantityOnRMA>
<QuantityOrdered>4</QuantityOrdered>
<QuantityReceived>4</QuantityReceived>
<QuantitySold>30</QuantitySold>
<QuantityTransferIn>3</QuantityTransferIn>
<QuantityTransferOut>3</QuantityTransferOut>
<VendorSKU>SSGS5CB</VendorSKU>
</ProductInformation>
</ProductsOrdered>
</purchaseOrder>
</CreateUncommittedPurchaseOrder>
</soap:Body>
</soap:Envelope>
Code Example
VendorIdentity vendor = new VendorIdentity();
vendor.VendorID = new Guid(009E800D-10ED-4F4A-B86F-DFB3C2A18C09);
vendor.Username = "danssupplies";
vendor.Password = "samplepassword";
vendor.Client = new ClientAgent();
vendor.Client.ClientID = companyID;
vendor.Client.StoreID = 4;
DateTime ead1 = DateTime.Today.AddDays(14);
string eta = String.Format("{0:D2}/{1:D2}/{2:D4}", ead1.Month, ead1.Day, ead1.Year);
PurchaseOrder po = new PurchaseOrder();
po.PurchaseOrderID = new Guid();
po.PurchaseOrderData = new PurchaseOrderData();
po.PurchaseOrderData.BillToStoreID = stores[0].StoreID;
po.PurchaseOrderData.Comments = "Vendor Invoice Number #: BDP123";
po.PurchaseOrderData.ShipToStoreID = stores[0].StoreID;
po.PurchaseOrderData.VendorInvoiceNumber = "BDP123";
po.PurchaseOrderData.EstimatedArrivalDate = eta;
po.ProductsOrdered = new ProductInformation[1];
po.ProductsOrdered[0] = new ProductInformation();
po.ProductsOrdered[0].ProductItemID = productID;
po.ProductsOrdered[0].ProductName = "Samsung Galaxy S5 - Charcoal Black";
po.ProductsOrdered[0].ProductSKU = "SSSATM000002";
po.ProductsOrdered[0].VendorSKU = "SSGS5CB";
po.ProductsOrdered[0].QuantityOrdered = 1;
po.ProductsOrdered[0].ProductCost = 130.00;
PurchaseOrder poCreated = vmiService.CreateUncommittedPurchaseOrder(vendor, po);
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<CreateUncommittedPurchaseOrderResponse
xmlns="http://www.iqmetrix.com">
<CreateUncommittedPurchaseOrderResult>
<PurchaseOrderID>28890F70-8FC9-4A9B-9458-410A8D08502D</PurchaseOrderID>
<PurchaseOrderData>
<PurchaseOrderID>28890F70-8FC9-4A9B-9458-410A8D08502D</PurchaseOrderID>
<BillToStoreID>55</BillToStoreID>
<BillToStoreName>Cornwall west</BillToStoreName>
<BillToVendorAccountNumber>1</BillToVendorAccountNumber>
<IsDeleted>false</IsDeleted>
<CreatedByVMI>false</CreatedByVMI>
<CreatedDate>3/16/2014 12:00:00 AM</CreatedDate>
<Comments>comments</Comments>
<EstimatedArrivalDate>3/2/2014 12:00:00 AM</EstimatedArrivalDate>
<OrderTotal>99.99</OrderTotal>
<RetailiQPurchaseOrderID>22075</RetailiQPurchaseOrderID>
<RetailiQPurchaseOrderNumber>DALEKPO5</RetailiQPurchaseOrderNumber>
<ShippingTotal>99.99</ShippingTotal>
<ShipToStoreID>55</ShipToStoreID>
<ShipToStoreName>Cornwall west</ShipToStoreName>
<ShipToVendorAccountNumber>1</ShipToVendorAccountNumber>
<VendorInvoiceNumber>15782</VendorInvoiceNumber>
<VendorName>SampleVendor</VendorName>
</PurchaseOrderData>
<ProductsOrdered>
<ProductInformation>
<CategoryPath>Activation >> Dropship</CategoryPath>
<DateEOL>1/01/2016 12:00:00 AM</DateEOL>
<DateReceived>01/21/2016 16:58:23</DateReceived>
<DoNotOrder>false</DoNotOrder>
<Enabled>true</Enabled>
<GrossQuantityReturned>11</GrossQuantityReturned>
<GrossQuantitySold>10</GrossQuantitySold>
<MaximumLevel>100</MaximumLevel>
<MinimumLevel>10</MinimumLevel>
<MinMaxLocked>true</MinMaxLocked>
<ProductCost>99.99</ProductCost>
<ProductID>86EE477F-C6B7-48FA-AA0A-105662D9A3ED</ProductID>
<ProductItemID>11142</ProductItemID>
<ProductName>Samsung Galaxy S6</ProductName>
<ProductReceived>false</ProductReceived>
<ProductSKU>CECPSM000017</ProductSKU>
<QuantityCommittedOnOrderEntry>0</QuantityCommittedOnOrderEntry>
<QuantityInStock>8</QuantityInStock>
<QuantityInTransfer>3</QuantityInTransfer>
<QuantityOnBackOrder>0</QuantityOnBackOrder>
<QuantityOnLoan>5</QuantityOnLoan>
<QuantityOnOrder>6</QuantityOnOrder>
<QuantityOnRMA>9</QuantityOnRMA>
<QuantityOnUncommittedOrder>2</QuantityOnUncommittedOrder>
<QuantityOrdered>4</QuantityOrdered>
<QuantityReceived>4</QuantityReceived>
<QuantitySold>30</QuantitySold>
<QuantitySuggestedByVendor>50</QuantitySuggestedByVendor>
<QuantityTransferIn>3</QuantityTransferIn>
<QuantityTransferOut>3</QuantityTransferOut>
<RetailPrice>99.99</RetailPrice>
<SaleBegin>01/01/2014 12:00:00 AM</SaleBegin>
<SaleEnd>01/10/2014 12:00:00 AM</SaleEnd>
<SalePrice>79.99</SalePrice>
<VendorSKU>SSGS5CB</VendorSKU>
</ProductInformation>
</ProductsOrdered>
</CreateUncommittedPurchaseOrderResult>
</CreateUncommittedPurchaseOrderResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
CreateUncommittedPurchaseOrder
( Required) -
vendor
(Optional) - Case-sensitive -
VendorID
( Required) -
Username
( Required) -
Password
( Required) -
Client
( Required) -
ClientID
( Required) -
Name
(Optional) -
StoreID
(Optional) - Required if VendorAccountNumber is not provided -
VendorAccountNumber
(Optional) - Required if StoreID is not provided -
purchaseOrder
(Optional) - The PurchaseOrder -
PurchaseOrderData
( Required) -
BillToStoreID
( Required) - Defaults to -1. Either this value or BillToVendorAccountNumber must be supplied -
EstimatedArrivalDate
( Required) - Format mm/dd/yyyy -
ShipToStoreID
( Required) - Defaults to -1. Either this value or ShipToVendorAccountNumber must be supplied -
VendorInvoiceNumber
( Required) - Vendor supplied invoice number, this must be unique -
CreatedByVMI
(Optional) - defaults to false -
CreatedDate
(Optional) -
Comments
(Optional) -
OrderTotal
(Optional) - Defaults to -1 -
ShippingTotal
(Optional) - Defaults to -1 -
ProductsOrdered
( Required) - Products ordered -
ProductInformation
( Required) -
QuantityOrdered
( Required) -
VendorSKU
( Required) -
DateReceived
(Optional) -
Enabled
(Optional) -
MaximumLevel
(Optional) - defaults to -1 -
MinimumLevel
(Optional) - defaults to -1 -
ProductCost
(Optional) - defaults to -1 -
ProductID
(Optional) -
ProductItemID
(Optional) -
ProductName
(Optional) -
ProductReceived
(Optional) -
ProductSKU
(Optional) -
QuantityCommittedOnOrderEntry
(Optional) - defaults to -1 -
QuantityInStock
(Optional) - defaults to -1 -
QuantityInTransfer
(Optional) - defaults to -1 -
QuantityOnBackOrder
(Optional) - defaults to -1 -
QuantityOnLoan
(Optional) - defaults to -1 -
QuantityOnOrder
(Optional) - defaults to -1 -
QuantityOnRMA
(Optional) - defaults to -1 -
QuantityReceived
(Optional) - defaults to -1 -
QuantitySold
(Optional) - defaults to -1 -
QuantityTransferIn
(Optional) - defaults to -1 -
QuantityTransferOut
(Optional) - defaults to -1
Getting Product Receiving Info
Retrieves a list of products received within a date range.
Definition
POST /?op=GetReceivingInfo
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetReceivingInfo
xmlns="http://www.iqmetrix.com">
<Vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>4</StoreID>
<VendorAccountNumber>ACCT123</VendorAccountNumber>
</Client>
</Vendor>
<StartDate>01/01/2016</StartDate>
<EndDate>10/31/2016</EndDate>
</GetReceivingInfo>
</soap:Body>
</soap:Envelope>
Code Example
VendorIdentity vendor = new VendorIdentity();
vendor.VendorID = new Guid(009E800D-10ED-4F4A-B86F-DFB3C2A18C09);
vendor.Username = "danssupplies";
vendor.Password = "samplepassword";
vendor.Client = new ClientAgent();
vendor.Client.ClientID = companyID;
vendor.Client.StoreID = 4;
ReceivingInfo[] receivingInfo = vmiService.GetReceivingInfo(vendor, startDate, endDate);
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetReceivingInfoResponse
xmlns="http://www.iqmetrix.com">
<GetReceivingInfoResult>
<ReceivingInfo>
<DateReceived>1/21/2016 4:58:24 PM</DateReceived>
<ProductCost>650</ProductCost>
<ProductItemID>20</ProductItemID>
<ProductName>Samsung Galaxy Alpha Flipbook - Black/Magenta</ProductName>
<Quantity>11</Quantity>
<RQPurchaseOrderNumber>TT101PO1</RQPurchaseOrderNumber>
<SerialNumber></SerialNumber>
<ShipToStoreID>55</ShipToStoreID>
<ShipToStoreName>Cornwall west</ShipToStoreName>
<RQReceivingNumber>TT101RE1</RQReceivingNumber>
<VendorName>SampleVendor</VendorName>
<VendorSKU>SSGS5CB</VendorSKU>
</ReceivingInfo>
</GetReceivingInfoResult>
</GetReceivingInfoResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
GetReceivingInfo
( Required) -
Vendor
( Required) - Case-sensitive -
VendorID
( Required) -
Username
( Required) -
Password
( Required) -
Client
( Required) -
ClientID
( Required) -
Name
(Optional) -
StoreID
(Optional) - Required if VendorAccountNumber is not provided -
VendorAccountNumber
(Optional) - Required if StoreID is not provided -
StartDate
( Required) -
EndDate
( Required)
Getting Transfer Counts
Retrieves a matrix of transfers that occured within the specified date range.
Notes
- For no channel, use Guid.Empty or
00000000-0000-0000-0000-000000000000
- For no region, district or store use -1
Definition
POST /?op=GetTransferCounts
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetTransferCounts
xmlns="http://www.iqmetrix.com">
<Vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>4</StoreID>
<VendorAccountNumber>ACCT123</VendorAccountNumber>
</Client>
</Vendor>
<StartDate>01/01/2016</StartDate>
<EndDate>10/31/2016</EndDate>
<storeId>4</storeId>
</GetTransferCounts>
</soap:Body>
</soap:Envelope>
Code Example
VendorIdentity vendor = new VendorIdentity();
vendor.VendorID = new Guid(009E800D-10ED-4F4A-B86F-DFB3C2A18C09);
vendor.Username = "danssupplies";
vendor.Password = "samplepassword";
vendor.Client = new ClientAgent();
vendor.Client.ClientID = companyID;
DateTime startDate = new DateTime(2011, 2, 1);
DateTime endDate = new DateTime(2011, 2, 15);
ProductInformation[] products = vmiService.GetTransferCounts(vendor, startDate, endDate, storeId);
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetTransferCountsResponse
xmlns="http://www.iqmetrix.com">
<GetTransferCountsResult>
<TransferCount>
<ProductItemID>11142</ProductItemID>
<ReceivedIn>1/21/2016 4:58:24 PM</ReceivedIn>
<ReceivedOut>1/22/2016 4:58:24 PM</ReceivedOut>
<ShippedIn>1/20/2016 4:58:24 PM</ShippedIn>
<ShippedOut>1/19/2016 4:58:24 PM</ShippedOut>
<storeId>4</storeId>
<VendorSKU>SSGS5CB</VendorSKU>
</TransferCount>
</GetTransferCountsResult>
</GetTransferCountsResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
GetTransferCounts
( Required) -
Vendor
( Required) - case-sensitive -
VendorID
( Required) -
Username
( Required) -
Password
( Required) -
Client
( Required) -
ClientID
( Required) -
Name
(Optional) -
StoreID
(Optional) - Required if VendorAccountNumber is not provided -
VendorAccountNumber
(Optional) - Required if StoreID is not provided -
StartDate
( Required) - Search for transfers shipped and/or received on or after this date at midnight -
EndDate
( Required) - Search for transfers shipped and/or received up to the end of this date -
storeId
( Required)
Getting the Inventory Listing Report
Retrieve a detailed list of locations and on-hand products where you are set as the primary vendor for that product.
To be used in conjunction with results from Getting Hierarchy Info.
Notes
- For no channel, use Guid.Empty or
00000000-0000-0000-0000-000000000000
- For no region, district or store use -1
Definition
POST /?op=GetInventoryListingReport
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetInventoryListingReport
xmlns="http://www.iqmetrix.com">
<Vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>4</StoreID>
<VendorAccountNumber>ACCT123</VendorAccountNumber>
</Client>
</Vendor>
<storeId>4</storeId>
</GetInventoryListingReport>
</soap:Body>
</soap:Envelope>
Code Example
VendorIdentity vendor = new VendorIdentity();
vendor.VendorID = new Guid(009E800D-10ED-4F4A-B86F-DFB3C2A18C09);
vendor.Username = "danssupplies";
vendor.Password = "samplepassword";
vendor.Client = new ClientAgent();
vendor.Client.ClientID = companyID;
ProductInformation[] products = vmiService.GetInventoryListingReport(vendor, storeId);
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetInventoryListingReportResponse
xmlns="http://www.iqmetrix.com">
<GetInventoryListingReportResult>
<InventoryListingData>
<CategoryPath>>> Activations >> SamsungCR</CategoryPath>
<ChannelID>4bbb842d-0340-4ffc-9216-bf170c861424</ChannelID>
<Description>Samsung Galaxy S5 - Charcoal Black</Description>
<DistrictID>1</DistrictID>
<DistrictName>First District</DistrictName>
<Location>Tasha's Test</Location>
<ManufacturerSKU></ManufacturerSKU>
<ProductSKU>ACCRTM000001</ProductSKU>
<Quantity>1</Quantity>
<RegionID>1</RegionID>
<RegionName>First Region</RegionName>
<TrackingNumber>12345</TrackingNumber>
<VendorName>Dan's Supplies</VendorName>
<VendorSKU>SSGS5CB</VendorSKU>
</InventoryListingData>
</GetInventoryListingReportResult>
</GetInventoryListingReportResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
GetInventoryListingReport
( Required) -
Vendor
( Required) - Case-sensitive -
VendorID
( Required) -
Username
( Required) -
Password
( Required) -
Client
( Required) -
ClientID
( Required) -
Name
(Optional) -
StoreID
(Optional) - Required if VendorAccountNumber is not provided -
VendorAccountNumber
(Optional) - Required if StoreID is not provided -
storeId
( Required) - This value can be a Channel, Region, District or Store Id. The request body will change depending on the parameter used (i.e.)
Getting the Adjustment Report
Get a list of inventory adjustments with quantity and reason codes within a date range.
Notes
- For no channel, use Guid.Empty or
00000000-0000-0000-0000-000000000000
- For no region, district or store use -1
Definition
POST /?op=GetAdjustmentReport
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetAdjustmentReport
xmlns="http://www.iqmetrix.com">
<Vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>4</StoreID>
<VendorAccountNumber>ACCT123</VendorAccountNumber>
</Client>
</Vendor>
<storeId>4</storeId>
<StartDate>01/01/2016</StartDate>
<EndDate>10/31/2016</EndDate>
</GetAdjustmentReport>
</soap:Body>
</soap:Envelope>
Code Example
VendorIdentity vendor = new VendorIdentity();
vendor.VendorID = new Guid(009E800D-10ED-4F4A-B86F-DFB3C2A18C09);
vendor.Username = "danssupplies";
vendor.Password = "samplepassword";
vendor.Client = new ClientAgent();
vendor.Client.ClientID = companyID;
vendor.Client.StoreID = 4;
Adjustment[] adjustmentReport = vmiService.GetAdjustmentReport(vendor, startDate, endDate, storeId);
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetAdjustmentReportResponse
xmlns="http://www.iqmetrix.com">
<GetAdjustmentReportResult>
<Adjustment>
<ProductItemID>11142</ProductItemID>
<Quantity>1</Quantity>
<Reason>Refurbished</Reason>
<StoreID>4</StoreID>
<VendorSKU>SSGS5CB</VendorSKU>
</Adjustment>
</GetAdjustmentReportResult>
</GetAdjustmentReportResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
GetAdjustmentReport
( Required) -
Vendor
( Required) - Case-sensitive -
VendorID
( Required) -
Username
( Required) -
Password
( Required) -
Client
( Required) -
ClientID
( Required) -
Name
(Optional) -
StoreID
(Optional) - Required if VendorAccountNumber is not provided -
VendorAccountNumber
(Optional) - Required if StoreID is not provided -
storeId
( Required) - This value can be a Channel, Region, District or Store Id. The request body will change depending on the parameter used (i.e.) -
StartDate
( Required) - Look for adjustments created on or after this date at midnight -
EndDate
( Required) - Look for adjustments created up to the end of this day
Getting the Geographic Inventory Report
Similar to GetInventoryReportByVendorSKU, but can be used with Getting Hierarchy Info to rub the report at any level in the company tree (hierarchy).
This allows consumers to get inventory data for a large number of stores at one time.
Getting Hierarchy Info includes a store count for each level of the hierarchy, use this value to allow your software to intelligently choose the appropriate level to request.
Consider using a configuration value instead of hard-coding.
Notes
- For no channel, use Guid.Empty or
00000000-0000-0000-0000-000000000000
- For no region, district or store use -1
- If the result of HierarchyInfo contains a default Channel of Guid.Empty (00000000-0000-0000-0000-000000000000), you must get data at the Region level.
Definition
POST /?op=GetGeographicInventoryReport
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetGeographicInventoryReport
xmlns="http://www.iqmetrix.com">
<Vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>4</StoreID>
<VendorAccountNumber>ACCT123</VendorAccountNumber>
</Client>
</Vendor>
<storeId>4</storeId>
<StartDate>01/01/2016</StartDate>
<EndDate>10/31/2016</EndDate>
</GetGeographicInventoryReport>
</soap:Body>
</soap:Envelope>
Code Example
VendorIdentity vendor = new VendorIdentity();
vendor.VendorID = new Guid(009E800D-10ED-4F4A-B86F-DFB3C2A18C09);
vendor.Username = "danssupplies";
vendor.Password = "samplepassword";
vendor.Client = new ClientAgent();
vendor.Client.ClientID = companyID;
vendor.Client.StoreID = 4;
ProductAndStoreInformation[] inventoryReport = vmiService.GetGeographicInventoryReport(vendor, startDate, endDate, storeId);
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="https://www.w3.org/2001/XMLSchema" xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetGeographicInventoryReportResponse xmlns="http://www.iqmetrix.com">
<GetGeographicInventoryReportResult>
<ProductAndStoreInformation>
<StoreID>6</StoreID>
<Name>Vineland Test Store</Name>
<ChannelID>4bbb842d-0340-4ffc-9216-bf170c861424</ChannelID>
<ChannelName>First Channel</ChannelName>
<RegionID>1</RegionID>
<RegionName>First Region</RegionName>
<DistrictID>1</DistrictID>
<DistrictName>First District</DistrictName>
<QuantityTransferIn>3</QuantityTransferIn>
<QuantityTransferOut>3</QuantityTransferOut>
</ProductAndStoreInformation>
</GetGeographicInventoryReportResult>
</GetGeographicInventoryReportResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
GetGeographicInventoryReport
( Required) -
Vendor
( Required) - Case-sensitive -
VendorID
( Required) -
Username
( Required) -
Password
( Required) -
Client
( Required) -
ClientID
( Required) -
Name
(Optional) -
StoreID
(Optional) - Required if VendorAccountNumber is not provided -
VendorAccountNumber
(Optional) - Required if StoreID is not provided -
storeId
( Required) - This value can be a Channel, Region, District or Store Id. The request body will change depending on the parameter used (i.e.) -
StartDate
( Required) -
EndDate
( Required)
Getting the Product Sales Report
Retrieves detailed sell through data for products where you are set as the primary vendor.
Notes
- For no channel, use Guid.Empty or
00000000-0000-0000-0000-000000000000
- For no region, district or store use -1
Definition
POST /?op=GetProductSalesReport
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetProductSalesReport
xmlns="http://www.iqmetrix.com">
<Vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>4</StoreID>
<VendorAccountNumber>ACCT123</VendorAccountNumber>
</Client>
</Vendor>
<storeId>4</storeId>
<startDate>01/01/2016</startDate>
<endDate>10/31/2016</endDate>
</GetProductSalesReport>
</soap:Body>
</soap:Envelope>
Code Example
VendorIdentity vendor = new VendorIdentity();
vendor.VendorID = new Guid(009E800D-10ED-4F4A-B86F-DFB3C2A18C09);
vendor.Username = "danssupplies";
vendor.Password = "samplepassword";
vendor.Client = new ClientAgent();
vendor.Client.ClientID = companyID;
vendor.Client.StoreID = 4;
ProductSalesReportData[] productReport = vmiService.GetProductSalesReport(vendor, startDate, endDate, storeId);
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetProductSalesReportResponse
xmlns="http://www.iqmetrix.com">
<GetProductSalesReportResult>
<ProductSalesReportData>
<CategoryPath>Activation >> Dropship</CategoryPath>
<ChannelID>4bbb842d-0340-4ffc-9216-bf170c861424</ChannelID>
<ChannelName>First Channel</ChannelName>
<Description></Description>
<DistrictID>1</DistrictID>
<DistrictName>First District</DistrictName>
<InvoicedBy>iQmetrix User</InvoicedBy>
<ListPrice>99.99</ListPrice>
<ProductItemID>11142</ProductItemID>
<ProductSKU>CECPSM000017</ProductSKU>
<Quantity>1</Quantity>
<Refund>false</Refund>
<RegionID>1</RegionID>
<RegionName>First Region</RegionName>
<RqInvoiceIdByStore>BDP123</RqInvoiceIdByStore>
<SoldOn>1/21/2016 4:58:24 PM</SoldOn>
<StoreID>4</StoreID>
<TrackingNumber>12345</TrackingNumber>
<VendorSKU>SSGS5CB</VendorSKU>
</ProductSalesReportData>
</GetProductSalesReportResult>
</GetProductSalesReportResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
GetProductSalesReport
( Required) -
Vendor
( Required) - Case-sensitive -
VendorID
( Required) -
Username
( Required) -
Password
( Required) -
Client
( Required) -
ClientID
( Required) -
Name
(Optional) -
StoreID
(Optional) - Required if VendorAccountNumber is not provided -
VendorAccountNumber
(Optional) - Required if StoreID is not provided -
storeId
( Required) - This value can be a Channel, Region, District or Store Id. The request body will change depending on the parameter used (i.e.) -
StartDate
( Required) -
EndDate
( Required)
Getting a List of RMAs
This method allows you to retrieve a list of RMAs for a particular store. You can search on Uncommitted (pending), committed, or shipped RMAs.
Definition
POST /?op=GetRMAList
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetRMAList
xmlns="http://www.iqmetrix.com">
<vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>4</StoreID>
<VendorAccountNumber>ACCT123</VendorAccountNumber>
</Client>
</vendor>
<isCommitted>false</isCommitted>
<isShipped>false</isShipped>
</GetRMAList>
</soap:Body>
</soap:Envelope>
Code Example
var vendor = new VendorIdentity();
vendor.VendorID = new Guid(009E800D-10ED-4F4A-B86F-DFB3C2A18C09);
vendor.Username = "danssupplies";
vendor.Password = "samplepassword";
vendor.Client = new ClientAgent();
vendor.Client.ClientID = companyID;
var isCommitted = true;
var isShipped = false;
var rmaList = vmiService.GetRMAList(vendor, isCommitted, isShipped);
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<GetRMAListResponse
xmlns="http://www.iqmetrix.com">
<GetRMAListResult>
<ReturnMerchandiseAuthorization>
<ProductData>
<RMAProduct>
<RQProductSku>CDATSS000019</RQProductSku>
<RQProductID>19</RQProductID>
<SerialNumberRemoved>789987741147111</SerialNumberRemoved>
<VendorInvoiceNumber>123456</VendorInvoiceNumber>
<TotalQuantity>1</TotalQuantity>
<NonSellableQuantity>0</NonSellableQuantity>
<UnitCost>0</UnitCost>
<ActionTaken>Credit</ActionTaken>
<VendorSKU>SSGS5CB</VendorSKU>
<QuantityReceived>4</QuantityReceived>
</RMAProduct>
</ProductData>
<RMAID>16</RMAID>
<RMAIDByStore>ATTEXSB3</RMAIDByStore>
<StoreID>0</StoreID>
<VendorID>0</VendorID>
<CreatedByVMI>false</CreatedByVMI>
<VendorRMANumber>123456</VendorRMANumber>
<WayBillNumber>0</WayBillNumber>
<ShippingMethod>USPS</ShippingMethod>
<ReceivingComments>Broken</ReceivingComments>
<ShippingCost>0</ShippingCost>
<Committed>0</Committed>
<DateCommitted>2017-01-01T00:00:00</DateCommitted>
<ShippedAway>0</ShippedAway>
<Completed>0</Completed>
<Comments>Sent</Comments>
<DateCreated>2016-11-04T00:00:00</DateCreated>
<CreditInvoiceNumber>BDP123</CreditInvoiceNumber>
</ReturnMerchandiseAuthorization>
</GetRMAListResult>
</GetRMAListResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
GetRMAList
( Required) -
vendor
( Required) - case-sensitive -
VendorID
( Required) -
Username
( Required) -
Password
( Required) -
Client
( Required) -
ClientID
( Required) -
Name
(Optional) -
StoreID
(Optional) - Required if VendorAccountNumber is not provided -
VendorAccountNumber
(Optional) - Required if StoreID is not provided -
isCommitted
(Optional) - True to include committed RMAs, false to exclude. Defaults to false -
isShipped
(Optional) - True to include shipped RMAs, false to exclude. Defaults to false
Creating a RMA
This method allows the vendor to create a Return Merchandise Authorization for a client.
Committed, DateCommitted, ShippedAway, Completed, ShippingCost, EmployeeID, and VendorID will be ignored if set when creating an RMA.
These fields are only set for informational purposes in other RMA calls.
Notes
- The RMA is created in an uncommitted (pending) state
- It will become visible in RQ and will be reviewed and fulfilled by store staff using RQ
- For serialized products, a serial number must be supplied.
Definition
POST /?op=CreateRMA
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<CreateRMA
xmlns="http://www.iqmetrix.com">
<Vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>4</StoreID>
<VendorAccountNumber>ACCT123</VendorAccountNumber>
</Client>
</Vendor>
<RMA>
<ProductData>
<RMAProduct>
<RQProductSku>CDATSS000019</RQProductSku>
<RQProductID>19</RQProductID>
<SerialNumberRemoved>789987741147111</SerialNumberRemoved>
<VendorInvoiceNumber>123456</VendorInvoiceNumber>
<TotalQuantity>1</TotalQuantity>
<NonSellableQuantity>0</NonSellableQuantity>
<UnitCost>0</UnitCost>
<ActionTaken>Credit</ActionTaken>
<VendorSKU>SSGS5CB</VendorSKU>
<QuantityReceived>4</QuantityReceived>
</RMAProduct>
</ProductData>
<VendorID>0</VendorID>
<CreatedByVMI>false</CreatedByVMI>
<VendorRMANumber>123456</VendorRMANumber>
<ShippingCost>0</ShippingCost>
<Comments>Sent</Comments>
<CreditInvoiceNumber>BDP123</CreditInvoiceNumber>
</RMA>
</CreateRMA>
</soap:Body>
</soap:Envelope>
Code Example
VendorIdentity vendor = new VendorIdentity();
vendor.VendorID = new Guid(009E800D-10ED-4F4A-B86F-DFB3C2A18C09);
vendor.Username = "danssupplies";
vendor.Password = "samplepassword";
vendor.Client = new ClientAgent();
vendor.Client.ClientID = companyID;
vendor.Client.StoreID = 4;
ReturnMerchandiseAuthorization rma = new ReturnMerchandiseAuthorization();
rma.Comments = "Test RMA";
rma.VendorRMANumber = "123456789";
rma.ProductData = new RMAProduct[1];
rma.ProductData[0] = new RMAProduct();
rma.ProductData[0].RQProductID = productID;
rma.ProductData[0].RQProductSku = "PSKU123";
rma.ProductData[0].SerialNumberRemoved = "320192949201938";
rma.ProductData[0].VendorInvoiceNumber = "12345";
rma.ProductData[0].TotalQuantity = 1;
rma.ProductData[0].NonSellableQuantity = 1;
rma.ProductData[0].UnitCost = 500.00m;
rma.ProductData[0].ActionTaken = ActionTaken.Credit;
ReturnMerchandiseAuthorization rmaCreated = vmiService.CreateRMA(vendor, rma);
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<CreateRMAResponse
xmlns="http://www.iqmetrix.com">
<CreateRMAResult>
<ProductData>
<RMAProduct>
<RQProductSku>CDATSS000019</RQProductSku>
<RQProductID>19</RQProductID>
<SerialNumberRemoved>789987741147111</SerialNumberRemoved>
<VendorInvoiceNumber>123456</VendorInvoiceNumber>
<TotalQuantity>1</TotalQuantity>
<NonSellableQuantity>0</NonSellableQuantity>
<UnitCost>0</UnitCost>
<ActionTaken>Credit</ActionTaken>
<VendorSKU>SSGS5CB</VendorSKU>
<QuantityReceived>4</QuantityReceived>
</RMAProduct>
</ProductData>
<RMAID>16</RMAID>
<RMAIDByStore>ATTEXSB3</RMAIDByStore>
<StoreID>0</StoreID>
<VendorID>0</VendorID>
<CreatedByVMI>false</CreatedByVMI>
<VendorRMANumber>123456</VendorRMANumber>
<ShippingCost>0</ShippingCost>
<Committed>0</Committed>
<DateCommitted>2017-01-01T00:00:00</DateCommitted>
<ShippedAway>0</ShippedAway>
<Completed>0</Completed>
<Comments>Sent</Comments>
<DateCreated>2016-11-04T00:00:00</DateCreated>
<CreditInvoiceNumber>BDP123</CreditInvoiceNumber>
</CreateRMAResult>
</CreateRMAResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
CreateRMA
( Required) -
Vendor
( Required) - case-sensitive -
VendorID
( Required) -
Username
( Required) -
Password
( Required) -
Client
( Required) -
ClientID
( Required) -
Name
(Optional) -
StoreID
(Optional) - Required if VendorAccountNumber is not provided -
VendorAccountNumber
(Optional) - Required if StoreID is not provided -
RMA
(Optional) -
ProductData
( Required) -
RMAProduct
( Required) -
RQProductSku
( Required) - Either this value, RQProductID or VendorSKU must be provided -
RQProductID
( Required) - Either this value, VendorSKU or RQProductSKU must be provided -
SerialNumberRemoved
( Required) -
TotalQuantity
( Required) -
ActionTaken
( Required) -
VendorInvoiceNumber
(Optional) -
NonSellableQuantity
(Optional) -
UnitCost
(Optional) -
VendorSKU
(Optional) - Either this value, RQProductID or RQProductSKU must be provided -
QuantityReceived
(Optional) - defaults to -1 -
VendorID
(Optional) -
CreatedByVMI
(Optional) -
VendorRMANumber
(Optional) -
ShippingCost
(Optional) -
Comments
(Optional) -
CreditInvoiceNumber
(Optional)
Updating a Committed RMA
This method allows the vendor to update an existing RMA that is in the committed or shipped state.
The main purpose of this method is to allow the vendor to assign a Vendor RMA number to the RMA after the client has accepted and committed the RMA.
Definition
POST /?op=UpdateCommittedRMA
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<UpdateCommittedRMA
xmlns="http://www.iqmetrix.com">
<vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>4</StoreID>
<VendorAccountNumber>ACCT123</VendorAccountNumber>
</Client>
</vendor>
<rma>
<ProductData>
<RMAProduct>
<RQProductSku>CDATSS000019</RQProductSku>
<RQProductID>19</RQProductID>
<SerialNumberRemoved>789987741147111</SerialNumberRemoved>
<VendorInvoiceNumber>123456</VendorInvoiceNumber>
<TotalQuantity>1</TotalQuantity>
<NonSellableQuantity>0</NonSellableQuantity>
<UnitCost>0</UnitCost>
<ActionTaken>Credit</ActionTaken>
<VendorSKU>SSGS5CB</VendorSKU>
<QuantityReceived>4</QuantityReceived>
</RMAProduct>
</ProductData>
<VendorID>0</VendorID>
<CreatedByVMI>false</CreatedByVMI>
<VendorRMANumber>123456</VendorRMANumber>
<WayBillNumber>0</WayBillNumber>
<ShippingMethod>USPS</ShippingMethod>
<ReceivingComments>Broken</ReceivingComments>
<ShippingCost>0</ShippingCost>
<Comments>Sent</Comments>
<CreditInvoiceNumber>BDP123</CreditInvoiceNumber>
</rma>
</UpdateCommittedRMA>
</soap:Body>
</soap:Envelope>
Code Example
VendorIdentity vendor = new VendorIdentity();
vendor.VendorID = new Guid(009E800D-10ED-4F4A-B86F-DFB3C2A18C09);
vendor.Username = "danssupplies";
vendor.Password = "samplepassword";
vendor.Client = new ClientAgent();
vendor.Client.ClientID = companyID;
vendor.Client.StoreID = 4;
ReturnMerchandiseAuthorization rma = new ReturnMerchandiseAuthorization();
rma.RMAID = rmaId;
rma.Comments = "Defective";
rma.VendorRMANumber = "12345";
ReturnMerchandiseAuthorization updatedRma = vmiService.UpdateCommittedRMA(vendor, rma);
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<UpdateCommittedRMAResponse
xmlns="http://www.iqmetrix.com">
<UpdateCommittedRMAResult>
<ProductData>
<RMAProduct>
<RQProductSku>CDATSS000019</RQProductSku>
<RQProductID>19</RQProductID>
<SerialNumberRemoved>789987741147111</SerialNumberRemoved>
<VendorInvoiceNumber>123456</VendorInvoiceNumber>
<TotalQuantity>1</TotalQuantity>
<NonSellableQuantity>0</NonSellableQuantity>
<UnitCost>0</UnitCost>
<ActionTaken>Credit</ActionTaken>
<VendorSKU>SSGS5CB</VendorSKU>
<QuantityReceived>4</QuantityReceived>
</RMAProduct>
</ProductData>
<RMAID>16</RMAID>
<RMAIDByStore>ATTEXSB3</RMAIDByStore>
<StoreID>0</StoreID>
<VendorID>0</VendorID>
<CreatedByVMI>false</CreatedByVMI>
<VendorRMANumber>123456</VendorRMANumber>
<ShippingCost>0</ShippingCost>
<Committed>0</Committed>
<DateCommitted>2017-01-01T00:00:00</DateCommitted>
<ShippedAway>0</ShippedAway>
<Completed>0</Completed>
<Comments>Sent</Comments>
<DateCreated>2016-11-04T00:00:00</DateCreated>
<CreditInvoiceNumber>BDP123</CreditInvoiceNumber>
</UpdateCommittedRMAResult>
</UpdateCommittedRMAResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
UpdateCommittedRMA
( Required) -
vendor
( Required) - case-sensitive -
VendorID
( Required) -
Username
( Required) -
Password
( Required) -
Client
( Required) -
ClientID
( Required) -
Name
(Optional) -
StoreID
(Optional) - Required if VendorAccountNumber is not provided -
VendorAccountNumber
(Optional) - Required if StoreID is not provided -
rma
( Required) -
ProductData
( Required) -
RMAProduct
( Required) -
RQProductSku
( Required) - Either this value, RQProductID or VendorSKU must be provided -
RQProductID
( Required) - Either this value, VendorSKU or RQProductSKU must be provided -
SerialNumberRemoved
( Required) -
TotalQuantity
( Required) -
ActionTaken
( Required) -
VendorInvoiceNumber
(Optional) -
NonSellableQuantity
(Optional) -
UnitCost
(Optional) -
VendorSKU
(Optional) - Either this value, RQProductID or RQProductSKU must be provided -
QuantityReceived
(Optional) - defaults to -1 -
VendorID
(Optional) -
CreatedByVMI
(Optional) -
VendorRMANumber
(Optional) -
WayBillNumber
(Optional) -
ShippingMethod
(Optional) -
ReceivingComments
(Optional) -
ShippingCost
(Optional) -
Comments
(Optional) -
CreditInvoiceNumber
(Optional)
Committing a RMA
Definition
POST /?op=CommitRMA
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<CommitRMA
xmlns="http://www.iqmetrix.com">
<vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>4</StoreID>
<VendorAccountNumber>ACCT123</VendorAccountNumber>
</Client>
</vendor>
<rma>
<RMAID>16</RMAID>
<RMAIDByStore>ATTEXSB3</RMAIDByStore>
<VendorRMANumber>123456</VendorRMANumber>
</rma>
</CommitRMA>
</soap:Body>
</soap:Envelope>
Code Example
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<CommitRMAResponse
xmlns="http://www.iqmetrix.com">
<CommitRMAResult>
<ProductData>
<RMAProduct>
<RQProductSku>CDATSS000019</RQProductSku>
<RQProductID>19</RQProductID>
<SerialNumberRemoved>789987741147111</SerialNumberRemoved>
<VendorInvoiceNumber>123456</VendorInvoiceNumber>
<TotalQuantity>1</TotalQuantity>
<NonSellableQuantity>0</NonSellableQuantity>
<UnitCost>0</UnitCost>
<ActionTaken>Credit</ActionTaken>
<VendorSKU>SSGS5CB</VendorSKU>
<QuantityReceived>4</QuantityReceived>
</RMAProduct>
</ProductData>
<RMAID>16</RMAID>
<RMAIDByStore>ATTEXSB3</RMAIDByStore>
<StoreID>0</StoreID>
<VendorID>0</VendorID>
<CreatedByVMI>false</CreatedByVMI>
<VendorRMANumber>123456</VendorRMANumber>
<ShippingCost>0</ShippingCost>
<Committed>0</Committed>
<DateCommitted>2017-01-01T00:00:00</DateCommitted>
<ShippedAway>0</ShippedAway>
<Completed>0</Completed>
<Comments>Sent</Comments>
<DateCreated>2016-11-04T00:00:00</DateCreated>
<CreditInvoiceNumber>BDP123</CreditInvoiceNumber>
</CommitRMAResult>
</CommitRMAResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
CommitRMA
( Required) -
vendor
( Required) - case-sensitive -
VendorID
( Required) -
Username
( Required) -
Password
( Required) -
Client
( Required) -
ClientID
( Required) -
Name
(Optional) -
StoreID
(Optional) - Required if VendorAccountNumber is not provided -
VendorAccountNumber
(Optional) - Required if StoreID is not provided -
rma
(Optional) -
VendorRMANumber
( Required) -
RMAID
(Optional) -
RMAIDByStore
(Optional)
Completing a RMA
Definition
POST /?op=CompleteRMA
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<CompleteRMA
xmlns="http://www.iqmetrix.com">
<vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>4</StoreID>
<VendorAccountNumber>ACCT123</VendorAccountNumber>
</Client>
</vendor>
<rma>
<RMAID>16</RMAID>
<RMAIDByStore>ATTEXSB3</RMAIDByStore>
<VendorRMANumber>123456</VendorRMANumber>
<CreditInvoiceNumber>BDP123</CreditInvoiceNumber>
<ReceivingComments>Broken</ReceivingComments>
<ProductData>
<RMAProduct>
<RQProductSku>CDATSS000019</RQProductSku>
<RQProductID>19</RQProductID>
<SerialNumberRemoved>789987741147111</SerialNumberRemoved>
<ActionTaken>Credit</ActionTaken>
<VendorSKU>SSGS5CB</VendorSKU>
<QuantityReceived>4</QuantityReceived>
</RMAProduct>
</ProductData>
</rma>
</CompleteRMA>
</soap:Body>
</soap:Envelope>
Code Example
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<CompleteRMAResponse
xmlns="http://www.iqmetrix.com">
<CompleteRMAResult>
<ProductData>
<RMAProduct>
<RQProductSku>CDATSS000019</RQProductSku>
<RQProductID>19</RQProductID>
<SerialNumberRemoved>789987741147111</SerialNumberRemoved>
<VendorInvoiceNumber>123456</VendorInvoiceNumber>
<TotalQuantity>1</TotalQuantity>
<NonSellableQuantity>0</NonSellableQuantity>
<UnitCost>0</UnitCost>
<ActionTaken>Credit</ActionTaken>
<VendorSKU>SSGS5CB</VendorSKU>
<QuantityReceived>4</QuantityReceived>
</RMAProduct>
</ProductData>
<RMAID>16</RMAID>
<RMAIDByStore>ATTEXSB3</RMAIDByStore>
<StoreID>0</StoreID>
<VendorID>0</VendorID>
<CreatedByVMI>false</CreatedByVMI>
<VendorRMANumber>123456</VendorRMANumber>
<ShippingCost>0</ShippingCost>
<Committed>0</Committed>
<DateCommitted>2017-01-01T00:00:00</DateCommitted>
<ShippedAway>0</ShippedAway>
<Completed>0</Completed>
<Comments>Sent</Comments>
<DateCreated>2016-11-04T00:00:00</DateCreated>
<CreditInvoiceNumber>BDP123</CreditInvoiceNumber>
</CompleteRMAResult>
</CompleteRMAResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
CompleteRMA
( Required) -
vendor
( Required) - case-sensitive -
VendorID
( Required) -
Username
( Required) -
Password
( Required) -
Client
( Required) -
ClientID
( Required) -
Name
(Optional) -
StoreID
(Optional) - Required if VendorAccountNumber is not provided -
VendorAccountNumber
(Optional) - Required if StoreID is not provided -
rma
(Optional) -
VendorRMANumber
( Required) -
ProductData
( Required) - May contain multiple RMAs -
RMAProduct
( Required) -
ActionTaken
( Required) - For a list of acceptable values, see ActionTaken -
QuantityReceived
( Required) - Denotes quantity processed by vendor. Defaults to -1 -
RQProductSku
(Optional) - Either this value, RQProductID or VendorSKU must be provided -
RQProductID
(Optional) - Either this value, VendorSKU or RQProductSKU must be provided -
SerialNumberRemoved
(Optional) - Required if product is serialized -
VendorSKU
(Optional) - Either this value, RQProductID or RQProductSKU must be provided -
RMAID
(Optional) -
RMAIDByStore
(Optional) -
CreditInvoiceNumber
(Optional) -
ReceivingComments
(Optional)
Updating a RMA
Definition
POST /?op=UpdateRMA
Example Request
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<UpdateRMA
xmlns="http://www.iqmetrix.com">
<vendor>
<VendorID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</VendorID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<Client>
<ClientID>c46ccb4d-2d44-4289-950a-b9cb51d58ac4</ClientID>
<Name>DropshipTestDemo</Name>
<StoreID>4</StoreID>
<VendorAccountNumber>ACCT123</VendorAccountNumber>
</Client>
</vendor>
<rma>
<RMAID>16</RMAID>
<RMAIDByStore>ATTEXSB3</RMAIDByStore>
<VendorRMANumber>123456</VendorRMANumber>
<ReceivingComments>Broken</ReceivingComments>
<ProductData>
<RMAProduct>
<RQProductSku>CDATSS000019</RQProductSku>
<RQProductID>19</RQProductID>
<SerialNumberRemoved>789987741147111</SerialNumberRemoved>
<ActionTaken>Removed</ActionTaken>
<VendorSKU>SSGS5CB</VendorSKU>
<VendorInvoiceNumber>1002</VendorInvoiceNumber>
<NonSellableQuantity>0</NonSellableQuantity>
<TotalQuantity>1</TotalQuantity>
<UnitCost>0</UnitCost>
</RMAProduct>
</ProductData>
<WayBillNumber>0</WayBillNumber>
<ShippingMethod>USPS</ShippingMethod>
<ShippingCost>0</ShippingCost>
<Comments>comments</Comments>
</rma>
</UpdateRMA>
</soap:Body>
</soap:Envelope>
Code Example
Example Response
HTTP 200 Content-Type: text/xml
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope
xmlns:soap="https://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="https://www.w3.org/2001/XMLSchema">
<soap:Body>
<UpdateRMAResponse
xmlns="http://www.iqmetrix.com">
<UpdateRMAResult>
<ProductData>
<RMAProduct>
<RQProductSku>CDATSS000019</RQProductSku>
<RQProductID>19</RQProductID>
<SerialNumberRemoved>789987741147111</SerialNumberRemoved>
<VendorInvoiceNumber>123456</VendorInvoiceNumber>
<TotalQuantity>1</TotalQuantity>
<NonSellableQuantity>0</NonSellableQuantity>
<UnitCost>0</UnitCost>
<ActionTaken>Credit</ActionTaken>
<VendorSKU>SSGS5CB</VendorSKU>
<QuantityReceived>4</QuantityReceived>
</RMAProduct>
</ProductData>
<RMAID>16</RMAID>
<RMAIDByStore>ATTEXSB3</RMAIDByStore>
<StoreID>0</StoreID>
<VendorID>0</VendorID>
<CreatedByVMI>false</CreatedByVMI>
<VendorRMANumber>123456</VendorRMANumber>
<ShippingCost>0</ShippingCost>
<Committed>0</Committed>
<DateCommitted>2017-01-01T00:00:00</DateCommitted>
<ShippedAway>0</ShippedAway>
<Completed>0</Completed>
<Comments>Sent</Comments>
<DateCreated>2016-11-04T00:00:00</DateCreated>
<CreditInvoiceNumber>BDP123</CreditInvoiceNumber>
</UpdateRMAResult>
</UpdateRMAResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
UpdateRMA
( Required) -
vendor
( Required) - case-sensitive -
VendorID
( Required) -
Username
( Required) -
Password
( Required) -
Client
( Required) -
ClientID
( Required) -
Name
(Optional) -
StoreID
(Optional) - Required if VendorAccountNumber is not provided -
VendorAccountNumber
(Optional) - Required if StoreID is not provided -
rma
(Optional) -
VendorRMANumber
( Required) - If RMAID/RMAIDByStore is provided, use those to look up RMA instead but still update VendorRMANumber -
ProductData
( Required) - May contain multiple RMAs -
RMAProduct
( Required) -
ActionTaken
( Required) - For a list of acceptable values, see ActionTaken -
TotalQuantity
( Required) - Quantity field to be used if taking product out of sellable stock in RQ -
RQProductSku
(Optional) - Either this value, RQProductID or VendorSKU must be provided -
RQProductID
(Optional) - Either this value, VendorSKU or RQProductSKU must be provided -
SerialNumberRemoved
(Optional) - Required if product is serialized -
VendorSKU
(Optional) - Either this value, RQProductID or RQProductSKU must be provided -
VendorInvoiceNumber
(Optional) - Invoice number, generally matches VendorRMANumber -
NonSellableQuantity
(Optional) - Used if taking product out of non-sellable stock in RQ -
UnitCost
(Optional) - If provided, will override the set Unit Cost in RQ for product -
RMAID
(Optional) -
RMAIDByStore
(Optional) -
ReceivingComments
(Optional) -
WayBillNumber
(Optional) -
ShippingMethod
(Optional) -
ShippingCost
(Optional) -
Comments
(Optional)
ERRORS
HTTP Status Code | Description | How to Resolve |
---|---|---|
HTTP 500 |
Found Purchase orders for StoreID [x] by VendorInvoiceNumber [y] |
Ensure VendorInvoiceNumber is unique |
HTTP 500 |
ShipToStoreID must be > 0 or ShipToVendorAccountNumber must be supplied |
Ensure one of ShipToStoreID or ShipToVendorAccountNumber is provided |
HTTP 500 |
BillToStoreID must be > 0 or BillToVendorAccountNumber must be supplied |
Ensure one of BillToStoreID or BillToVendorAccountNumber is provided |
HTTP 500 |
Existing Purchase order has been found with Purchase Order ID [x] |
Omit PurchaseOrderID from request body or ensure it is unique |
HTTP 500 |
`Cannot update Purchase Order [x] because it has received products or is marked as complete | Ensure the PO you are updating is not complete |
HTTP 500 |
The estimated arrival date is not in the MM/dd/yyyy format |
Change the EstimatedArrivalDate to use the format MM/dd/yyyy |