API Documentation

In-depth reference documentation for iQmetrix API's.

NAV

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 is a legacy SOAP API and uses a different authentication method than other iQmetrix APIs do. Authentication is environment-specific.

The CMI API can be used to:

To learn more about CMI, see CMI Guide.

ENDPOINTS

You should choose a production endpoint that is geographically closest to your data center.

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

This request accepts an array of PurchaseOrderShipmentNotices, so you do not need to call the CMI service multiple times for products in an order

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

Creating a Purchase Order

Notes

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

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

Update Purchase Order Status

Notes

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

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

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

Add a Product to a Purchase Order

Use this method to add a single product to a purchase order.

Notes

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

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

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

Remove a Product from a Purchase Order

Use this method to remove a single product from a purchase order.

Notes

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

Delete a Purchase Order

Use this method to delete a purchase order that has no receiving history.

Notes

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

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

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

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

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

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

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

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

Updating a Purchase Order

Notes:

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

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.
C#