API Documentation

In-depth reference documentation for iQmetrix API's.

NAV

OVERVIEW

The CMI API is a legacy SOAP API and uses different Authentication then other iQmetrix APIs

The Customer Managed Inventory (CMI) API can be used to:

To learn more about CMI, see CMI Guide.

ENDPOINTS

ClientIdentity authentication information is Environment specific
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 stauts 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

REQUESTS

POST 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="http://schemas.xmlsoap.org/soap/envelope/" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:xsd="http://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="http://schemas.xmlsoap.org/soap/envelope/" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:xsd="http://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

POST a Purchase Order

Notes

Definition

POST /?op=CreatePurchaseOrder

Example Request

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope 
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:xsd="http://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="http://schemas.xmlsoap.org/soap/envelope/" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:xsd="http://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

POST an Uncommitted Purchase Order

Definition

POST /?op=CreateUncommittedPurchaseOrder

Example Request

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope 
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:xsd="http://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="http://schemas.xmlsoap.org/soap/envelope/" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:xsd="http://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

PUT Comments for a Purchase Order

Definition

POST /?op=UpdatePurchaseOrderComments

Example Request

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope 
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:xsd="http://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="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <UpdatePurchaseOrderCommentsResponse xmlns="http://www.iqmetrix.com" />
  </soap:Body>
</soap:Envelope>    

Request Parameters

PUT the Location for a Purchase Order

Definition

POST /?op=UpdateSalesAndPurchaseOrderLocation

Example Request

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope 
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:xsd="http://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="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <UpdateSalesAndPurchaseOrderLocationResponse xmlns="http://www.iqmetrix.com">
      <UpdateSalesAndPurchaseOrderLocationResult>true</UpdateSalesAndPurchaseOrderLocationResult>
    </UpdateSalesAndPurchaseOrderLocationResponse>
  </soap:Body>
</soap:Envelope>

Request Parameters

GET 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="http://schemas.xmlsoap.org/soap/envelope/" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:xsd="http://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="http://schemas.xmlsoap.org/soap/envelope/" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:xsd="http://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

GET Purchase Orders by Reference Number

Definition

POST /?op=GetPurchaseOrderByReferenceNumber

Example Request

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope 
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:xsd="http://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="http://schemas.xmlsoap.org/soap/envelope/" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:xsd="http://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

GET 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="http://schemas.xmlsoap.org/soap/envelope/" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:xsd="http://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="http://schemas.xmlsoap.org/soap/envelope/" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:xsd="http://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

GET 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="http://schemas.xmlsoap.org/soap/envelope/" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:xsd="http://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="http://schemas.xmlsoap.org/soap/envelope/" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:xsd="http://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

GET All CMI Enabled Stores

Definition

POST /?op=GetStoreList

Example Request

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope 
  xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:xsd="http://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="http://schemas.xmlsoap.org/soap/envelope/" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xmlns:xsd="http://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>
      </GetStoreListResult>
    </GetStoreListResponse>
  </soap:Body>
</soap:Envelope>

Request Parameters

ERRORS

HTTP Status Code Description How to Resolve
HTTP 500 Found Purchase orders for StoreID [x] by VendorInvoiceNumber [y] Ensure VendorInvoiceNumber is unique
HTTP 500 ShipToStoreID must be > 0 or ShipToVendorAccountNumber must be supplied Ensure one of ShipToStoreID or ShipToVendorAccountNumber is provided
HTTP 500 BillToStoreID must be > 0 or BillToVendorAccountNumber must be supplied Ensure one of BillToStoreID or BillToVendorAccountNumber is provided
HTTP 500 Existing Purchase order has been found with Purchase Order ID [x] Omit PurchaseOrderID from request body or ensure it is unique
HTTP 500 Cound not found product by VendorSKU [x]... Ensure the VendorID in the request is not the Primary Vendor for the location for the product
HTTP 500 Product is missing VendorSKU Ensure All PO items have a VendorSKU
HTTP 500 There is no company configuration Email apisupport [at] iqmetrix [dot] com to change the CMI endpoint in RQ
C#
Was this page helpful?