Overview

The goal of the Managing Products stage is to ensure your products are available for purchase in the iQmetrix ecosystem.

Map Classifications

iQmetrix organizes retail products in a hierarchical structure using Classification Trees.

Definition: A Classification Tree is a hierarchal structure used to represent an industry. Classification Trees are made up of Categories, which group similar products together, and Classifications which act as a template for Product information.

Each Product must have an associated Classification Tree and Classification.

For a list of Classifications, use the request Get a Classification Tree and the following parameters:

Example Request

GET https://productlibraryrc.iqmetrix.net/v1/ClassificationTrees(1)
Authorization: Bearer b0k0dY70N3Vv9jR1b9oEdW9IeT5WIn85WCYFJRo6AiIKLEMBFwNbEQsfeCUeM3gdPA1gAAVxWTJacX8mJyBaGRcFVwQOEV49NgBz
Accept: application/json

Example Response

HTTP 200 Content-Type: application/json
{
    "Id": 1,
    "Name": "Cellular & Accessories",
    "IsCanonical": true,
    "Description": "iQmetrix classification of products for wireless retail",
    "Owner": null,
    "Categories": [
        {
            "Id": 2,
            "Name": "Devices",
            "Order": 1,
            "Categories": [
                {
                    "Id": 3,
                    "Name": "Phones",
                    "Order": 1,
                    "Categories": [],
                    "Classifications": [...]
                },
                ...
            ],
            ...
        },
        ...
    ],
    "Classifications": [
        {
            "Id": 69,
            "Name": "SIM Cards",
            "Order": 5,
            "ProductTemplate": {
                "Id": 16,
                "Name": "Wireless Device"
            }
        },
        ...
    ],
    "IsPrivate": false,
    "Version": 878
}

Map Product Details

To send product information to iQmetrix, you must map product specifications in your system to iQmetrix as Field Definitions.

Definition: A Field Definition is an object that represents a product specification, such as name or unit.

Field Definitions have two identifier properties:

Follow these instructions to map Field Definitions between RC and Production Environments.

  1. Get a list of all Field Definitions from the Production Environment using the example below
  2. Search and map fields from your system to fields in the response
  3. While mapping, locate the field identifier and string identifiers from the API and add them to a configuration table
  4. Get a list of all Fields Definitions from the RC Environment
  5. Search for the string identifiers to be mapped and add their corresponding field identifier to your configuration table
Example
Your Definition StringId Id (RC) Id (Production)
Name Product Name 1 1
Description Long Description 40 45
Suggested Price MSRP 87 93

Field Recommendations

When providing Field Definition information for a product, we recommend the following:

To get a list of Field Definitions, use the request Get All Field Definitions.

Example Request

GET https://productlibraryrc.iqmetrix.net/v1/FieldDefinitions
Authorization: Bearer b0k0dY70N3Vv9jR1b9oEdW9IeT5WIn85WCYFJRo6AiIKLEMBFwNbEQsfeCUeM3gdPA1gAAVxWTJacX8mJyBaGRcFVwQOEV49NgBz
Accept: application/json

Example Response

HTTP 200 Content-Type: application/json
[
    {
        "Id": 1,
        "StringId": "Product Name",
        "InputType": "TextSingleLine",
        "IsRequired": true,
        "LanguageInvariantUnit": "",
        "DisplayName": "Product Name",
        "Owner": null,
        "Unit": "",
        "LastModifiedUtc": "2016-10-05T21:16:26.572Z",
        "IsPrivate": false,
        "Options": [],
        "LanguageInvariantName": "Product Name",
        "IsArchived": false
    },
    ...
]
        

Send Products to iQmetrix

To sell a dropship product from within the iQmetrix ecosystem, you must provide product information to iQmetrix using a Product Feed.

Definition: A Product Feed is a system that allows you to channel all of your product information into a single source within the iQmetrix system. Once curated by iQmetrix, Products on your Feed are made available to retailers through Product Library then removed from the feed.

Dropship Product Feed

Product information can be sent using the request Add Products to a Product Feed and the following parameters:

Example Request

POST https://curationrc.iqmetrix.net/v1/ProductFeeds(5)/Products
Authorization: Bearer b0k0dY70N3Vv9jR1b9oEdW9IeT5WIn85WCYFJRo6AiIKLEMBFwNbEQsfeCUeM3gdPA1gAAVxWTJacX8mJyBaGRcFVwQOEV49NgBz
Accept: application/json
Content-Type: application/json
{
    "Fields": [
      {
        "Definition": {
          "Id": 93,
          "StringId": "MSRP"
        },
        "Value": "69.95 USD"
      },
      {
        "Definition": {
          "Id": 45,
          "StringId": "Long Description"
        },
        "Value": "The Defender case features three layers of defense."
      },
      {
        "Definition": {
          "Id": 1,
          "StringId": "Product Name"
        },
        "Value": "Defender Case for Apple iPad Mini 4 Black"
      }
    ],  
    "Manufacturer": "OtterBox",
    "ManufacturerSku": "77-52771",
    "ModelName": "Defender Cases for Apple iPad Mini 4",
    "UPC": "723755004337",
    "Assets": [
      {
        "AssetUrl": "http://animaliaz-life.com/data_images/cat/cat2.jpg"
      }
    ],
    "Classification": {
      "TreeId": 1,
      "Id": 4
    },
    "ClassificationTreeName": "Cellular & Accessories",
    "LastModifiedByVendorUtc": "2017-08-08T00:00:00Z",
    "VendorSkus": [
      {
        "Sku": "SMX551",
        "VendorName": "Amazon",
        "Description": ""
      }
    ]
}  

