API Documentation

In-depth reference documentation for iQmetrix API's.

NAV

OVERVIEW

To get started, see Data Connect Guide.

Authentication

This API supports many different methods of authentication, see Authentication Options.

Rate Limiting

Example

HTTP 429 Too Many Requests
{
    "Error": true,
    "Message": "Rate Limiting Applied. 8 active requests are already in progress."
}

Data Connect limits the number of concurrent requests you can perform per RQ Database.

If the rate limit is exceeded, the response will be HTTP 429 and you will not be able to make additional requests until a previously made request finishes.

ENDPOINTS

RESOURCES

TradeInData

{
    "TradeInID": "30803728853",
    "Username": "iQmetrix.User@Core5IntegrationDaily",
    "DateCreated": "2016-10-21T13:14:31.803"
}
Name Description
TradeInID (VARCHAR(25)) Identifier for a Trade In
Username (NVARCHAR(180)) Username of employee who performed Trade In
DateCreated (DateTime) Trade In date

Relationship

[
    {
        "CompanyID": 21090,
        "CompanyName": "KENTEL",
        "DoingBusinessAs": "Kentel Corp"
    }
]
Name Description
CompanyID (INTEGER) Identifier for a Company
CompanyName (VARCHAR(50)) Database name
DoingBusinessAs (NVARCHAR(MAX)) Company name

DealerRelationship

[
    {
        "CompanyID": 14146,
        "CompanyName": "KENTEL",
        "LocationEntityID": 14192,
        "LocationName": "Region A"
    }
]
Name Description
CompanyID (BIGINT) Identifier for a Company
CompanyName (NVARCHAR(128)) Company name
LocationEntityID (BIGINT) Identifier for the Location, Region, Channel or District in Entity Store
LocationName (NVARCHAR(MAX)) Name of the Location, Region, Channel or District

REQUESTS

GET Dealer Relationships

This request returns a list of LocationEntityIDs and Names for a Company that the partner can access.

When the response contains multiple resouces with the same CompanyID, the partner can access multiple nodes within the Company.

Example

The below response means the partner can access data on behalf of the company KENTEL using the context of Region 1 (LocationEntityID 14189) or Region 2 (LocationEntityID 14188).

{
  "CompanyID": 14146,
  "CompanyName": "MasterCompany",
  "LocationEntityID": 14189,
  "LocationName": "Child Dealer 1"
},
{
  "CompanyID": 14146,
  "CompanyName": "MasterCompany",
  "LocationEntityID": 14188,
  "LocationName": "Child Dealer 2"
}

Definition

GET /partner/relationships/dealers?Auth={Auth}&Response={Response}

Headers

Example Request

GET /partner/relationships/dealers
Authorization: Bearer (Access Token)
Accept-Encoding: gzip

curl -X GET "https://dataconnectdemo.iqmetrix.net/partner/relationships/dealers" -H "Authorization: Bearer (Access Token)" -H "Accept-Encoding: gzip"
static IRestResponse GettingDealerRelationships()
{
    var client = new RestClient("https://dataconnectdemo.iqmetrix.net/partner/relationships/dealers");
    var request = new RestRequest(Method.GET);
     
    request.AddHeader("Authorization", "Bearer (Access Token)"); 
    request.AddHeader("Accept-Encoding", "gzip"); 

    

    return client.Execute(request);
}

import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import java.io.IOException;

public static CloseableHttpResponse GettingDealerRelationships() throws IOException {
    CloseableHttpClient httpClient = HttpClients.createDefault();
    HttpGet request = new HttpGet("https://dataconnectdemo.iqmetrix.net/partner/relationships/dealers");
     
    request.addHeader("Authorization", "Bearer (Access Token)"); 
    request.addHeader("Accept-Encoding", "gzip"); 
    
    return httpClient.execute(request);
}
require 'rest-client'


response = RestClient.get 'https://dataconnectdemo.iqmetrix.net/partner/relationships/dealers', {
     :'Authorization' => 'Bearer (Access Token)',
     :'Accept-Encoding' => 'gzip',
    } 

puts response

URI Parameters

Response Parameters

Array[DealerRelationship]

Example Response (Default)

HTTP 200 Content-Type: application/json
[
    {
        "CompanyID": 14146,
        "CompanyName": "KENTEL",
        "LocationEntityID": 14192,
        "LocationName": "Region A"
    }
]

