OVERVIEW
The Customer Managed Inventory (Customer) API allows retailers to automate inventory management. CMI 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 CMI API and receive them as they arrive in store.
The CMI API can be used to:
- Create purchase orders (POs)
- Retrieve POs created in RQ
- Create shipping notices for POs
- See a list of all CMI-enabled stores in RQ
To learn more about CMI, see CMI Guide.
ENDPOINTS
You should choose a production endpoint that is geographically closest to your data center.
- Demo: https://vmirc.iqmetrix.net/VMIClientService.asmx
- Production (Denver): https://vmi1.iqmetrix.net/VMIClientService.asmx
- Production (Toronto): https://vmi3.iqmetrix.net/VMIClientService.asmx
- Production (Philadelphia): https://vmi10.iqmetrix.net/VMIClientService.asmx
RESOURCES
ClientIdentity
Authentication for the CMI API is done by including a ClientIdentity resource in a <client>
section at the beginning of each request.
ClientIdentitiy information is supplied by iQmetrix and used to authenticate requests made to the CMI API.
Name | Description |
---|---|
ClientID (GUID ) |
Client specific identifier supplied by iQmetrix |
Username (String ) |
Client specific username supplied by iQmetrix |
Password (String ) |
Client specific password supplied by iQmetrix |
StoreId (Integer ) |
If provided, this value should be -1 , which denotes all stores |
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. Must match Quantity |
ShipmentNumber (String ) |
Vendor defined identifier for the shipment |
VendorInvoiceNumber (String ) |
Value supplied by the vendor when creating the purchase order |
VendorSKU (String ) |
The vendor part number/sku |
PurchaseOrder
Name | Description |
---|---|
PurchaseOrderID (GUID ) |
Unique identifier |
PurchaseOrderData (PurchaseOrderData) | Purchase order |
ProductsOrdered (Array[ProductInformation]) | Products ordered |
ProductsReceived (Array[ProductInformation]) | Products received |
SerialsReceived (Array[ProductSerialNumber]) | Serials received |
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 (DateTime ) |
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. Either this value or ShipToVendorAccountNumber must be supplied |
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, must be unique |
VendorName (String ) |
Name of the vendor |
ProductInformation
Name | Description |
---|---|
ProductID (GUID ) |
Unique identifier |
ProductName (String ) |
Name |
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 |
GrossQuantitySold (Integer ) |
Gross amount sold |
GrossQuantityReturned (Integer ) |
Gross amount returned |
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 |
ProductItemID (Integer ) |
GlobalProductId from RQ |
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 |
RetailPrice (Decimal ) |
Retail price |
SaleBegin (DateTime ) |
Sale begin date |
SaleEnd (DateTime ) |
Sale end date |
SalePrice (Decimal ) |
Sale price |
VendorSKU (String ) |
Vendor SKU |
ProductSerialNumber
Name | Description |
---|---|
ProductItemID (Integer ) |
GlobalProductId from RQ |
DateReceived (DateTime ) |
Date received |
NonSellable (Boolean ) |
A flag to indicate if the product is sellable (false ) or nonsellable (true ) in RQ |
SerialNumber (String ) |
Serial number |
ReceivingInfo
Name | Description |
---|---|
ProductItemID (Integer ) |
GlobalProductId from RQ |
ProductName (String ) |
Name |
ShipToStoreID (Integer ) |
Shipping store ID |
ShipToStoreName (String ) |
Name of store to use for shipping |
RQPurchaseOrderNumber (String ) |
Purchase Order number from RQ |
VendorSKU (String ) |
Vendor SKU |
Quantity (Integer ) |
Number of items received |
ProductCost (Decimal ) |
Product cost |
DateReceived (String ) |
Date received |
RQReceivingNumber (String ) |
The receiving number from RQ |
SerialNumber (String ) |
Serial number |
StoreInformation
Name | Description |
---|---|
StoreID (Integer ) |
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. |
RQVendor
Name | Description |
---|---|
ID (GUID ) |
Vendor ID |
Name (String ) |
Vendor name |
REQUESTS
Creating a Purchase Order Shipment Notice
This method 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">
<client>
<ClientID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</ClientID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<StoreId>-1</StoreId>
</client>
<notice>
<PurchaseOrderShipmentNotice>
<PurchaseOrderID>84DACFD3-4095-4D50-A02E-781B86B7408E</PurchaseOrderID>
<ProductItemID>11142</ProductItemID>
<Quantity>1</Quantity>
<RQPurchaseOrderID>22073</RQPurchaseOrderID>
<SerialNumbers>
<string>97000012</string>
</SerialNumbers>
<ShipmentNumber>SHIP001</ShipmentNumber>
<VendorInvoiceNumber>1002</VendorInvoiceNumber>
<VendorSKU>ABC123</VendorSKU>
</PurchaseOrderShipmentNotice>
</notice>
</CreatePurchaseOrderShipmentNotice>
</soap:Body>
</soap:Envelope>
Code Example
ClientIdentity client = new ClientIdentity();
client.ClientID = new GUID("9DC6AA95-856B-42C9-8AAF-392A2A02AC77");
client.Username = "sampleusername";
client.Password = "samplepassword";
client.StoreID = -1;
PurchaseOrderShipmentNotice shipmentNotice = new PurchaseOrderShipmentNotice();
shipmentNotice.PurchaseOrderID = new GUID(84DACFD3-4095-4D50-A02E-781B86B7408E);
shipmentNotice.ShipmentNumber = "SHIP001";
shipmentNotice.ProductItemID = 11142;
shipmentNotice.Quantity = 1;
shipmentNotice.SerialNumber = {"97000012"};
shipmentNotice.VendorSKU = "ABC123";
shipmentNotice.VendorInvoiceNumber = "1002";
shipmentNotice.RQPurchaseOrderID = "22073";
PurchaseOrderShipmentNotice snReturn = cmiService.CreatePurchaseOrderShipmentNotice(client, new[] { shipmentNotice });
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>97000012</string>
</SerialNumbers>
<ShipmentNumber>SHIP001</ShipmentNumber>
<VendorInvoiceNumber>1002</VendorInvoiceNumber>
<VendorSKU>ABC123</VendorSKU>
</PurchaseOrderShipmentNotice>
</CreatePurchaseOrderShipmentNoticeResult>
</CreatePurchaseOrderShipmentNoticeResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
CreatePurchaseOrderShipmentNotice
( Required) -
client
( Required) -
ClientID
( Required) - Client specific identifier supplied by iQmetrix -
Username
( Required) - Client specific username supplied by iQmetrix -
Password
( Required) - Client specific password supplied by iQmetrix -
StoreId
( Required) - If provided, this value should be -1, which denotes all stores -
notice
( Required) -
PurchaseOrderShipmentNotice
( Required) -
Quantity
( Required) - Number of items shipped -
RQPurchaseOrderID
( Required) - Identifier for the Purchase Order in RQ -
SerialNumbers
( Required) - Serial numbers. Must match Quantity -
VendorInvoiceNumber
( Required) - Either this value OR PurchaseOrderID must be provided -
PurchaseOrderID
(Optional) - Either this value or VendorInvoiceNumber must be provided, does not allow null -
ProductItemID
(Optional) - Either this value or VendorSKU must be provided -
ShipmentNumber
(Optional) - If this value is not provided, the service will automatically assign one -
VendorSKU
(Optional) - Either this value or ProductItemId must be provided
Creating a Purchase Order
Notes
- Creating a Purchase Order allows RQ to properly account for products arriving at a store so that stock levels are updated correctly
- Each item must be unique
- To place multiple copies of an item on an order, adjust the quantity
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">
<client>
<ClientID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</ClientID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<StoreId>-1</StoreId>
</client>
<vendorId>f8c68dc5-7417-4e4d-b17c-42838660772a</vendorId>
<PurchaseOrder>
<PurchaseOrderID>28890F70-8FC9-4A9B-9458-410A8D08502D</PurchaseOrderID>
<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>563783</VendorInvoiceNumber>
</PurchaseOrderData>
<ProductsOrdered>
<ProductInformation>
<ProductID>86EE477F-C6B7-48FA-AA0A-105662D9A3ED</ProductID>
<ProductName>Samsung Galaxy S6</ProductName>
<DateEOL>1/01/2016 12:00:00 AM</DateEOL>
<DateReceived>01/21/2016 16:58:23</DateReceived>
<Enabled>true</Enabled>
<MaximumLevel>100</MaximumLevel>
<MinimumLevel>10</MinimumLevel>
<ProductCost>99.99</ProductCost>
<ProductItemID>11142</ProductItemID>
<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>
<VendorSKU>SSGS5CB</VendorSKU>
</ProductInformation>
</ProductsOrdered>
</PurchaseOrder>
</CreatePurchaseOrder>
</soap:Body>
</soap:Envelope>
Code Example
ClientIdentity client = new ClientIdentity();
client.ClientID = new GUID("9DC6AA95-856B-42C9-8AAF-392A2A02AC77");
client.Username = "sampleusername";
client.Password = "samplepassword";
client.StoreID = -1;
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(84DACFD3-4095-4D50-A02E-781B86B7408E);
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 = cmiService.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>563783</VendorInvoiceNumber>
<VendorName>SampleVendor</VendorName>
</PurchaseOrderData>
<ProductsOrdered>
<ProductInformation>
<ProductID>86EE477F-C6B7-48FA-AA0A-105662D9A3ED</ProductID>
<ProductName>Samsung Galaxy S6</ProductName>
<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>
<GrossQuantitySold>-1</GrossQuantitySold>
<GrossQuantityReturned>-1</GrossQuantityReturned>
<MaximumLevel>100</MaximumLevel>
<MinimumLevel>10</MinimumLevel>
<MinMaxLocked>false</MinMaxLocked>
<ProductCost>99.99</ProductCost>
<ProductItemID>11142</ProductItemID>
<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>
<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) -
client
( Required) -
ClientID
( Required) - Client specific identifier supplied by iQmetrix -
Username
( Required) - Client specific username supplied by iQmetrix -
Password
( Required) - Client specific password supplied by iQmetrix -
StoreId
( Required) - If provided, this value should be -1, which denotes all stores -
vendorId
( Required) - Vendor identifier, this value is provided by iQmetrix and comes from the VMI database. Each vendor must be configured in RQ in Settings under 'Vendor Replenishment Setup' -
PurchaseOrder
( Required) -
PurchaseOrderID
( Required) - Generate a new GUID or use 00000000-0000-0000-0000-000000000000, does not allow null -
PurchaseOrderData
( Required) -
BillToStoreID
( Required) - Defaults to -1. Either this value or BillToVendorAccountNumber must be supplied -
EstimatedArrivalDate
( Required) -
ShipToStoreID
( Required) - Defaults to -1 -
VendorInvoiceNumber
( Required) -
CreatedByVMI
(Optional) - defaults to false -
CreatedDate
(Optional) -
Comments
(Optional) -
OrderTotal
(Optional) - Defaults to -1 -
ShippingTotal
(Optional) - Defaults to -1 -
ProductsOrdered
( Required) -
ProductInformation
( Required) -
QuantityOrdered
( Required) -
VendorSKU
( Required) -
ProductID
(Optional) -
ProductName
(Optional) -
DateEOL
(Optional) -
DateReceived
(Optional) -
Enabled
(Optional) -
MaximumLevel
(Optional) - defaults to -1 -
MinimumLevel
(Optional) - defaults to -1 -
ProductCost
(Optional) - defaults to -1 -
ProductItemID
(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
Creating an Uncommitted Purchase Order
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">
<client>
<ClientID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</ClientID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<StoreId>-1</StoreId>
</client>
<vendorId>f8c68dc5-7417-4e4d-b17c-42838660772a</vendorId>
<purchaseOrder>
<PurchaseOrderID>28890F70-8FC9-4A9B-9458-410A8D08502D</PurchaseOrderID>
<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>563783</VendorInvoiceNumber>
</PurchaseOrderData>
<ProductsOrdered>
<ProductInformation>
<ProductID>86EE477F-C6B7-48FA-AA0A-105662D9A3ED</ProductID>
<ProductName>Samsung Galaxy S6</ProductName>
<DateEOL>1/01/2016 12:00:00 AM</DateEOL>
<DateReceived>01/21/2016 16:58:23</DateReceived>
<Enabled>true</Enabled>
<MaximumLevel>100</MaximumLevel>
<MinimumLevel>10</MinimumLevel>
<ProductCost>99.99</ProductCost>
<ProductItemID>11142</ProductItemID>
<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>
<VendorSKU>SSGS5CB</VendorSKU>
</ProductInformation>
</ProductsOrdered>
</purchaseOrder>
</CreateUncommittedPurchaseOrder>
</soap:Body>
</soap:Envelope>
Code Example
ClientIdentity client = new ClientIdentity();
client.ClientID = new GUID("9DC6AA95-856B-42C9-8AAF-392A2A02AC77");
client.Username = "sampleusername";
client.Password = "samplepassword";
client.StoreID = -1;
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(84DACFD3-4095-4D50-A02E-781B86B7408E);
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 = cmiService.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>563783</VendorInvoiceNumber>
<VendorName>SampleVendor</VendorName>
</PurchaseOrderData>
<ProductsOrdered>
<ProductInformation>
<ProductID>86EE477F-C6B7-48FA-AA0A-105662D9A3ED</ProductID>
<ProductName>Samsung Galaxy S6</ProductName>
<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>
<GrossQuantitySold>-1</GrossQuantitySold>
<GrossQuantityReturned>-1</GrossQuantityReturned>
<MaximumLevel>100</MaximumLevel>
<MinimumLevel>10</MinimumLevel>
<MinMaxLocked>false</MinMaxLocked>
<ProductCost>99.99</ProductCost>
<ProductItemID>11142</ProductItemID>
<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>
<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) -
client
( Required) -
ClientID
( Required) - Client specific identifier supplied by iQmetrix -
Username
( Required) - Client specific username supplied by iQmetrix -
Password
( Required) - Client specific password supplied by iQmetrix -
StoreId
( Required) - If provided, this value should be -1, which denotes all stores -
vendorId
( Required) - Vendor identifier, this value is provided by iQmetrix and comes from the VMI database. Each vendor must be configured in RQ in Settings under 'Vendor Replenishment Setup' -
purchaseOrder
(Optional) -
PurchaseOrderID
( Required) - Generate a new GUID or use 00000000-0000-0000-0000-000000000000, does not allow null -
PurchaseOrderData
( Required) -
BillToStoreID
( Required) - Defaults to -1. Either this value or BillToVendorAccountNumber must be supplied -
EstimatedArrivalDate
( Required) -
ShipToStoreID
( Required) - Defaults to -1 -
VendorInvoiceNumber
( Required) -
CreatedByVMI
(Optional) - defaults to false -
CreatedDate
(Optional) -
Comments
(Optional) -
OrderTotal
(Optional) - Defaults to -1 -
ShippingTotal
(Optional) - Defaults to -1 -
ProductsOrdered
( Required) -
ProductInformation
( Required) -
QuantityOrdered
( Required) -
VendorSKU
( Required) -
ProductID
(Optional) -
ProductName
(Optional) -
DateEOL
(Optional) -
DateReceived
(Optional) -
Enabled
(Optional) -
MaximumLevel
(Optional) - defaults to -1 -
MinimumLevel
(Optional) - defaults to -1 -
ProductCost
(Optional) - defaults to -1 -
ProductItemID
(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
Update Purchase Order Status
Notes
- Use this method to change the status of a purchase order
- Requires RQ version 6.9 or higher
- If the purchase order is already marked as complete, no updates are allowed
- If the Purchase Order is committed, you can update the status to Uncommit or Completed
- If the Purchase Order is uncommitted, you can update the status to Committed
- If the Purchase Order is PartiallyReceived, you can update the status to Completed
Definition
POST /?op=UpdatePurchaseOrderStatus
Example Request
<?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>
<UpdatePurchaseOrderStatus xmlns="http://www.iqmetrix.com">
<client>
<ClientID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</ClientID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<StoreId>-1</StoreId>
</client>
<RetailiQPurchaseOrderID>16931</RetailiQPurchaseOrderID>
<status>Completed</status>
</UpdatePurchaseOrderStatus>
</soap:Body>
</soap:Envelope>
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>
<UpdatePurchaseOrderStatusResponse xmlns="http://www.iqmetrix.com">
<UpdatePurchaseOrderStatusResult>
<RetailiQPurchaseOrderID>16931</RetailiQPurchaseOrderID>
<Status>Completed</Status>
</UpdatePurchaseOrderStatusResult>
</UpdatePurchaseOrderStatusResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
UpdatePurchaseOrderStatus
( Required) -
client
( Required) -
ClientID
( Required) - Client specific identifier supplied by iQmetrix -
Username
( Required) - Client specific username supplied by iQmetrix -
Password
( Required) - Client specific password supplied by iQmetrix -
StoreId
( Required) - If provided, this value should be -1, which denotes all stores -
RetailiQPurchaseOrderID>
( Required) - The identifier of the purchase order in RQ. -
Status
( Required ) One of Uncommitted, Committed, PartiallyReceived, or Committed
Updating Comments for a Purchase Order
Definition
POST /?op=UpdatePurchaseOrderComments
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>
<UpdatePurchaseOrderComments
xmlns="http://www.iqmetrix.com">
<client>
<ClientID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</ClientID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<StoreId>-1</StoreId>
</client>
<RetailiQPurchaseOrderID>22075</RetailiQPurchaseOrderID>
<comments>Complete</comments>
</UpdatePurchaseOrderComments>
</soap:Body>
</soap:Envelope>
Code Example
ClientIdentity client = new ClientIdentity();
client.ClientID = new GUID("9DC6AA95-856B-42C9-8AAF-392A2A02AC77");
client.Username = "sampleusername";
client.Password = "samplepassword";
//UpdatePurchaseOrderComments is a void call
cmiService.UpdatePurchaseOrderComments(client, null, poId, null, comments);
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>
<UpdatePurchaseOrderCommentsResponse xmlns="http://www.iqmetrix.com" />
</soap:Body>
</soap:Envelope>
Request Parameters
-
UpdatePurchaseOrderComments
( Required) -
client
( Required) -
ClientID
( Required) - Client specific identifier supplied by iQmetrix -
Username
( Required) - Client specific username supplied by iQmetrix -
Password
( Required) - Client specific password supplied by iQmetrix -
StoreId
( Required) - If provided, this value should be -1, which denotes all stores -
purchaseOrderID
(Optional) - Identifier of a PO, either this value, referenceNumber or RetailiQPurchaseOrderID must be provided -
RetailiQPurchaseOrderID
(Optional) - Identifier of purchase order in RQ, either this value, referenceNumber or purchaseOrderID must be provided. If the PO was created from RQ, this value is required -
referenceNumber
(Optional) - Identifier of vendor purchase order in RQ, either this value, RetailiQPurchaseOrderID or PurchaseOrderID must be provided -
comments
(Optional)
Updating the Location for a Purchase Order
Definition
POST /?op=UpdateSalesAndPurchaseOrderLocation
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>
<UpdateSalesAndPurchaseOrderLocation
xmlns="http://www.iqmetrix.com">
<client>
<ClientID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</ClientID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<StoreId>-1</StoreId>
</client>
<RetailiQPurchaseOrderID>22075</RetailiQPurchaseOrderID>
<shipToStoreId>4</shipToStoreId>
</UpdateSalesAndPurchaseOrderLocation>
</soap:Body>
</soap:Envelope>
Code Example
ClientIdentity client = new ClientIdentity();
client.ClientID = new GUID("9DC6AA95-856B-42C9-8AAF-392A2A02AC77");
client.Username = "sampleusername";
client.Password = "samplepassword";
//UpdateSalesAndPurchaseOrderLocation is a void call
cmiService.UpdateSalesAndPurchaseOrderLocation(client, null, poId, null, 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>
<UpdateSalesAndPurchaseOrderLocationResponse xmlns="http://www.iqmetrix.com">
<UpdateSalesAndPurchaseOrderLocationResult>true</UpdateSalesAndPurchaseOrderLocationResult>
</UpdateSalesAndPurchaseOrderLocationResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
UpdateSalesAndPurchaseOrderLocation
( Required) -
client
( Required) -
ClientID
( Required) - Client specific identifier supplied by iQmetrix -
Username
( Required) - Client specific username supplied by iQmetrix -
Password
( Required) - Client specific password supplied by iQmetrix -
StoreId
( Required) - If provided, this value should be -1, which denotes all stores -
shipToStoreId
( Required) - Identifier for a store in RQ -
purchaseOrderID
(Optional) - Identifier of a PO, either this value, referenceNumber or RetailiQPurchaseOrderID must be provided -
RetailiQPurchaseOrderID
(Optional) - Identifier of purchase order in RQ, either this value, referenceNumber or purchaseOrderID must be provided. If the PO was created from RQ, this value is required -
referenceNumber
(Optional) - Identifier of vendor purchase order in RQ, either this value, RetailiQPurchaseOrderID or purchaseOrderID must be provided
Add a Product to a Purchase Order
Use this method to add a single product to a purchase order.
Notes
- Requires RQ version 6.9 or higher
- Only the affected product needs to be sent in the request
- Updates cannot be made to a purchase order with a status of Complete
- The product must be unique to the purchase order
Definition
POST /?op=AddPurchaseOrderProduct
Example Request
<?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>
<RemovePurchaseOrderProduct xmlns="http://www.iqmetrix.com">
<client>
<ClientID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</ClientID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<StoreId>-1</StoreId>
</client>
<RetailiQPurchaseOrderID>16931</RetailiQPurchaseOrderID>
<productIdentifier>CECPSM000017</productIdentifier>
<cost>9.99</cost>
<quantity>1</quantity>
</AddPurchaseOrderProduct>
</soap:Body>
</soap:Envelope>
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>
<AddPurchaseOrderProductResponse xmlns="http://www.iqmetrix.com">
<AddPurchaseOrderProductResult>
<RetailiQPurchaseOrderID>16931</RetailiQPurchaseOrderID>
<ProductIdentifier>CECPSM000017</ProductIdentifier>
<cost>9.99</cost>
<quantity>false</quantity>
</AddPurchaseOrderProductResult>
</AddPurchaseOrderProductResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
RemovePurchaseOrderProduct
( Required) -
client
( Required) -
ClientID
( Required) - Client specific identifier supplied by iQmetrix -
Username
( Required) - Client specific username supplied by iQmetrix -
Password
( Required) - Client specific password supplied by iQmetrix -
StoreId
( Required) - If provided, this value should be -1, which denotes all stores -
RetailiQPurchaseOrderID>
( Required) - The identifier of the purchase order in RQ. -
productIdentifier
( Required) - The product SKU in RQ. -
cost
( Required) - Decimal. The cost of the product. -
quantity
( Required) - The number of items in the purchase order.
Change the Cost or Quantity of a Product
Use this method to modify the cost and/or quantity of a single product in a purchase order.
Notes
- Requires RQ version 6.9 or higher.
- Only the affected product needs to be sent in the request
- This call will allow an update to the cost and/or quanty of any unshipped items
- Quantity must be greater than or equal to 1
- Cost must be greater than or equal to $0.00
Definition
POST /?op=UpdatePurchaseOrderProduct
Example Request
<?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>
<UpdatePurchaseOrderProduct xmlns="http://www.iqmetrix.com">
<client>
<ClientID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</ClientID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<StoreId>-1</StoreId>
</client>
<RetailiQPurchaseOrderID>16931</RetailiQPurchaseOrderID>
<productIdentifier>CECPSM000017</productIdentifier>
<cost>9.99</cost>
<quantity>1</quantity>
</UpdatePurchaseOrderProduct>
</soap:Body>
</soap:Envelope>
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>
<UpdatePurchaseOrderProductResponse xmlns="http://www.iqmetrix.com">
<UpdatePurchaseOrderProductResult>
<RetailiQPurchaseOrderID>16931</RetailiQPurchaseOrderID>
<ProductIdentifier>CECPSM000017</ProductIdentifier>
<Cost>9.99</Cost>
<Quantity>1</Quantity>
</UpdatePurchaseOrderProductResult>
</UpdatePurchaseOrderProductResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
RemovePurchaseOrderProduct
( Required) -
client
( Required) -
ClientID
( Required) - Client specific identifier supplied by iQmetrix -
Username
( Required) - Client specific username supplied by iQmetrix -
Password
( Required) - Client specific password supplied by iQmetrix -
StoreId
( Required) - If provided, this value should be -1, which denotes all stores -
RetailiQPurchaseOrderID>
( Required) - The identifier of the purchase order in RQ. -
productIdentifier
( Required) - The product SKU in RQ. -
cost
( Required) - Decimal. The cost of the product. -
quantity
( Required) - The number of items in the purchase order.
Remove a Product from a Purchase Order
Use this method to remove a single product from a purchase order.
Notes
- Requires RQ version 6.9 or higher
- Only the affected product needs to be sent in the request
- A product cannot be removed if it is on a shipping notice or has receiving history
- A user will also be provided with the option to “Approve to Delete” through this call. Delete is only allowed when the product being removed is the only item on the PO, AND when the purchase order has a status of Uncommitted or Committed. Otherwise, the product is removed as requested, but the purchase order is not deleted.
- A user will also be provided with the option to “Approve to Complete” through this call. Setting the purchse order to complete is only allowed if the product being removed is the only unreceived product.
- A product cannot be removed if it is the only product on the purchase order but a request to “Approve to Delete” is not made.
Definition
POST /?op=RemovePurchaseOrderProduct
Example Request
<?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>
<RemovePurchaseOrderProduct xmlns="http://www.iqmetrix.com">
<client>
<ClientID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</ClientID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<StoreId>-1</StoreId>
</client>
<RetailiQPurchaseOrderID>16931</RetailiQPurchaseOrderID>
<productIdentifier>CECPSM000017</productIdentifier>
<approvedToDelete>false</approvedToDelete>
<approvedToComplete>false</approvedToComplete>
</RemovePurchaseOrderProduct>
</soap:Body>
</soap:Envelope>
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>
<RemovePurchaseOrderProductResponse xmlns="http://www.iqmetrix.com">
<RemovePurchaseOrderProductResult>
<RetailiQPurchaseOrderID>16931</RetailiQPurchaseOrderID>
<ProductIdentifier>CECPSM000017</ProductIdentifier>
<ApprovedToDelete>false</ApprovedToDelete>
<ApprovedToComplete>false</ApprovedToComplete>
</RemovePurchaseOrderProductResult>
</RemovePurchaseOrderProductResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
RemovePurchaseOrderProduct
( Required) -
client
( Required) -
ClientID
( Required) - Client specific identifier supplied by iQmetrix -
Username
( Required) - Client specific username supplied by iQmetrix -
Password
( Required) - Client specific password supplied by iQmetrix -
StoreId
( Required) - If provided, this value should be -1, which denotes all stores -
RetailiQPurchaseOrderID>
( Required) - The identifier of the purchase order in RQ. -
productIdentifier
( Required) - The product SKU in RQ. -
ApprovedToDelete
( Optional ) - Boolean. true means the purchase order should be deleted if this product is the last product in the order. false means it should not be deleted. -
ApprovedToComplete
( Optional ) - Boolean. true means the status of the purchase order should be set to Complete if this product is the last unreceived product in the order. false means it should not be set to Complete.
Delete a Purchase Order
Use this method to delete a purchase order that has no receiving history.
Notes
- Requires RQ version 6.9 or higher
- Users will provide the RetailiQPurchaseOrderID as the identifier
- The purchase order cannot be deleted if products have been shipped or received
Definition
POST /?op=DeletePurchaseOrder
Example Request
<?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>
<DeletePurchaseOrder xmlns="http://www.iqmetrix.com">
<client>
<ClientID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</ClientID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<StoreId>-1</StoreId>
</client>
<RetailiQPurchaseOrderID>16931</RetailiQPurchaseOrderID>
</DeletePurchaseOrder>
</soap:Body>
</soap:Envelope>
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>
<DeletePurchaseOrderResponse xmlns="http://www.iqmetrix.com">
<DeletePurchaseOrderResult>
<RetailiQPurchaseOrderID>16931</RetailiQPurchaseOrderID>
</DeletePurchaseOrderResult>
</DeletePurchaseOrderResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
DeletePurchaseOrder
( Required) -
client
( Required) -
ClientID
( Required) - Client specific identifier supplied by iQmetrix -
Username
( Required) - Client specific username supplied by iQmetrix -
Password
( Required) - Client specific password supplied by iQmetrix -
StoreId
( Required) - If provided, this value should be -1, which denotes all stores -
RetailiQPurchaseOrderID
( Required) - The identifier of the purchase order in RQ.
Getting Purchase Orders By Status
This method will return all purchase orders in the client database that match the provided status criteria, including those that were not created through the CMI API.
Therefore, if a dealer creates a Purchase Order within RQ, it will be available in this list.
Definition
POST /?op=GetPurchaseOrdersByStatus
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>
<GetPurchaseOrdersByStatus
xmlns="http://www.iqmetrix.com">
<client>
<ClientID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</ClientID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<StoreId>-1</StoreId>
</client>
<isCommitted>true</isCommitted>
<isCompleted>true</isCompleted>
<startDate>2015-01-01T12:00:00.000</startDate>
<endDate>2015-01-30T12:00:00.000</endDate>
</GetPurchaseOrdersByStatus>
</soap:Body>
</soap:Envelope>
Code Example
ClientIdentity client = new ClientIdentity();
client.ClientID = new GUID("9DC6AA95-856B-42C9-8AAF-392A2A02AC77");
client.Username = "sampleusername";
client.Password = "samplepassword";
boolean isCommitted = true;
boolean isCompleted = true;
DateTime startDate = new DateTime("2015-01-01T12:00:00.000");
DateTime endDate = new DateTime("2015-01-30T12:00:00.000");
PurchaseOrderInformation[] pos = cmiService.GetPurchaseOrderByStatus(client, isCommitted, isCompleted, 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>
<GetPurchaseOrdersByStatusResponse
xmlns="http://www.iqmetrix.com">
<GetPurchaseOrdersByStatusResult>
<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>563783</VendorInvoiceNumber>
<VendorName>SampleVendor</VendorName>
</PurchaseOrderData>
<ProductsOrdered>
<ProductInformation>
<ProductID>86EE477F-C6B7-48FA-AA0A-105662D9A3ED</ProductID>
<ProductName>Samsung Galaxy S6</ProductName>
<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>
<GrossQuantitySold>-1</GrossQuantitySold>
<GrossQuantityReturned>-1</GrossQuantityReturned>
<MaximumLevel>100</MaximumLevel>
<MinimumLevel>10</MinimumLevel>
<MinMaxLocked>false</MinMaxLocked>
<ProductCost>99.99</ProductCost>
<ProductItemID>11142</ProductItemID>
<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>
<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>
<ProductsReceived>
<ProductInformation>
<ProductID>86EE477F-C6B7-48FA-AA0A-105662D9A3ED</ProductID>
<ProductName>Samsung Galaxy S6</ProductName>
<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>
<GrossQuantitySold>-1</GrossQuantitySold>
<GrossQuantityReturned>-1</GrossQuantityReturned>
<MaximumLevel>100</MaximumLevel>
<MinimumLevel>10</MinimumLevel>
<MinMaxLocked>false</MinMaxLocked>
<ProductCost>99.99</ProductCost>
<ProductItemID>11142</ProductItemID>
<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>
<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>
</ProductsReceived>
<SerialsReceived>
<ProductSerialNumber>
<ProductItemID>11142</ProductItemID>
<DateReceived>3/11/2014 2:29:25 PM</DateReceived>
<NonSellable>true</NonSellable>
<SerialNumber>132456456456111</SerialNumber>
</ProductSerialNumber>
</SerialsReceived>
</PurchaseOrderInformation>
</GetPurchaseOrdersByStatusResult>
</GetPurchaseOrdersByStatusResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
GetPurchaseOrdersByStatus
( Required) -
client
( Required) -
ClientID
( Required) - Client specific identifier supplied by iQmetrix -
Username
( Required) - Client specific username supplied by iQmetrix -
Password
( Required) - Client specific password supplied by iQmetrix -
StoreId
( Required) - If provided, this value should be -1, which denotes all stores -
isCommitted
( Required) - Flag to indicate if committed or uncommitted purchase orders should be searched for -
isCompleted
( Required) - Flag to indicate if complete or incomplete purchase orders should be searched for -
startDate
( Required) - timestamp defaults to 12:00:00 AM, if not specified -
endDate
( Required) - timestamp defaults to 12:00:00 AM, if not specified
Getting Purchase Orders 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">
<client>
<ClientID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</ClientID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<StoreId>-1</StoreId>
</client>
<purchaseOrderReferenceNumber>77123</purchaseOrderReferenceNumber>
</GetPurchaseOrderByReferenceNumber>
</soap:Body>
</soap:Envelope>
Code Example
ClientIdentity client = new ClientIdentity();
client.ClientID = new GUID("9DC6AA95-856B-42C9-8AAF-392A2A02AC77");
client.Username = "sampleusername";
client.Password = "samplepassword";
string purchaseOrderReferenceNumber = "77123";
PurchaseOrderInformation pos = cmiService.GetPurchaseOrderByReferenceNumber(client, purchaseOrderReferenceNumber)
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>563783</VendorInvoiceNumber>
<VendorName>SampleVendor</VendorName>
</PurchaseOrderData>
<ProductsOrdered>
<ProductInformation>
<ProductID>86EE477F-C6B7-48FA-AA0A-105662D9A3ED</ProductID>
<ProductName>Samsung Galaxy S6</ProductName>
<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>
<GrossQuantitySold>-1</GrossQuantitySold>
<GrossQuantityReturned>-1</GrossQuantityReturned>
<MaximumLevel>100</MaximumLevel>
<MinimumLevel>10</MinimumLevel>
<MinMaxLocked>false</MinMaxLocked>
<ProductCost>99.99</ProductCost>
<ProductItemID>11142</ProductItemID>
<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>
<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>
<ProductsReceived>
<ProductInformation>
<ProductID>86EE477F-C6B7-48FA-AA0A-105662D9A3ED</ProductID>
<ProductName>Samsung Galaxy S6</ProductName>
<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>
<GrossQuantitySold>-1</GrossQuantitySold>
<GrossQuantityReturned>-1</GrossQuantityReturned>
<MaximumLevel>100</MaximumLevel>
<MinimumLevel>10</MinimumLevel>
<MinMaxLocked>false</MinMaxLocked>
<ProductCost>99.99</ProductCost>
<ProductItemID>11142</ProductItemID>
<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>
<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>
</ProductsReceived>
<SerialsReceived>
<ProductSerialNumber>
<ProductItemID>11142</ProductItemID>
<DateReceived>3/11/2014 2:29:25 PM</DateReceived>
<NonSellable>true</NonSellable>
<SerialNumber>132456456456111</SerialNumber>
</ProductSerialNumber>
</SerialsReceived>
</GetPurchaseOrderByReferenceNumberResult>
</GetPurchaseOrderByReferenceNumberResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
GetPurchaseOrderByReferenceNumber
( Required) -
client
( Required) -
ClientID
( Required) - Client specific identifier supplied by iQmetrix -
Username
( Required) - Client specific username supplied by iQmetrix -
Password
( Required) - Client specific password supplied by iQmetrix -
StoreId
( Required) - If provided, this value should be -1, which denotes all stores -
purchaseOrderReferenceNumber
(Optional) - Reference Number on the Purchase Order in RQ
Getting Client Purchase Orders by Business Key
This method allows you find a purchase order based on the RQ business key, the visual ID by store seen on RQ printouts.
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">
<client>
<ClientID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</ClientID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<StoreId>-1</StoreId>
</client>
<purchaseOrderIdByStore>123</purchaseOrderIdByStore>
</GetPurchaseOrderByBusinessID>
</soap:Body>
</soap:Envelope>
Code Example
ClientIdentity client = new ClientIdentity();
client.ClientID = new GUID("9DC6AA95-856B-42C9-8AAF-392A2A02AC77");
client.Username = "sampleusername";
client.Password = "samplepassword";
String businessKey = "123";
PurchaseOrderInformation[] pos = cmiService.GetPurchaseOrderByBusinessID(client, businessKey);
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>563783</VendorInvoiceNumber>
<VendorName>SampleVendor</VendorName>
</PurchaseOrderData>
<ProductsOrdered>
<ProductInformation>
<ProductID>86EE477F-C6B7-48FA-AA0A-105662D9A3ED</ProductID>
<ProductName>Samsung Galaxy S6</ProductName>
<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>
<GrossQuantitySold>-1</GrossQuantitySold>
<GrossQuantityReturned>-1</GrossQuantityReturned>
<MaximumLevel>100</MaximumLevel>
<MinimumLevel>10</MinimumLevel>
<MinMaxLocked>false</MinMaxLocked>
<ProductCost>99.99</ProductCost>
<ProductItemID>11142</ProductItemID>
<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>
<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>
<ProductsReceived>
<ProductInformation>
<ProductID>86EE477F-C6B7-48FA-AA0A-105662D9A3ED</ProductID>
<ProductName>Samsung Galaxy S6</ProductName>
<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>
<GrossQuantitySold>-1</GrossQuantitySold>
<GrossQuantityReturned>-1</GrossQuantityReturned>
<MaximumLevel>100</MaximumLevel>
<MinimumLevel>10</MinimumLevel>
<MinMaxLocked>false</MinMaxLocked>
<ProductCost>99.99</ProductCost>
<ProductItemID>11142</ProductItemID>
<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>
<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>
</ProductsReceived>
<SerialsReceived>
<ProductSerialNumber>
<ProductItemID>11142</ProductItemID>
<DateReceived>3/11/2014 2:29:25 PM</DateReceived>
<NonSellable>true</NonSellable>
<SerialNumber>132456456456111</SerialNumber>
</ProductSerialNumber>
</SerialsReceived>
</GetPurchaseOrderByBusinessIDResult>
</GetPurchaseOrderByBusinessIDResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
GetPurchaseOrderByBusinessID
( Required) -
client
( Required) -
ClientID
( Required) - Client specific identifier supplied by iQmetrix -
Username
( Required) - Client specific username supplied by iQmetrix -
Password
( Required) - Client specific password supplied by iQmetrix -
StoreId
( Required) - If provided, this value should be -1, which denotes all stores -
purchaseOrderIdByStore
( Required) - The business key of the purchase order in RQ
Getting Receiving Info
Allows you to retrieve a list of products 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">
<client>
<ClientID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</ClientID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<StoreId>-1</StoreId>
</client>
<StartDate>01/01/2016</StartDate>
<EndDate>05/25/2016</EndDate>
</GetReceivingInfo>
</soap:Body>
</soap:Envelope>
Code Example
ClientIdentity client = new ClientIdentity();
client.ClientID = new GUID("9DC6AA95-856B-42C9-8AAF-392A2A02AC77");
client.Username = "sampleusername";
client.Password = "samplepassword";
ReceivingInfo[] received = cmiService.GetReceivingInfo(client, 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>
<ProductItemID>11142</ProductItemID>
<ProductName>Samsung Galaxy S6</ProductName>
<ShipToStoreID>55</ShipToStoreID>
<ShipToStoreName>Cornwall west</ShipToStoreName>
<RQPurchaseOrderNumber>CORNWPO3550</RQPurchaseOrderNumber>
<VendorSKU>ABC123</VendorSKU>
<Quantity>1</Quantity>
<ProductCost>99.99</ProductCost>
<DateReceived>3/11/2014 2:29:25 PM</DateReceived>
<RQReceivingNumber>CORNWRE6055</RQReceivingNumber>
<SerialNumber>132456456456111</SerialNumber>
</ReceivingInfo>
</GetReceivingInfoResult>
</GetReceivingInfoResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
GetReceivingInfo
( Required) -
client
( Required) -
ClientID
( Required) - Client specific identifier supplied by iQmetrix -
Username
( Required) - Client specific username supplied by iQmetrix -
Password
( Required) - Client specific password supplied by iQmetrix -
StoreId
( Required) - If provided, this value should be -1, which denotes all stores -
StartDate
( Required) - Products received on or after this day at midnight will be searched for -
EndDate
( Required) - Products received up to the end of this day will be searched for
Getting All CMI 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">
<client>
<ClientID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</ClientID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<StoreId>-1</StoreId>
</client>
</GetStoreList>
</soap:Body>
</soap:Envelope>
Code Example
ClientIdentity client = new ClientIdentity();
client.ClientID = new GUID("9DC6AA95-856B-42C9-8AAF-392A2A02AC77");
client.Username = "sampleusername";
client.Password = "samplepassword";
StoreInformation[] stores = cmiService.GetStoreList(client);
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>
</StoreInformation>
<StoreInformation>
<StoreID>23</StoreID>
<Name>Cornwall East</Name>
<Abbreviation>CWE</Abbreviation>
<Address>213 9th 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>23/ShipToStoreID>
<BillToStoreID>23</BillToStoreID>
</StoreInformation>
</GetStoreListResult>
</GetStoreListResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
GetStoreList
( Required) -
client
( Required) -
ClientID
( Required) - Client specific identifier supplied by iQmetrix -
Username
( Required) - Client specific username supplied by iQmetrix -
Password
( Required) - Client specific password supplied by iQmetrix -
StoreId
( Required) - If provided, this value should be -1, which denotes all stores
Getting Store Information
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">
<client>
<ClientID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</ClientID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<StoreId>-1</StoreId>
</client>
<storeId>4</storeId>
</GetStoreInformation>
</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>
<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>
</StoreInformation>
<Success>false</Success>
<Error>
<Message>Error Messag</Message>
<TimestampUTC>3/16/2014 12:00:00 AM</TimestampUTC>
</Error>
</GetStoreInformationResult>
</GetStoreInformationResponse >
</soap:Body>
</soap:Envelope>
Request Parameters
-
GetStoreInformation
( Required) -
client
( Required) -
ClientID
( Required) - Client specific identifier supplied by iQmetrix -
Username
( Required) - Client specific username supplied by iQmetrix -
Password
( Required) - Client specific password supplied by iQmetrix -
StoreId
( Required) - If provided, this value should be -1, which denotes all stores -
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 a List of Vendors
Definition
POST /?op=GetVendors
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>
<GetVendors
xmlns="http://www.iqmetrix.com">
<client>
<ClientID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</ClientID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<StoreId>-1</StoreId>
</client>
</GetVendors>
</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>
<GetVendorsResponse
xmlns="http://www.iqmetrix.com">
<GetVendorsResult>
<RQVendor>
<ID>009E800D-10ED-4F4A-B86F-DFB3C2A18C09</ID>
<Name>KENTE</Name>
</RQVendor>
</GetVendorsResult>
</GetVendorsResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
GetVendors
( Required) -
GetVendors
( Required) -
client
( Required) -
ClientID
( Required) - Client specific identifier supplied by iQmetrix -
Username
( Required) - Client specific username supplied by iQmetrix -
Password
( Required) - Client specific password supplied by iQmetrix -
StoreId
( Required) - If provided, this value should be -1, which denotes all stores
Updating a Purchase Order
Notes:
- The only updatable fields for the purchase order are VendorInvoiceNumber, Comments, and EstimatedArrivalDate
- Products can be updated. If you do not wish to change products, leave the products collection empty
- To 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, except for the VendorInvoiceNumber, Comments, and EstimatedArrivalDate
- 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">
<client>
<ClientID>9DC6AA95-856B-42C9-8AAF-392A2A02AC77</ClientID>
<Username>sampleusername</Username>
<Password>samplepassword</Password>
<StoreId>-1</StoreId>
</client>
<purchaseOrder>
<PurchaseOrderID>28890F70-8FC9-4A9B-9458-410A8D08502D</PurchaseOrderID>
<PurchaseOrderData>
<RetailiQPurchaseOrderID>22075</RetailiQPurchaseOrderID>
<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>
<RetailiQPurchaseOrderNumber>DALEKPO5</RetailiQPurchaseOrderNumber>
<ShippingTotal>99.99</ShippingTotal>
<ShipToStoreID>55</ShipToStoreID>
<ShipToStoreName>Cornwall west</ShipToStoreName>
<ShipToVendorAccountNumber>1</ShipToVendorAccountNumber>
<VendorInvoiceNumber>563783</VendorInvoiceNumber>
<VendorName>SampleVendor</VendorName>
</PurchaseOrderData>
<ProductsOrdered>
<ProductInformation>
<ProductID>86EE477F-C6B7-48FA-AA0A-105662D9A3ED</ProductID>
<ProductName>Samsung Galaxy S6</ProductName>
<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>
<GrossQuantitySold>-1</GrossQuantitySold>
<GrossQuantityReturned>-1</GrossQuantityReturned>
<MaximumLevel>100</MaximumLevel>
<MinimumLevel>10</MinimumLevel>
<MinMaxLocked>false</MinMaxLocked>
<ProductCost>99.99</ProductCost>
<ProductItemID>11142</ProductItemID>
<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>
<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>
</purchaseOrder>
</UpdatePurchaseOrder>
</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>
<UpdatePurchaseOrderResponse xmlns="http://www.iqmetrix.com">
<UpdatePurchaseOrderResult>true</UpdatePurchaseOrderResult>
</UpdatePurchaseOrderResponse>
</soap:Body>
</soap:Envelope>
Request Parameters
-
UpdatePurchaseOrder
( Required) -
client
( Required) - case-sensitive -
ClientID
( Required) - Client specific identifier supplied by iQmetrix -
Username
( Required) - Client specific username supplied by iQmetrix -
Password
( Required) - Client specific password supplied by iQmetrix -
StoreId
( Required) - If provided, this value should be -1, which denotes all stores -
purchaseOrder
( Required) - The PurchaseOrder -
PurchaseOrderData
( Required) - Only three fields can be edited, as noted below. Required fields are used to look up data and are read-only when using this request -
RetailiQPurchaseOrderID
( Required) - Identifier of purchase order in RQ -
BillToStoreID
( Required) -
EstimatedArrivalDate
( Required) - Can be edited -
ShipToStoreID
( Required) -
VendorInvoiceNumber
( Required) - Can be edited -
CreatedByVMI
(Optional) -
CreatedDate
(Optional) -
Comments
(Optional) - Can be edited -
OrderTotal
(Optional) -
ShippingTotal
(Optional) -
PurchaseOrderID
(Optional) - Identifier for the PurchaseOrder -
ProductsOrdered
(Optional) - To change any product you must include all products on the PO in the request. If you do not wish to update products, leave this collection empty -
ProductInformation
( Required) -
QuantityOrdered
( Required) -
VendorSKU
( Required) -
ProductID
(Optional) -
ProductName
(Optional) -
DateEOL
(Optional) -
DateReceived
(Optional) -
Enabled
(Optional) -
MaximumLevel
(Optional) - defaults to -1 -
MinimumLevel
(Optional) - defaults to -1 -
ProductCost
(Optional) - defaults to -1 -
ProductItemID
(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
ERRORS
All CMI API errors are reported using an HTTP 500 (Internal Server Error) error code. Use the description to determine what error has occurred.
Description | Resolution |
---|---|
Found Purchase orders for StoreID [x] by VendorInvoiceNumber [y] |
Ensure VendorInvoiceNumber is unique. |
ShipToStoreID must be > 0 or ShipToVendorAccountNumber must be supplied |
Ensure one of ShipToStoreID or ShipToVendorAccountNumber is provided. |
BillToStoreID must be > 0 or BillToVendorAccountNumber must be supplied |
Ensure one of BillToStoreID or BillToVendorAccountNumber is provided. |
Existing Purchase order has been found with Purchase Order ID [x] |
Omit PurchaseOrderID from request body or ensure it is unique. |
Could not find product by VendorSKU [x]... |
Ensure the VendorID in the request is not the Primary Vendor for the location for the product. |
Product is missing VendorSKU |
Ensure All PO items have a VendorSKU. |
There is no company configuration |
Email apisupport [at] iqmetrix [dot] com to change the CMI endpoint in RQ. |
A DeletePurchaseOrder operation can produce the errors shown below.
Description |
---|
You cannot delete Purchase Order {purchaseOrderId} because it is marked as completed. |
You cannot delete Purchase Order {purchaseOrderId} because it is a Partially Received Purchase Order. |
You cannot delete Purchase Order {purchaseOrderId} because some of the items are on Shipment Notices. |
An UpdatePurchaseOrderProduct operation can produce the errors shown below.
Description |
---|
You cannot update products because {purchaseOrderId} is marked as a completed Purchase Order. |
You cannot update products because {purchaseOrderId} is marked as a completed Purchase Order. The product {productIdentifier} was not found on Purchase Order {purchaseOrderId}. |
You cannot edit the quantity to be {quantity} because at least {X} products have already been shipped and/or received. |
An AddPurchaseOrderProduct operation can produce the errors shown below.
Description |
---|
You cannot add products because {purchaseOrderId} is marked as a completed Purchase Order. |
You cannot add product {productIdentifier} because it already exists on Purchase Order {purchaseOrderId}. |
Product SKU {productIdentifier} is not carried by this vendor. |
A RemovePurchaseOrderProduct operation can produce the errors shown below.
Description |
---|
You cannot remove products because {purchaseOrderId} is marked as a completed Purchase Order. |
You cannot remove the only product from the Purchase Order without also deleting the Purchase Order. Please delete the Purchase Order {purchaseOrderId}. |
The product {productIdentifier} was not found on Purchase Order {purchaseOrderId}. |
You cannot remove product {productIdentifier} from the Purchase Order {purchaseOrderId} because at least some of the product has been shipped and/or received. |
The product {productIdentifier} can be removed, but Purchase Order {purchaseOrderId} cannot be deleted because some products are not fully received yet. |
The product {productIdentifier} can be removed, but Purchase Order {purchaseOrderId} cannot be deleted because some products have not been received yet. |
The product {productIdentifier} can be removed, but Purchase Order {purchaseOrderId} cannot be completed because the purchase order is in an uncommitted state. |
The product {productIdentifier} can be removed, but Purchase Order {purchaseOrderId} cannot be completed because some products are not fully received yet. |
The product {productIdentifier} can be removed, but Purchase Order {purchaseOrderId} cannot be completed because some products have not been received yet. |