Example Response

HTTP 200 Content-Type: application/json
{
    "Id": 2,
    "Classification": {
        "TreeId": 1,
        "Id": 4,
        "Name": "Smartphones"
    },
    "ClassificationTreeName": "Cellular & Accessories",
    "ProviderClassification": null,
    "Manufacturer": "OtterBox",
    "ManufacturerSku": "77-52771",
    "UPC": "723755004337",
    "VendorSkus": [
        {
            "Sku": "SMX995",
            "VendorName": "Amazon",
            "Description": ""
        }
    ],
    "Fields": [
        {
            "Definition": {
                "Id": 1,
                "StringId": "Product Name",
                "InputType": "TextSingleLine",
                "IsRequired": true,
                "LanguageInvariantUnit": "",
                "DisplayName": "Product Name",
                "Unit": "",
                "Options": [],
                "LanguageInvariantName": "Product Name"
            },
            "Value": "Defender Case for Apple iPad Mini 4 Black"
        }
    ],
    "Assets": [
        {
            "Id": "00000000-0000-0000-0000-000000000000",
            "FileName": null,
            "MimeType": null,
            "OriginalUrl": "http://animaliaz-life.com/data_images/cat/cat2.jpg",
            "MediaUrl": null,
            "IsConverted": false
        }
    ],
    "UnsupportedAssets": [],
    "LastModifiedByVendorUtc": "2016-03-08T00:00:00Z",
    "ModelName": "Defender Cases for Apple iPad Mini 4"
}

Determine Update Schedule

To ensure your products remain up to date and accurate in the iQmetrix ecosystem, we require you to make periodic updates to your Product Feed(s).

This should be done only when there are major changes to product details, such as name and description.

Read About Subscription Lists

While the Product Feed provides iQmetrix with details of your products, the Product Subscription Feed is similar to an RSS feed where retailers subscribe to your feed to get a list of your latest dropship products.

Dropship Product Subscription

Each Product Subscription Feed contains a list of SKUs and their selling price (MSRP), allowing you to control which products are visible to individual retailers.

You may provide more than one feed, serving different products to different groups of retailers. For example, one feed could be based on the manufacturer (e.g. Supply Inc - Otterbox) while another could be based on the product line (e.g. Supply Inc. - iPhone).

Once a retailer is subscribed your feed(s), they will see the products available to them through the various iQmetrix applications they use.

Synchronization of these feeds occurs nightly, updating all of your subscribed retailers with the products you have added or removed from your feeds, allowing you to control which products are available for dropship.

Example Scenario

Below is an example of a supplier updating their product subscription feed:

On Monday, a supplier provides 8 products to their Subscription Feed. Since synchronization occurs at night, subscribed retailers see the 8 products on Tuesday.

On Tuesday evening, the supplier then adds 2 more products to their Subscription Feed. This is done by including 2 additional products to their original list, which now has 10 products instead of 8. The following morning, subscribed retailers see 10 products total.

Finally on Wednesday moning, the supplier removes 1 product, leaving the Subscription Feed with 9 products.

The following morning, subscribed retailers now have 9 products.

Create a Subscription List

You must create at least one Subscription List using the request Create a Subscription List with Products and the following parameters:

Example Request

PUT https://productsubscriptionsrc.iqmetrix.net/v1/subscribablelists(83076078-d27e-4ca4-8d42-3bbaf5ec7f68)
Authorization: Bearer b0k0dY70N3Vv9jR1b9oEdW9IeT5WIn85WCYFJRo6AiIKLEMBFwNbEQsfeCUeM3gdPA1gAAVxWTJacX8mJyBaGRcFVwQOEV49NgBz
Accept: application/json
Content-Type: application/json
{
    "EntityId": "14107",
    "Name": "Otterbox Products",
    "Dropshippable": true,
    "Products": []
}

Example Response

HTTP 200 Content-Type: application/json
{
    "Id": "83076078-d27e-4ca4-8d42-3bbaf5ec7f68",
    "EntityId": 14107,
    "MasterEntityId": null,
    "Name": "Otterbox Products",
    "Dropshippable": true,
    "Products": [],
    "Version": 2
}

Add a Product to a Subscription List

Once you have created a Subscrition List, you can add products to it, if you have not added Products in the same API call.