Example Response (JsonDataTable)

HTTP 200 Content-Type: application/json
{
    "Records": [
        {
            "CompanyID": 14146,
            "CompanyName": "KENTEL",
            "LocationEntityID": 14192,
            "LocationName": "Region A"
        }
    ],
    "Schema": [
        {
            "Column_Name": "ColumnName",
            "Type": "datatype",
            "SafeType": "safetype",
            "Length": 100
        }
    ]
}

Example Response (XmlDataTable)

HTTP 200 Content-Type: text/xml
<Table>
  <Record>
    <CompanyID>14146</CompanyID>
    <CompanyName>KENTEL</CompanyName>
    <LocationEntityID>14192</LocationEntityID>
    <LocationName>Region A</LocationName>
  </Record>
  <Schema>
    <Column_Name>ColumnName</Column_Name>
    <Type>datatybe</Type>
    <SafeType>safetype</SafeType>
    <Length>100</Length>
  </Schema>
</Table>

Example Response (CSV)

HTTP 200 Content-Type: text/csv
CompanyID,CompanyName,LocationEntityID,LocationName
14146,KENTEL,14192,Region A

Example Response (Excel)

HTTP 200 Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
content-disposition: attachment;filename=reportname-2016-07-11.xlsx
Binary *.xlsx file

GET Partner Relationships

This request will return a list of Companies the Partner can access data from.

If the response is empty, use the request Getting Dealer Relationships instead.

Definition

GET /partner/relationships?Auth={Auth}&Response={Response}

Headers

Example Request

GET /partner/relationships
Authorization: Bearer (Access Token)
Accept-Encoding: gzip

curl -X GET "https://dataconnectdemo.iqmetrix.net/partner/relationships" -H "Authorization: Bearer (Access Token)" -H "Accept-Encoding: gzip"
static IRestResponse GettingPartnerRelationships()
{
    var client = new RestClient("https://dataconnectdemo.iqmetrix.net/partner/relationships");
    var request = new RestRequest(Method.GET);
     
    request.AddHeader("Authorization", "Bearer (Access Token)"); 
    request.AddHeader("Accept-Encoding", "gzip"); 

    

    return client.Execute(request);
}

import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import java.io.IOException;

public static CloseableHttpResponse GettingPartnerRelationships() throws IOException {
    CloseableHttpClient httpClient = HttpClients.createDefault();
    HttpGet request = new HttpGet("https://dataconnectdemo.iqmetrix.net/partner/relationships");
     
    request.addHeader("Authorization", "Bearer (Access Token)"); 
    request.addHeader("Accept-Encoding", "gzip"); 
    
    return httpClient.execute(request);
}
require 'rest-client'


response = RestClient.get 'https://dataconnectdemo.iqmetrix.net/partner/relationships', {
     :'Authorization' => 'Bearer (Access Token)',
     :'Accept-Encoding' => 'gzip',
    } 

puts response

URI Parameters

Response Parameters

Array[Relationship]

Example Response (Default)

HTTP 200 Content-Type: application/json
[
    {
        "CompanyID": 21090,
        "CompanyName": "KENTEL",
        "DoingBusinessAs": "Kentel Corp"
    }
]

Example Response (JsonDataTable)

HTTP 200 Content-Type: application/json
{
    "Records": [
        {
            "CompanyID": 21090,
            "CompanyName": "KENTEL",
            "DoingBusinessAs": "Kentel Corp"
        }
    ],
    "Schema": [
        {
            "Column_Name": "ColumnName",
            "Type": "datatype",
            "SafeType": "safetype",
            "Length": 100
        }
    ]
}

Example Response (XmlDataTable)

HTTP 200 Content-Type: text/xml
<Table>
  <Record>
    <CompanyID>21090</CompanyID>
    <CompanyName>KENTEL</CompanyName>
    <DoingBusinessAs>Kentel Corp</DoingBusinessAs>
  </Record>
  <Schema>
    <Column_Name>ColumnName</Column_Name>
    <Type>datatybe</Type>
    <SafeType>safetype</SafeType>
    <Length>100</Length>
  </Schema>
</Table>

Example Response (CSV)

HTTP 200 Content-Type: text/csv
CompanyID,CompanyName,DoingBusinessAs
21090,KENTEL,Kentel Corp

Example Response (Excel)

HTTP 200 Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
content-disposition: attachment;filename=reportname-2016-07-11.xlsx
Binary *.xlsx file