Tip: The new product list in the payload replaces the old product list. Any matching old products (determined by Vendor SKU) will be copied over into the new products.

To add products, see Create a Subscription List with Products and the following parameters:

Example Request

PUT https://productsubscriptionsrc.iqmetrix.net/v1/subscribablelists(83076078-d27e-4ca4-8d42-3bbaf5ec7f68))
Authorization: Bearer b0k0dY70N3Vv9jR1b9oEdW9IeT5WIn85WCYFJRo6AiIKLEMBFwNbEQsfeCUeM3gdPA1gAAVxWTJacX8mJyBaGRcFVwQOEV49NgBz
Accept: application/json
Content-Type: application/json
{
    "EntityId": "14107",
    "Name": "Otterbox Products",
    "Dropshippable": true,
    "Products": [
      {
         "ProductName": "Samsung Galaxy S4 Standard Battery",
         "VendorSku": "9101AGAP6",
         "Price": 24.99
      }
    ]
}

Example Response

HTTP 200 Content-Type: application/json
{
    "Id": "83076078-d27e-4ca4-8d42-3bbaf5ec7f68",
    "EntityId": 14107,
    "MasterEntityId": null,
    "Name": "Otterbox Products",
    "Dropshippable": true,
    "Products": [
        {
            "ProductName": "Samsung Galaxy S4 Standard Battery",
            "VendorSku": "9101AGAP6",
            "Price": 24.99,
            "Dropshippable": true,
            "ProductSlugs": [],
            "Version": 1
        }
    ],
    "Version": 3
}

Add a Company to a Subscription List

Once your integration is launched, iQmetrix will manage adding companies to your Subscription Lists.

However, to speed up development you can perform this step using the request Add a Company to a Subscription List and the following parameters:

Example Request

PUT https://productsubscriptionsrc.iqmetrix.net/v1/subscription(83076078-d27e-4ca4-8d42-3bbaf5ec7f68)/company(14146)
Authorization: Bearer b0k0dY70N3Vv9jR1b9oEdW9IeT5WIn85WCYFJRo6AiIKLEMBFwNbEQsfeCUeM3gdPA1gAAVxWTJacX8mJyBaGRcFVwQOEV49NgBz
Accept: application/json

Example Response

HTTP 204 No Content

Configure Product Costs

All products sold in the iQmetrix ecosystem must have an associated wholesale price or “cost” in the Cost Feed to ensure accurate commission and general ledger calculations.

Definition: The Cost Feed allows you to provide wholesale costs for products you supply for your retailers.

Dropship Cost Feed

To provide product cost, use the request Update the Wholesale Cost of a Dropship Product and the following parameters:

Example Request

POST https://dropshiprc.iqmetrix.net/v1/Suppliers(14107)/Cost
Authorization: Bearer b0k0dY70N3Vv9jR1b9oEdW9IeT5WIn85WCYFJRo6AiIKLEMBFwNbEQsfeCUeM3gdPA1gAAVxWTJacX8mJyBaGRcFVwQOEV49NgBz
Accept: application/json
Content-Type: application/json
{
  "SupplierId": 14107,
    "Products": [
        {
            "Sku": "9101AGAP6",
            "Cost": 64.99,
            "CompanyIds": [
                14146
            ]    
        }
    ]  
}

Example Response

HTTP 202 Content-Type: application/json
{
    "Id": "5bc658e6-a1e4-4aff-ac13-939acae20bb1",
    "Products": [
        {
            "Sku": "9101AGAP6",
            "Cost": 64.99,
            "CompanyIds": [
                14146
            ]
        }
    ]
}

Configure Product Stock Levels

To ensure iQmetrix applications accurately display your stock levels, you must set the stock level and update it on a regular basis using the Supplier Availability API.

Definition: The Supplier Availability API provides iQmetrix with your product stock levels (availability). Once a product is marked as unavailable, iQmetrix applications will mark this product as unavailable to prevent future purchases.

Dropship Supplier Availability Diagram

Setting stock level can be done using the request Update the Stock Level of a Dropship Product and the following parameters:

Example Request

POST https://dropshiprc.iqmetrix.net/v1/Suppliers(14107)/Availability
Authorization: Bearer b0k0dY70N3Vv9jR1b9oEdW9IeT5WIn85WCYFJRo6AiIKLEMBFwNbEQsfeCUeM3gdPA1gAAVxWTJacX8mJyBaGRcFVwQOEV49NgBz
Accept: application/json
Content-Type: application/json
{
    "Products": [
        {
            "IsAvailable": true,
            "Sku": "9101AGAP6",
            "Quantity": 10
        }
    ]
}

Example Response

HTTP 202 Content-Type: application/json
{
    "Id": "51a58510-8405-47be-8824-03c83fa85073",
    "Products": [
        {
            "Sku": "9101AGAP6",
            "IsAvailable": true,
            "Quantity": 10
        }
    ]
}