GET Trade In Data for a Company

Definition

GET /partner/Phobio/tradeins?StartDate={StartDate}&StopDate={StopDate}&CompanyID={CompanyID}&Auth={Auth}&Response={Response}

Headers

Example Request

GET /partner/Phobio/tradeins?StartDate=1970-01-01T06:00:00.000Z&StopDate=2016-01-01T06:00:00.000Z&CompanyID=14146
Authorization: Bearer (Access Token)
Accept-Encoding: gzip

curl -X GET "https://dataconnectdemo.iqmetrix.net/partner/Phobio/tradeins?StartDate=1970-01-01T06:00:00.000Z&StopDate=2016-01-01T06:00:00.000Z&CompanyID=14146" -H "Authorization: Bearer (Access Token)" -H "Accept-Encoding: gzip"
static IRestResponse GettingTradeInDataForACompany()
{
    var client = new RestClient("https://dataconnectdemo.iqmetrix.net/partner/Phobio/tradeins?StartDate=1970-01-01T06:00:00.000Z&StopDate=2016-01-01T06:00:00.000Z&CompanyID=14146");
    var request = new RestRequest(Method.GET);
     
    request.AddHeader("Authorization", "Bearer (Access Token)"); 
    request.AddHeader("Accept-Encoding", "gzip"); 

    

    return client.Execute(request);
}

import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import java.io.IOException;

public static CloseableHttpResponse GettingTradeInDataForACompany() throws IOException {
    CloseableHttpClient httpClient = HttpClients.createDefault();
    HttpGet request = new HttpGet("https://dataconnectdemo.iqmetrix.net/partner/Phobio/tradeins?StartDate=1970-01-01T06:00:00.000Z&StopDate=2016-01-01T06:00:00.000Z&CompanyID=14146");
     
    request.addHeader("Authorization", "Bearer (Access Token)"); 
    request.addHeader("Accept-Encoding", "gzip"); 
    
    return httpClient.execute(request);
}
require 'rest-client'


response = RestClient.get 'https://dataconnectdemo.iqmetrix.net/partner/Phobio/tradeins?StartDate=1970-01-01T06:00:00.000Z&StopDate=2016-01-01T06:00:00.000Z&CompanyID=14146', {
     :'Authorization' => 'Bearer (Access Token)',
     :'Accept-Encoding' => 'gzip',
    } 

puts response

URI Parameters

Response Parameters

TradeInData

Example Response (Default)

HTTP 200 Content-Type: application/json
{
    "TradeInID": "30803728853",
    "Username": "iQmetrix.User@Core5IntegrationDaily",
    "DateCreated": "2016-10-21T13:14:31.803"
}

Example Response (JsonDataTable)

HTTP 200 Content-Type: application/json
{
    "TradeInID": "30803728853",
    "Username": "iQmetrix.User@Core5IntegrationDaily",
    "DateCreated": "2016-10-21T13:14:31.803"
}

Example Response (XmlDataTable)

HTTP 200 Content-Type: text/xml
<Table>
  <Record>
    <TradeInID>30803728853</TradeInID>
    <Username>iQmetrix.User@Core5IntegrationDaily</Username>
    <DateCreated>2016-10-21T13:14:31.803</DateCreated>
  </Record>
  <Schema>
    <Column_Name>ColumnName</Column_Name>
    <Type>datatybe</Type>
    <SafeType>safetype</SafeType>
    <Length>100</Length>
  </Schema>
</Table>

Example Response (CSV)

HTTP 200 Content-Type: text/csv
TradeInID,Username,DateCreated
30803728853,iQmetrix.User@Core5IntegrationDaily,2016-10-21T13:14:31.803

Example Response (Excel)

HTTP 200 Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
content-disposition: attachment;filename=reportname-2016-07-11.xlsx
Binary *.xlsx file

ERRORS

HTTP Status Code Description How to Resolve
HTTP 400 Bad Request Ensure request body is formatted properly
HTTP 401 Token is invalid Ensure Access Token is valid and has not expired
HTTP 403 Unauthorized Ensure Access Token is valid and user has appropriate security
HTTP 404 Not Found Ensure URI is valid
HTTP 500 Unexpected Error See Message in response for more information
HTTP 503 Maintenance The requested data is currently undergoing scheduled maintenance, please try again after 12:00PM UTC
Was this page helpful?