Dashboard API
Overview
The Dashboard API allows you to create and manage Dashboard configurations.
With IQM's Dashboards you can monitor your Campaigns' real-time performance at a glance and customize the filters and metrics by which those analytics are generated.
Dashboards are just one of your reporting and analytics tools. Refer to the Reports API and Insights API for in-depth Reports and Insights available on the IQM platform.
Learn more about Dashboards with our Help Center articles.
Authentication
Use the following header parameters for all requests:
Headers | |
---|---|
Authentication string required | Authentication bearer token See Authentication Guide |
X-IAA-OW-ID integer required | Organization Worskpace ID Header |
Dashboard Details
Dashboard Config List
GET /api/v2/das/dashboardsGet a list of your Dashboard configurations. See Create Dashboard for resource properties table.
- JSON
- TypeScript
{
"items": [
{
"data": {
"freeze": {
"rows": 0,
"columns": 0
},
"graph1": {
"label": "Impressions",
"value": "impressions"
},
"graph2": {
"label": "CTR",
"value": "CTR"
},
"metric": {
"id": 9,
"key": "CTR",
"label": "CTR",
"order": 1,
"value": "CTR",
"description": "Click-through rate is the percentage of Clicks received per the Impressions served",
"fieldDataType": "percent",
"defaultEnabled": true,
"aggregationType": "avg"
},
"search": "",
"status": {
"label": "All (1428)",
"value": "all"
},
"timezone": {
"id": 29,
"label": "US/Eastern",
"value": "US/Eastern"
},
"dimension": {
"id": 1,
"key": "campaign",
"label": "Campaign",
"order": 1,
"value": "campaign",
"groupId": 1,
"description": "Campaign Name",
"fieldDataType": "text",
"isRowToColumn": false,
"isFilterSupported": true,
"isCustomerDependent": true
},
"tableLevel": {
"label": "Campaign Groups",
"value": "groups"
},
"lastModified": 1692167373,
"sortingColumns": [
{
"label": "ID",
"value": "campaignId",
"active": true,
"alwaysEnabled": true,
"draggableGroup": 1
},
{
"label": "Campaign Name",
"value": "campaignName",
"active": true,
"alwaysEnabled": true,
"draggableGroup": 1
},
{
"label": "Organization",
"value": "organizationName",
"active": true,
"alwaysEnabled": true,
"draggableGroup": 1
},
{
"label": "Start date",
"value": "startTime",
"active": true,
"draggableGroup": 1
},
{
"label": "End date",
"value": "endTime",
"active": true,
"draggableGroup": 1
},
{
"label": "Max Bid($)",
"value": "maxBid",
"active": true,
"draggableGroup": 1
},
{
"label": "Daily Budget($)",
"value": "budgetDay",
"active": true,
"draggableGroup": 1
},
{
"label": "Total Budget($)",
"value": "budgetTotal",
"active": true,
"draggableGroup": 1
},
{
"label": "Total Spent($)",
"value": "spent",
"active": true
},
{
"label": "Budget Completion(%)",
"value": "percentageOfTotalSpent",
"active": true
},
{
"label": "Impressions",
"value": "impressions",
"active": true
},
{
"label": "Clicks",
"value": "clicks",
"active": true
},
{
"label": "CTR(%)",
"value": "CTR",
"active": true
},
{
"label": "eCPM($)",
"value": "eCPM",
"active": true
},
{
"label": "VCR(%)",
"value": "VCR",
"active": true
},
{
"label": "WinRate(%)",
"value": "winRate",
"active": true
}
],
"filteredGroupsIds": [
135120
],
"filteredCampaignsIds": [
334656,
334651,
334650,
334649
],
"sortingGroupsColumns": [
{
"label": "ID",
"value": "campaignGroupId",
"alwaysEnabled": true,
"draggableGroup": 1
},
{
"label": "Group name",
"value": "campaignGroupName",
"alwaysEnabled": true,
"draggableGroup": 1
},
{
"label": "Total Spent($)",
"value": "spent",
"active": true
},
{
"label": "Budget Completion(%)",
"value": "percentageOfTotalSpent",
"active": true
},
{
"label": "Impressions",
"value": "impressions",
"active": true
},
{
"label": "Clicks",
"value": "clicks",
"active": true
},
{
"label": "CTR(%)",
"value": "CTR",
"active": true
},
{
"label": "eCPM($)",
"value": "eCPM",
"active": true
},
{
"label": "VCR(%)",
"value": "VCR",
"active": true
},
{
"label": "WinRate(%)",
"value": "winRate",
"active": true
}
],
"selectedCampaignTypes": [],
},
"created": 1667241497903,
"modifiedDate": "2023-08-16T06:29:33.000+00:00",
"id": 197,
"label": "test"
}
]
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
items: {
data: {
freeze: {
rows: number;
columns: number;
};
graph1: {
label: string;
value: string;
};
graph2: {
label: string;
value: string;
};
metric: {
id: number;
key: string;
label: string;
order: number;
value: string;
description: string;
fieldDataType: string;
defaultEnabled: boolean;
aggregationType: string;
};
search: string;
status: {
label: string;
value: string;
};
timezone: {
id: number;
label: string;
value: string;
};
dimensions: {
id: number;
key: string;
label: string;
order: number;
value: string;
groupId: number;
description: string;
fieldDataType: string;
isRowToColumn: boolean;
isFilterSupported: boolean;
isCustomerDependent: boolean;
};
tableLevel: {
label: string;
value: string;
};
lastModified: string;
sortingColumns: {
label: string;
value: string;
active: boolean;
alwaysEnabled: boolean;
draggableGroup: number;
}[];
filteredGroupsId: number[];
filteredCampaignsIds: number[];
sortingGroupsColumns: {
label: string;
value: string;
alwaysEnabled: boolean;
draggableGroup: number;
}[];
selectedCampaignTypes: [];
};
created: number;
modifiedDate: string;
id: number;
label: string
}
};
};
};
}
function getDashBoardList(): Promise<Responses> {
const options = {
method: 'GET',
url: 'https://app.iqm.com/api/v2/das/dashboards',
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Dashboard Management
Create Dashboard
POST /api/v2/das/dashboardCreate and store a Dashboard configuration.
Request Schema | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
value integer | Dashboard value | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
label string | Dashboard name | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
data array of objects | Dashboard data | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
timezone object | Timezone details | |||||||||||||||||||||||
|
label string | Timezone label |
value string | Timezone value |
id integer | Timezone ID |
selectedCampaignTypes
array
tableLevel
object
tableLevel
object properties
label string | Table level label |
value string | Table level value |
search
string
status
object
status
object properties
label string | Status label |
value string | Status value |
sortingColumns
array of objects
sortingColumns
object properties
label string | Status label |
value string | Status value |
alwaysEnabled boolean | null |
draggableGroup integer | null |
active boolean | null |
sortingGroupsColumns
array of objects
sortingGroupsColumns
object properties
label string | Status label |
value string | Status value |
alwaysEnabled boolean | null |
draggableGroup integer | null |
active boolean | null |
sortingInsertionOrdersColumns
array of objects
sortingInsertionOrdersColumns
object properties
label string | Status label |
value string | Status value |
alwaysEnabled boolean | null |
draggableGroup integer | null |
active boolean | null |
freeze
array of objects
freeze
object properties
columns string | Freeze columns |
rows string | Freeze rows |
graph1
array of objects
graph1
object properties
value string | Graph 1 value |
label string | Graph 1 label |
graph2
array of objects
graph2
object properties
value string | Graph 2 value |
label string | Graph 2 label |
dimension
array of objects
dimension
object properties
id integer | Dimension ID |
label string | Dimension label |
order integer | Dimension order |
fieldDataType string | Field data type |
description string | Description |
groupID integer | Group ID |
key string | Key |
isFilterSupported boolean | Indicates whether filters are supported (true) |
isCustomerDependent boolean | Indicates whether dimension is Customer dependent (true) |
isRowToColumn boolean | null |
value string | Dimension value |
metric
array of objects
metric
object properties
id integer | Metric ID |
label string | Metric label |
order integer | Metric order |
fieldDataType string | Field data type |
aggregationType string | Aggregation type |
description string | Description |
defaultEnabled boolean | Default enabled |
key string | Key |
dependentDimensions string | null |
value string | Dimension value |
filteredCampaignsIds
array
- JSON
- TypeScript
{
"value": 1692683018233,
"label": "Dashboard Name",
"data": {
"timezone": {
"label": "US/Eastern",
"value": "US/Eastern",
"id": 29
},
"selectedCampaignTypes": [],
"tableLevel": {
"label": "Campaigns",
"value": "campaigns"
},
"search": "",
"status": {
"label": "Running (15)",
"value": "running"
},
"sortingColumns": [
{
"label": "ID",
"value": "campaignId",
"alwaysEnabled": true,
"draggableGroup": 1,
"active": true
},
{
"value": "campaignName",
"label": "Campaign Name",
"alwaysEnabled": true,
"draggableGroup": 1,
"active": true
},
{
"value": "organizationName",
"label": "Organization",
"alwaysEnabled": true,
"draggableGroup": 1,
"active": true
},
{
"label": "Insertion Order Name",
"value": "ioName",
"alwaysEnabled": true,
"draggableGroup": 1,
"active": true
},
{
"value": "startTime",
"label": "Start date",
"draggableGroup": 1,
"active": true
},
{
"value": "endTime",
"label": "End date",
"draggableGroup": 1,
"active": true
},
{
"value": "maxBid",
"label": "Max Bid($)",
"draggableGroup": 1,
"active": true
},
{
"value": "budgetDay",
"label": "Daily Budget($)",
"draggableGroup": 1,
"active": true
},
{
"value": "budgetTotal",
"label": "Total Budget($)",
"draggableGroup": 1,
"active": true
},
{
"value": "spent",
"label": "Total Spent($)",
"active": true
},
{
"value": "percentageOfTotalSpent",
"label": "Budget Completion(%)",
"active": true
},
{
"value": "impressions",
"label": "Impressions",
"active": true
},
{
"value": "clicks",
"label": "Clicks",
"active": true
},
{
"value": "CTR",
"label": "CTR(%)",
"active": true
},
{
"value": "eCPM",
"label": "eCPM($)",
"active": true
},
{
"value": "VCR",
"label": "VCR(%)",
"active": true
},
{
"value": "winRate",
"label": "WinRate(%)",
"active": true
}
],
"sortingGroupsColumns": [
{
"label": "ID",
"value": "campaignGroupId",
"alwaysEnabled": true,
"draggableGroup": 1
},
{
"label": "Group name",
"value": "campaignGroupName",
"alwaysEnabled": true,
"draggableGroup": 1
},
{
"value": "spent",
"label": "Total Spent($)",
"active": true
},
{
"value": "percentageOfTotalSpent",
"label": "Budget Completion(%)",
"active": true
},
{
"value": "impressions",
"label": "Impressions",
"active": true
},
{
"value": "clicks",
"label": "Clicks",
"active": true
},
{
"value": "CTR",
"label": "CTR(%)",
"active": true
},
{
"value": "eCPM",
"label": "eCPM($)",
"active": true
},
{
"value": "VCR",
"label": "VCR(%)",
"active": true
},
{
"value": "winRate",
"label": "WinRate(%)",
"active": true
}
],
"sortingInsertionOrdersColumns": [
{
"label": "ID",
"value": "ioId",
"alwaysEnabled": true,
"draggableGroup": 1,
"active": true
},
{
"label": "Insertion Order Name",
"value": "ioName",
"alwaysEnabled": true,
"draggableGroup": 1,
"active": true
},
{
"label": "Total Budget",
"value": "ioTotalBudget",
"active": true
},
{
"value": "impressions",
"label": "Impressions",
"active": true
},
{
"value": "clicks",
"label": "Clicks",
"active": true
},
{
"value": "spent",
"label": "Total Spent($)",
"active": true
},
{
"label": "Start Date",
"value": "startTime",
"active": true
},
{
"label": "End Date",
"value": "endTime",
"active": true
},
{
"label": "Attributed Conversions",
"value": "totalAttributedConversion",
"active": true
}
],
"freeze": {
"columns": 0,
"rows": 0
},
"graph1": {
"value": "impressions",
"label": "Impressions"
},
"graph2": {
"value": "CTR",
"label": "CTR"
},
"dimension": {
"id": 1,
"label": "Campaign",
"order": 1,
"fieldDataType": "text",
"description": "Campaign Name",
"groupId": 1,
"key": "campaign",
"isFilterSupported": true,
"isCustomerDependent": true,
"isRowToColumn": false,
"value": "campaign"
},
"metric": {
"id": 9,
"label": "CTR",
"order": 1,
"fieldDataType": "percent",
"aggregationType": "avg",
"description": "Click-through rate is the percentage of Clicks received per the Impressions served",
"defaultEnabled": true,
"key": "CTR",
"dependentDimensions": null,
"value": "CTR"
},
"filteredCampaignsIds": [],
"filteredGroupsIds": [],
}
}
{
"value": 1692683018233,
"label": "Dashboard Name",
"id": 224,
"data": {
"timezone": {
"label": "US/Eastern",
"value": "US/Eastern",
"id": 29
},
"selectedCampaignTypes": [],
"tableLevel": {
"label": "Campaigns",
"value": "campaigns"
},
"search": "",
"status": {
"label": "Running (15)",
"value": "running"
},
"sortingColumns": [
{
"label": "ID",
"value": "campaignId",
"alwaysEnabled": true,
"draggableGroup": 1,
"active": true
},
{
"value": "campaignName",
"label": "Campaign Name",
"alwaysEnabled": true,
"draggableGroup": 1,
"active": true
},
{
"value": "organizationName",
"label": "Organization",
"alwaysEnabled": true,
"draggableGroup": 1,
"active": true
},
{
"label": "Insertion Order Name",
"value": "ioName",
"alwaysEnabled": true,
"draggableGroup": 1,
"active": true
},
{
"value": "startTime",
"label": "Start date",
"draggableGroup": 1,
"active": true
},
{
"value": "endTime",
"label": "End date",
"draggableGroup": 1,
"active": true
},
{
"value": "maxBid",
"label": "Max Bid($)",
"draggableGroup": 1,
"active": true
},
{
"value": "budgetDay",
"label": "Daily Budget($)",
"draggableGroup": 1,
"active": true
},
{
"value": "budgetTotal",
"label": "Total Budget($)",
"draggableGroup": 1,
"active": true
},
{
"value": "spent",
"label": "Total Spent($)",
"active": true
},
{
"value": "percentageOfTotalSpent",
"label": "Budget Completion(%)",
"active": true
},
{
"value": "impressions",
"label": "Impressions",
"active": true
},
{
"value": "clicks",
"label": "Clicks",
"active": true
},
{
"value": "CTR",
"label": "CTR(%)",
"active": true
},
{
"value": "eCPM",
"label": "eCPM($)",
"active": true
},
{
"value": "VCR",
"label": "VCR(%)",
"active": true
},
{
"value": "winRate",
"label": "WinRate(%)",
"active": true
}
],
"sortingGroupsColumns": [
{
"label": "ID",
"value": "campaignGroupId",
"alwaysEnabled": true,
"draggableGroup": 1
},
{
"label": "Group name",
"value": "campaignGroupName",
"alwaysEnabled": true,
"draggableGroup": 1
},
{
"value": "spent",
"label": "Total Spent($)",
"active": true
},
{
"value": "percentageOfTotalSpent",
"label": "Budget Completion(%)",
"active": true
},
{
"value": "impressions",
"label": "Impressions",
"active": true
},
{
"value": "clicks",
"label": "Clicks",
"active": true
},
{
"value": "CTR",
"label": "CTR(%)",
"active": true
},
{
"value": "eCPM",
"label": "eCPM($)",
"active": true
},
{
"value": "VCR",
"label": "VCR(%)",
"active": true
},
{
"value": "winRate",
"label": "WinRate(%)",
"active": true
}
],
"sortingInsertionOrdersColumns": [
{
"label": "ID",
"value": "ioId",
"alwaysEnabled": true,
"draggableGroup": 1,
"active": true
},
{
"label": "Insertion Order Name",
"value": "ioName",
"alwaysEnabled": true,
"draggableGroup": 1,
"active": true
},
{
"label": "Total Budget",
"value": "ioTotalBudget",
"active": true
},
{
"value": "impressions",
"label": "Impressions",
"active": true
},
{
"value": "clicks",
"label": "Clicks",
"active": true
},
{
"value": "spent",
"label": "Total Spent($)",
"active": true
},
{
"label": "Start Date",
"value": "startTime",
"active": true
},
{
"label": "End Date",
"value": "endTime",
"active": true
},
{
"label": "Attributed Conversions",
"value": "totalAttributedConversion",
"active": true
}
],
"freeze": {
"columns": 0,
"rows": 0
},
"graph1": {
"value": "impressions",
"label": "Impressions"
},
"graph2": {
"value": "CTR",
"label": "CTR"
},
"dimension": {
"id": 1,
"label": "Campaign",
"order": 1,
"fieldDataType": "text",
"description": "Campaign Name",
"groupId": 1,
"key": "campaign",
"isFilterSupported": true,
"isCustomerDependent": true,
"isRowToColumn": false,
"value": "campaign"
},
"metric": {
"id": 9,
"label": "CTR",
"order": 1,
"fieldDataType": "percent",
"aggregationType": "avg",
"description": "Click-through rate is the percentage of Clicks received per the Impressions served",
"defaultEnabled": true,
"key": "CTR",
"dependentDimensions": null,
"value": "CTR"
},
"filteredCampaignsIds": [],
"filteredGroupsIds": [],
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"text/plain; charset=utf-8": {
value: number;
label: string;
id: number;
data: {
timezone: {
id: number;
label: string;
value: string;
};
selectedCampaignTypes: [];
tableLevel: {
label: string;
value: string;
};
search: "";
status: {
label: string;
value: string;
};
sortingColumns: {
label: string;
value: string;
active: boolean;
alwaysEnabled: boolean;
draggableGroup: number;
}[];
sortingGroupsColumns: {
label: string;
value: string;
alwaysEnabled: boolean;
draggableGroup: number;
}[];
sortingInsertionOrdersColumns: {
label: string;
value: string;
alwaysEnabled: boolean;
draggableGroup: number;
};
freeze: {
rows: number;
columns: number;
};
graph1: {
label: string;
value: string;
};
graph2: {
label: string;
value: string;
};
dimension: {
id: number;
key: string;
label: string;
order: number;
value: string;
groupId: number;
description: string;
fieldDataType: string;
isRowToColumn: boolean;
isFilterSupported: boolean;
isCustomerDependent: boolean;
};
metric: {
id: number;
key: string;
label: string;
order: number;
value: string;
description: string;
fieldDataType: string;
defaultEnabled: boolean;
aggregationType: string;
};
filteredCampaignsIds: number[];
filteredGroupsIds: number[];
}
};
};
};
}
function createDashboardAPI(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v2/das/dashboard',
requestBody: {
content: {
"application/json": {
value: `string`,
label: `string`,
data: {
timezone: {
label: `string`,
value: `string`,
id: `number`,
},
selectedCampaignTypes: `[]`,
tableLevel: {
label: `string`,
value: `string`,
},
search: ``,
status: {
label: `string`,
value: `string`,
},
sortingColumns: [
{
label: `string`,
value: `string`,
alwaysEnabled: `boolean`,
draggableGroup: `number`,
active: `boolean`,
}
],
sortingGroupsColumns: [
{
label: `string`,
value: `string`,
alwaysEnabled: `boolean`,
draggableGroup: `number`,
active: `boolean`,
}
],
sortingInsertionOrderColumns: [
{
label: `string`,
value: `string`,
alwaysEnabled: `boolean`,
draggableGroup: `number`,
active: `boolean`,
}
],
freeze: {
columns: `number`,
rows: `number`,
},
graph1: {
value: `string`,
label: `string`,
},
graph2: {
value: `string`,
label: `string`,
},
dimension: {
id: `number`,
label: `string`,
order: `number`,
fieldDataType: `string`,
description: `string`,
groupId: `number`,
key: `string`,
isFilterSupported: `boolean`,
isCustomerDependent: `boolean`,
isRowToColumn: `boolean`,
value: `string`
},
metric: {
id: `number`,
label: `string`,
order: `number`,
fieldDataType: `string`,
aggregationType: `string`,
description: `string`,
defaultEnabled: `boolean`,
key: `string`,
dependentDimensions: `null`,
value: `string`
},
filteredCampaignIds: `array of numbers`,
filteredGroupIds: `array of numbers`,
},
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Update Dashboard
PUT /api/v2/das/dashboard/{dashboardId}Update a Dashboard by ID. See Create Dashboard for supported request body parameters.
Path Parameter | |
---|---|
dashboardId integer | Dashboard ID |
- JSON
- TypeScript
{
"value": 1692683018233,
"label": "Dashboard Name",
"id": "",
"data": {
"freeze": {
"rows": 0,
"columns": 0
},
"graph1": {
"label": "Impressions",
"value": "impressions"
},
"graph2": {
"label": "CTR",
"value": "CTR"
},
"metric": {
"id": 9,
"key": "CTR",
"label": "CTR",
"order": 1,
"value": "CTR",
"description": "Click-through rate is the percentage of Clicks received per the Impressions served",
"fieldDataType": "percent",
"defaultEnabled": true,
"aggregationType": "avg"
},
"search": "",
"status": {
"label": "All (1428)",
"value": "all"
},
"timezone": {
"id": 29,
"label": "US/Eastern",
"value": "US/Eastern"
},
"dimension": {
"id": 1,
"key": "campaign",
"label": "Campaign",
"order": 1,
"value": "campaign",
"groupId": 1,
"description": "Campaign Name",
"fieldDataType": "text",
"isRowToColumn": false,
"isFilterSupported": true,
"isCustomerDependent": true
},
"tableLevel": {
"label": "Campaign Groups",
"value": "groups"
},
"lastModified": 1692167373,
"sortingColumns": [
{
"label": "ID",
"value": "campaignId",
"active": true,
"alwaysEnabled": true,
"draggableGroup": 1
},
{
"label": "Campaign Name",
"value": "campaignName",
"active": true,
"alwaysEnabled": true,
"draggableGroup": 1
},
{
"label": "Organization",
"value": "organizationName",
"active": true,
"alwaysEnabled": true,
"draggableGroup": 1
},
{
"label": "Start date",
"value": "startTime",
"active": true,
"draggableGroup": 1
},
{
"label": "End date",
"value": "endTime",
"active": true,
"draggableGroup": 1
},
{
"label": "Max Bid($)",
"value": "maxBid",
"active": true,
"draggableGroup": 1
},
{
"label": "Daily Budget($)",
"value": "budgetDay",
"active": true,
"draggableGroup": 1
},
{
"label": "Total Budget($)",
"value": "budgetTotal",
"active": true,
"draggableGroup": 1
},
{
"label": "Total Spent($)",
"value": "spent",
"active": true
},
{
"label": "Budget Completion(%)",
"value": "percentageOfTotalSpent",
"active": true
},
{
"label": "Impressions",
"value": "impressions",
"active": true
},
{
"label": "Clicks",
"value": "clicks",
"active": true
},
{
"label": "CTR(%)",
"value": "CTR",
"active": true
},
{
"label": "eCPM($)",
"value": "eCPM",
"active": true
},
{
"label": "VCR(%)",
"value": "VCR",
"active": true
},
{
"label": "WinRate(%)",
"value": "winRate",
"active": true
}
],
"filteredGroupsIds": [
135120
],
"filteredCampaignsIds": [
334656,
334651,
334650,
334649
],
"sortingGroupsColumns": [
{
"label": "ID",
"value": "campaignGroupId",
"alwaysEnabled": true,
"draggableGroup": 1
},
{
"label": "Group name",
"value": "campaignGroupName",
"alwaysEnabled": true,
"draggableGroup": 1
},
{
"label": "Total Spent($)",
"value": "spent",
"active": true
},
{
"label": "Budget Completion(%)",
"value": "percentageOfTotalSpent",
"active": true
},
{
"label": "Impressions",
"value": "impressions",
"active": true
},
{
"label": "Clicks",
"value": "clicks",
"active": true
},
{
"label": "CTR(%)",
"value": "CTR",
"active": true
},
{
"label": "eCPM($)",
"value": "eCPM",
"active": true
},
{
"label": "VCR(%)",
"value": "VCR",
"active": true
},
{
"label": "WinRate(%)",
"value": "winRate",
"active": true
}
],
"selectedCampaignTypes": [],
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"text/plain; charset=utf-8": {
value: number;
label: string;
id: number;
data: {
timezone: {
id: number;
label: string;
value: string;
};
selectedCampaignTypes: [];
tableLevel: {
label: string;
value: string;
};
search: "";
status: {
label: string;
value: string;
};
sortingColumns: {
label: string;
value: string;
active: boolean;
alwaysEnabled: boolean;
draggableGroup: number;
}[];
sortingGroupsColumns: {
label: string;
value: string;
alwaysEnabled: boolean;
draggableGroup: number;
}[];
sortingInsertionOrdersColumns: {
label: string;
value: string;
alwaysEnabled: boolean;
draggableGroup: number;
};
freeze: {
rows: number;
columns: number;
};
graph1: {
label: string;
value: string;
};
graph2: {
label: string;
value: string;
};
dimension: {
id: number;
key: string;
label: string;
order: number;
value: string;
groupId: number;
description: string;
fieldDataType: string;
isRowToColumn: boolean;
isFilterSupported: boolean;
isCustomerDependent: boolean;
};
metric: {
id: number;
key: string;
label: string;
order: number;
value: string;
description: string;
fieldDataType: string;
defaultEnabled: boolean;
aggregationType: string;
};
filteredCampaignsIds: number[];
filteredGroupsIds: number[];
}
};
};
};
}
function updateDashboardAPI(): Promise<Responses> {
const options = {
method: 'PUT',
url: 'https://app.iqm.com/api/v2/das/dashboard/{dashboardId}',
params: {
path: {
dashboardId: `number`,
}
},
requestBody: {
content: {
"application/json": {
value: `string`,
label: `string`,
data: {
timezone: {
label: `string`,
value: `string`,
id: `number`,
},
selectedCampaignTypes: `[]`,
tableLevel: {
label: `string`,
value: `string`,
},
search: ``,
status: {
label: `string`,
value: `string`,
},
sortingColumns: [
{
label: `string`,
value: `string`,
alwaysEnabled: `boolean`,
draggableGroup: `number`,
active: `boolean`,
}
],
sortingGroupsColumns: [
{
label: `string`,
value: `string`,
alwaysEnabled: `boolean`,
draggableGroup: `number`,
active: `boolean`,
}
],
sortingInsertionOrderColumns: [
{
label: `string`,
value: `string`,
alwaysEnabled: `boolean`,
draggableGroup: `number`,
active: `boolean`,
}
],
freeze: {
columns: `number`,
rows: `number`,
},
graph1: {
value: `string`,
label: `string`,
},
graph2: {
value: `string`,
label: `string`,
},
dimension: {
id: `number`,
label: `string`,
order: `number`,
fieldDataType: `string`,
description: `string`,
groupId: `number`,
key: `string`,
isFilterSupported: `boolean`,
isCustomerDependent: `boolean`,
isRowToColumn: `boolean`,
value: `string`
},
metric: {
id: `number`,
label: `string`,
order: `number`,
fieldDataType: `string`,
aggregationType: `string`,
description: `string`,
defaultEnabled: `boolean`,
key: `string`,
dependentDimensions: `null`,
value: `string`
},
filteredCampaignIds: `array of numbers`,
filteredGroupIds: `array of numbers`,
},
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Delete Dashboard
DELETE /api/v2/das/dashboardDelete a Dashboard.
Query Paramter | |
---|---|
id integer | Dashboard ID. |
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": unknown;
};
};
}
function deleteDashboardAPI(): Promise<Responses> {
const options = {
method: 'DELETE',
url: 'https://app.iqm.com/api/v2/das/dashboard',
params: {
query: {
id: `number`,
}
}d
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Dashboard Reports
Create custom Reports or generate tailored Insights Reports from the Dashboard.
Dashboard Reports Resource Properties
Resource Properties
clicks integer | The number of times a user clicked on an ad |
totalCount integer | The number of records available in response as per the filtering applied in the request |
winRate integer | Percentage of impressions bid on and won |
logoUrl string | Logo URL |
avatarUrl string | Avatar URL |
budgetDay integer | Daily budget for Campaign serving daily |
budgetSpent integer | Budget spent |
ioTotalBudget integer | Insertion Order total budget |
budgetTotal integer | Campaign total budget Note: can be null if fixed daily budget, start time, and end time are provided |
dataCost integer | Data cost applied on Campaigns of given Customer |
mediaBudget integer | Media budget |
owId integer | Organization Workspace ID |
orgId integer | Organization ID |
impressions integer | Impressions |
industry integer | Industry ID |
mediaSpent integer | Actual amount spent by an Advertiser (does not include dataCost or prebidCost |
spent integer | Amount spent |
workspaceSpent integer | Workspace spent |
platformSpent integer | Platform spent |
customerSpent integer | Customer spent |
platformMediaEarning integer | Platform media earning |
platformBidShadingEarning integer | Platform bid shading earning |
platformTotalEarning integer | Platform total earning |
workspaceMediaEarning integer | Workspace media earning |
workspaceBidShadingEarning integer | Workspace bid shading earning |
workspaceTotalEarning integer | Workspace total earning |
organizationBidShadingSaving integer | Organization bid shading saving |
platformEarning integer | Platform earning |
workspaceEarning integer | Workspace earning |
organizationName integer | Organization name |
companySize integer | Company size ID |
workspaceName integer | Workspace name |
workspaceId integer | Workspace ID |
workspaceDomain integer | Workspace domain |
workspaceOrganizationName integer | Workspace Organization name |
bidImpressions integer | Bid on impressions count |
startCount integer | Ad viewing metric, video start |
firstCount integer | Ad viewing metric, video first quarter |
midCount integer | Ad viewing metric, video midpoint |
thirdCount integer | Ad viewing metric, video last quarter |
completeCount integer | Ad viewing metric, video completed |
audioVideoActualBids integer | Audio/video actual bids |
audioVideoActualImpressions integer | Audio/video actual impressions |
eCPC integer | Effective cost per click |
eCPM integer | Effective cost per mille |
eCPI integer | Effective cost per install |
eCPCV integer | Effective cost per completed view |
eCPV integer | Effective cost per visit |
dailyImpression integer | Daily impressions |
totalAttributedConversion integer | The number of Conversions that are attributed to a specific Campaign based on the Attribution model |
totalAttributedViewThroughConversion integer | The number of Conversions that occurred after a user viewed an ad but did not click on it |
totalAttributedClickThroughConversion integer | The number of Conversions that occurred after a user clicked on an ad |
costPerAttributedConversion integer | Cost per attributed Conversion |
totalAttributedConversionRate integer | Total attributed Conversion rate |
conversionCount integer | Conversion count |
conversionValue integer | Conversion value |
conversionCPA integer | Conversion CPA |
conversionRate integer | Conversion rate |
reach integer | The number of unique individuals exposed to an ad, does not count repeat views |
frequency integer | The average number of times each user was exposed to an ad |
date integer | Date |
campaignId integer | Campaign ID |
campaignName string | Campaign name |
maxBid integer | Max bid of budget for serving |
baseBid integer | Base value on which bid modifiers are applied |
startTime integer | Unix epoch timestamp, in milliseconds |
endTime integer | Unix epoch timestamp, in milliseconds |
ioStartTime integer | Unix epoch timestamp of IO start time, in milliseconds |
ioEndTime integer | Unix epoch timestamp of IO end time, in milliseconds |
campaignType string | Campaign type |
status string | Status |
campaignTimezone string | Campaign timezone |
creativeType string | Creative type |
budgetPacing boolean | Budget is spent equally every hour: true |
isCampaignFromNewPlatform boolean | Indicates if Campaign is from the old platform |
percentageOfTotalSpent integer | Percentage of total spent |
vldInsightsCost integer | VLD Insights cost |
workspaceVLDInsightsEarnings integer | Workspace VLD Insights earnings |
platformVLDInsightsEarnings integer | Platform VLD Insights earnings |
pldInsightsCost integer | PLD Insights cost |
workspacePLDInsightsEarnings integer | Workspace PLD Insights earnings |
platformPLDInsightsEarnings integer | Platform PLD Insights earnings |
uowId integer | User Organization Workspce ID |
audioVideoViewed integer | Audio/video viewed |
ioId integer | Insertion Order ID |
ioName string | Insertion Order name |
ioTimezone integer | Insertion Order timezone |
ioBudgetTypeId integer | Insertion Order Budget Type ID |
ioStatusId integer | Insertion Order Status ID |
ioBudgetDistributionMethod integer | IO Budget Distribution Method |
pacingPercentage integer | Pacing percentage |
actualSpent integer | Actual spent |
expectedSpent integer | Expected spent |
campaignDuration integer | Campaign duration |
remainingDuraion integer | Campaign remaining duration |
dailyPacingPercentage integer | Daily pacing percentage |
expectedDailySpent integer | Expected daily spent |
actualDailySpent integer | Actual daily spent |
budgetTypeId integer | Budget Type ID |
campaignTypeId integer | Campaign Type ID |
isEligibleForVLDInsightsReport boolean | Indicates whether Campaign is eligible for VLD Insights Report: true |
isEligibleForPLDInsightsReport boolean | Indicates whether Campaign is eligible for PLD Insights Report: true |
targetImpression integer | Impressions target |
creativesCount integer | Creatives count |
campaignPriority integer | Campaign priority |
bidModelDataId integer | Bid Model data ID |
campaignsCount integer | Number of Campaigns associated with IO |
ioTotalImpressions integer | IO total impressions |
ioPacingPercentage integer | IO pacing percentage |
ioActualSpent integer | IO actual spent |
ioExpectedSpent integer | IO expected spent |
ioDuration integer | IO duration |
ioRemainingDuraiton integer | IO remaining duration |
exchangeId integer | Exchange ID |
exchangeName string | Exchange name |
autoSumIoTotalBudget boolean | If true Keeps IO budget same as total budget of all included Campaigns |
isAutoSumIoTotalBudget boolean | If true Keeps IO budget same as total budget of all included Campaigns |
budgetTotalCombined integer | Combined total budgets of all Campaigns associated with an IO |
budgetDayCombined integer | Combined daily budgets of all Campaigns associated with an IO |
ioTotalBudgetCombined integer | Combined total budgets of selected IOs |
CTR integer | Click-through rate |
VCR integer | Video completion rate |
CVR integer | Conversion rate |
Workspace Report
POST /api/v3/das/report/by-workspaceGet a Report on a Campaign's performance by Workspace and supported filters.
Request Schema | |
---|---|
startDate string | Unix epoch timestamp, in milliseconds |
endDate string | Unix epoch timestamp, in milliseconds |
timeZoneId integer | Timezone ID |
campaignStatus string | Campaign status |
creativeTypeIds string | Comma separeted Creative type IDs |
searchField string | Search results by keyword |
sortBy string | Sort results by field, default: impressions |
order string | Sorts by ascending (ASC) or descending (DESC) |
owIds string | Comma separated Organization Workspace IDs |
pageNo integer | Page number for the data, default: 1 |
noOfEntries integer | Maximum number of entries returned, default: 50 |
resultType string | Only total rows in response (total) or only data in response (data) |
- JSON
- TypeScript
{
"startDate": "1660834800000",
"endDate": "1660834800001",
"timezoneId": 1,
"campaignStatus": "all",
"creativeTypeIds": "",
"searchField": "",
"sortBy": "impressions",
"order": "DESC",
"owIds": "1,2,3,4",
"pageNo": 1,
"noOfEntries": 50,
"resultType": "total"
}
{
"success": true,
"data": {
"totalRecords": 57,
"filteredRecords": 57,
"recordsTotal": {
"clicks": 0,
"totalCount": 57,
"winRate": 0,
"logoURL": null,
"avatarURL": null,
"budgetDay": 1.8985625880766135e+307,
"budgetSpent": 60000,
"budgetTotal": 5.9e+307,
"dataCost": 0,
"mediaBudget": 7,
"owId": 0,
"orgId": 0,
"impressions": 0,
"industry": 0,
"mediaSpent": 0,
"spent": 0,
"workspaceSpent": 0,
"platformSpent": 0,
"customerSpent": 0,
"platformMediaEarning": 0,
"platformBidShadingEarning": 0,
"platformTotalEarning": 0,
"workspaceMediaEarning": 0,
"workspaceBidShadingEarning": 0,
"workspaceTotalEarning": 0,
"organizationBidShadingSaving": 0,
"organizationName": null,
"companySize": 0,
"workspaceName": null,
"workspaceId": 0,
"workspaceDomain": null,
"workspaceOrganizationName": null,
"bidImpressions": 0,
"startCount": 0,
"firstCount": 0,
"midCount": 0,
"thirdCount": 0,
"completeCount": 0,
"audioVideoActualBids": 0,
"audioVideoActualImpressions": 0,
"eCPC": 0,
"eCPM": 0,
"eCPI": 0,
"eCPCV": 0,
"eCPV": 0,
"totalAttributedConversion": 0,
"totalAttributedViewThroughConversion": 0,
"totalAttributedClickThroughConversion": 0,
"costPerAttributedConversion": 0,
"totalAttributedConversionRate": 0,
"reach": 0,
"frequency": 0,
"date": null,
"campaignId": 0,
"campaignName": null,
"maxBid": 0,
"startTime": 0,
"endTime": 0,
"campaignType": null,
"status": null,
"mappingDataCost": 0,
"mappingSpent": 0,
"campaignTimezone": null,
"creativeType": null,
"budgetPacing": false,
"isCampaignFromNewPlatform": false,
"percentageOfTotalSpent": 0,
"vldInsightsCost": null,
"workspaceVLDInsightsEarnings": null,
"platformVLDInsightsEarnings": null,
"pldInsightsCost": null,
"workspacePLDInsightsEarnings": null,
"platformPLDInsightsEarnings": null,
"uowId": 0,
"audioVideoViewed": 0,
"ioId": 0,
"ioName": null,
"ioTimezone": 0,
"ioBudgetDistributionMethod": 0,
"exchangeId": 0,
"exchangeName": null,
"autoSumIoTotalBudget": false,
"CTR": 0,
"VCR": 0,
"CVR": 0
}
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
success: boolean;
data: {
totalRecords: number;
filteredRecords: number;
recordsTotal: {
click: number;
totalCount: number;
winRate: number;
logoUrl: string;
avatarUrl: string;
budgetDay: number;
budgetSpent: number;
budgetTotal: number;
dataCost: number;
mediaBudget: number;
owId: number;
orgId: number;
impressions: number;
industry: number;
mediaSpent: number;
spent: number;
workspaceSpent: number;
platformSpent: number;
customerSpent: number;
platformMediaEarning: number;
platformBidShadingEarning: number;
platformTotalEarning: number;
workspaceMediaEarning: number;
workspaceBidShadingEarning: number;
workspaceTotalEarning: number;
organizationBidShadingSaving: number;
organizationName: string;
companySize: number;
workspaceName: string;
workspaceId: number;
workspaceDomain: string;
workspaceOrganizationName: string;
bidImpressions: number;
startCount: number;
firstCount: number;
midCount: number;
thirdCount: number;
completeCount: number;
audioVideoActualBids: number;
audioVideoActualImpressions: number;
eCPC: number;
eCPM: number;
eCPI: number;
eCPCV: number;
eCPv: number;
totalAttributedConversion: number;
totalAttributedViewThroughConversion: number;
totalAttributedClickThroughConversion: number;
costPerAttributedConversion: number;
totalAttributedConversionRate: number;
reach: number;
frequency: number;
date: number;
campaignId: number;
campaignName: string;
maxBid: number;
startTime: number;
endTime: number;
campaignType: string;
status: number;
mappingDataCost: number;
mappingSpent: number;
campaignTimezone: string;
creativeType: string;
budgetPacing: boolean;
isCampaignFromNewPlatform: boolean;
percentageOfTotalSpent: number;
vldInsightsCost: number;
workspaceVLDInsightsEarnings: number;
platformVLDInsightsEarnings: number;
pldInsightsCost: number;
workspacePLDInsightsEarnings: number;
platformPLDInsightsEarnings: number;
uowId: number;
audioVideoViewed: number;
ioId: number;
ioName: string;
ioTimezone: number;
ioBudgetDistributionMethod: number;
exchangeId: number;
exchangeName: string;
autoSumTotalBudget: boolean;
CTR: number;
VCR: number;
CVR: number;
}
}
}
};
};
}
function dashboard-report-by-workspace(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/das/report/by-workspace',
requestBody: {
content: {
"application/json": {
searchBy?: string[],
columns?: {
[key: string]: Record<string, never>,
}[],
startDate?: `number`,
endDate?: `number`,
timezoneId?: `number`,
timezoneName?: `string`,
resultType?: `string`,
campaignStatus?: `string`,
campaignStatusList?: `string[]`,
creativeTypeIds?: `number[]`,
owIds?: `string`,
owIdsList?: `number[]`,
workspaceOwIdsList?: `number[]`,
customerOwIdsList?: `number[]`,
tab?: `string`,
isGraph?: `boolean`,
dayDiff?: `number`,
download?: `boolean`,
fileType?: `string`,
fileName?: `string`,
campaignIds?: `number[]`,
campaignGroupIds?: `number[]`,
isBetaUser?: `boolean`,
isAudienceFlagsRequired?: `boolean`,
loggedInUowId?: `number`,
graphType?: `string`,
ioIdsList?: `number[]`,
ioStatusIdsList?: `number[]`,
ids?: `number[]`,
budgetTypeIdList?: `number[]`,
campaignTypeIds?: `number[]`,
organizationType?: `string`,
campaignRequest?: `boolean`,
dataQueryEligible?: `boolean`,
totalQueryEligible?: `boolean`,
pagination?: `string`,
pageNo?: `number`,
noOfEntries?: `number`,
sortBy?: `string`,
searchField?: `string`,
order?: `ASC` | `DESC`,
offset?: `number`,
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
IO Report
POST /api/v3/das/report/by-ioGet a Report on a Campaign's performance by Insertion Order and supported filters.
Request Schema | |
---|---|
startDate string | Unix epoch timestamp, in milliseconds |
endDate string | Unix epoch timestamp, in milliseconds |
timeZoneId integer | Timezone ID |
campaignStatus string | Campaign status |
creativeTypeIds string | Comma separeted Creative type IDs |
searchField string | Search results by keyword |
sortBy string | Sort results by field, default: impressions |
order string | Sorts by ascending (ASC) or descending (DESC) |
owIds string | Comma separated Organization Workspace IDs |
pageNo integer | Page number for the data, default: 1 |
noOfEntries integer | Maximum number of entries returned, default: 50 |
resultType string | Only total rows in response (total) or only data in response (data) |
ioIdsList array of integers | IO IDs list |
budgetTypeIdList array of integers | Budget type ID list |
ioStatusIdsList array of integers | IO status ID list |
- JSON
- TypeScript
{
"startDate": "1660834800000",
"endDate": "1660834800001",
"timezoneId": 1,
"campaignStatus": "all",
"creativeTypeIds": "11,12",
"searchField": "sample",
"sortBy": "impressions",
"order": "DESC",
"owIds": "1,2,3,4",
"pageNo": 1,
"noOfEntries": 50,
"resultType": "total",
"ioIdsList": [
1,
2,
3
],
"budgetTypeIdList": [
1,
2
],
"ioStatusIdsList": [
1,
2
]
}
{
"success": true,
"data": {
"recordsTotal": {
"clicks": 0,
"totalCount": 26,
"winRate": 0.0,
"logoURL": null,
"avatarURL": null,
"budgetDay": 0.0,
"budgetSpent": 0.0,
"ioTotalBudget": 98461.95,
"dataCost": 0.0,
"mediaBudget": 0.0,
"owId": 0,
"orgId": 0,
"impressions": 0,
"industry": 0,
"mediaSpent": 0.0,
"spent": 0.0,
"workspaceSpent": 0.0,
"platformSpent": 0.0,
"customerSpent": 0.0,
"platformEarning": 0.0,
"workspaceEarning": 0.0,
"organizationName": null,
"companySize": 0,
"workspaceName": null,
"workspaceId": 0,
"workspaceDomain": null,
"workspaceOrganizationName": null,
"bidImpressions": 0,
"startCount": 0,
"firstCount": 0,
"midCount": 0,
"thirdCount": 0,
"completeCount": 0,
"audioVideoActualBids": 0,
"audioVideoActualImpressions": 0,
"eCPC": 0.0,
"eCPM": 0.0,
"eCPI": 0.0,
"eCPCV": 0.0,
"eCPV": 0.0,
"reach": 0,
"frequency": 0.0,
"totalAttributedConversion": 0,
"totalAttributedViewThroughConversion": 0,
"totalAttributedClickThroughConversion": 0,
"costPerAttributedConversion": 0.0,
"totalAttributedConversionRate": 0.0,
"reach": null,
"frequency": null,
"date": null,
"campaignId": 0,
"campaignName": null,
"maxBid": 0.0,
"ioStartTime": 0,
"ioEndTime": 0,
"campaignType": null,
"status": null,
"mappingDataCost": 0.0,
"mappingSpent": 0.0,
"campaignTimezone": null,
"creativeType": null,
"budgetPacing": false,
"isCampaignFromNewPlatform": false,
"percentageOfTotalSpent": 0.0,
"uowId": 0,
"audioVideoViewed": 0.0,
"ioId": 0,
"ioName": null,
"ioTimezone": 0,
"ioBudgetTypeId": 1,
"ioStatusId": 1,
"campaignsCount": 0,
"ioTotalImpressions": 2934,
"ioPacingPercentage": null,
"ioActualSpent": 0,
"ioExpectedSpent": 0,
"ioDuration": 0,
"ioRemainingDuration": 0,
"ioBudgetDistributionMethod": 0,
"exchangeId": 0,
"exchangeName": null,
"isAutoSumIoTotalBudget": false,
"vldInsightsCost": 12.33,
"budgetTotalCombined": 0.0,
"budgetDayCombined": 0.0,
"ioTotalBudgetCombined": 1000.0,
"CTR": 0.0,
"VCR": 0.0,
"CVR": 0.0
}
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
success: boolean;
data: {
totalRecords: number;
filteredRecords: number;
recordsTotal: {
click: number;
totalCount: number;
winRate: number;
logoUrl: string;
avatarUrl: string;
budgetDay: number;
budgetSpent: number;
budgetTotal: number;
dataCost: number;
mediaBudget: number;
owId: number;
orgId: number;
impressions: number;
industry: number;
mediaSpent: number;
spent: number;
workspaceSpent: number;
platformSpent: number;
customerSpent: number;
platformMediaEarning: number;
platformBidShadingEarning: number;
platformTotalEarning: number;
workspaceMediaEarning: number;
workspaceBidShadingEarning: number;
workspaceTotalEarning: number;
organizationBidShadingSaving: number;
organizationName: string;
companySize: number;
workspaceName: string;
workspaceId: number;
workspaceDomain: string;
workspaceOrganizationName: string;
bidImpressions: number;
startCount: number;
firstCount: number;
midCount: number;
thirdCount: number;
completeCount: number;
audioVideoActualBids: number;
audioVideoActualImpressions: number;
eCPC: number;
eCPM: number;
eCPI: number;
eCPCV: number;
eCPv: number;
totalAttributedConversion: number;
totalAttributedViewThroughConversion: number;
totalAttributedClickThroughConversion: number;
costPerAttributedConversion: number;
totalAttributedConversionRate: number;
reach: number;
frequency: number;
date: number;
campaignId: number;
campaignName: string;
maxBid: number;
startTime: number;
endTime: number;
campaignType: string;
status: number;
mappingDataCost: number;
mappingSpent: number;
campaignTimezone: string;
creativeType: string;
budgetPacing: boolean;
isCampaignFromNewPlatform: boolean;
percentageOfTotalSpent: number;
vldInsightsCost: number;
workspaceVLDInsightsEarnings: number;
platformVLDInsightsEarnings: number;
pldInsightsCost: number;
workspacePLDInsightsEarnings: number;
platformPLDInsightsEarnings: number;
uowId: number;
audioVideoViewed: number;
ioId: number;
ioName: string;
ioTimezone: number;
ioBudgetDistributionMethod: number;
ioStatusId: number;
campaignsCount: number;
ioTotalImpressions: number;
ioPacingPercentage: number;
ioActualSpent: number;
ioExpectedSpent: number;
ioDuration: number;
ioRemainingDuraiton: number;
exchangeId: number;
exchangeName: string;
isAutoSumIoTotalBudget: boolean;
budgetTotalCombined: number;
budgetDayCombined: number;
ioTotalBudgetCombined: number;
CTR: number;
VCR: number;
CVR: number;
}
}
}
};
};
}
function dashboard-report-by-io(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/das/report/by-io',
requestBody: {
content: {
"application/json": {
searchBy?: string[],
columns?: {
[key: string]: Record<string, never>,
}[],
startDate?: `number`,
endDate?: `number`,
timezoneId?: `number`,
timezoneName?: `string`,
resultType?: `string`,
campaignStatus?: `string`,
campaignStatusList?: `string[]`,
creativeTypeIds?: `number[]`,
owIds?: `string`,
owIdsList?: `number[]`,
workspaceOwIdsList?: `number[]`,
customerOwIdsList?: `number[]`,
tab?: `string`,
isGraph?: `boolean`,
dayDiff?: `number`,
download?: `boolean`,
fileType?: `string`,
fileName?: `string`,
campaignIds?: `number[]`,
campaignGroupIds?: `number[]`,
isBetaUser?: `boolean`,
isAudienceFlagsRequired?: `boolean`,
loggedInUowId?: `number`,
graphType?: `string`,
ioIdsList?: `number[]`,
ioStatusIdsList?: `number[]`,
ids?: `number[]`,
budgetTypeIdList?: `number[]`,
campaignTypeIds?: `number[]`,
organizationType?: `string`,
campaignRequest?: `boolean`,
dataQueryEligible?: `boolean`,
totalQueryEligible?: `boolean`,
pagination?: `string`,
pageNo?: `number`,
noOfEntries?: `number`,
sortBy?: `string`,
searchField?: `string`,
order?: `ASC` | `DESC`,
offset?: `number`,
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Exchange Report
POST /api/v3/report/by-exchangeGet a Report on a Campaign's performance by Exchange and supported filters.
Request Schema | |
---|---|
startDate string | Unix epoch timestamp, in milliseconds |
endDate string | Unix epoch timestamp, in milliseconds |
timeZoneId integer | Timezone ID |
campaignStatus string | Campaign status |
creativeTypeIds string | Comma separeted Creative type IDs |
searchField string | Search results by keyword |
sortBy string | Sort results by field, default: impressions |
order string | Sorts by ascending (ASC) or descending (DESC) |
owIds string | Comma separated Organization Workspace IDs |
pageNo integer | Page number for the data, default: 1 |
noOfEntries integer | Maximum number of entries returned, default: 50 |
resultType string | Only total rows in response (total) or only data in response (data) |
- JSON
- TypeScript
{
"startDate": "1660834800000",
"endDate": "1660834800001",
"timezoneId": 1,
"campaignStatus": "all",
"creativeTypeIds": "",
"searchField": "",
"sortBy": "impressions",
"order": "DESC",
"owIds": "1,2,3,4",
"pageNo": 1,
"noOfEntries": 50,
"resultType": "total"
}
{
"success": true,
"data": {
"totalRecords": 322,
"filteredRecords": 322,
"recordsTotal": {
"clicks": 0,
"totalCount": 0,
"winRate": 0,
"logoURL": null,
"avatarURL": null,
"budgetDay": 0,
"budgetSpent": 0,
"budgetTotal": 0,
"dataCost": 0,
"mediaBudget": 0,
"owId": 0,
"orgId": 0,
"impressions": 0,
"industry": 0,
"mediaSpent": 0,
"spent": 0,
"workspaceSpent": 0,
"platformSpent": 0,
"customerSpent": 0,
"platformMediaEarning": 0,
"platformBidShadingEarning": 0,
"platformTotalEarning": 0,
"workspaceMediaEarning": 0,
"workspaceBidShadingEarning": 0,
"workspaceTotalEarning": 0,
"organizationBidShadingSaving": 0,
"organizationName": null,
"companySize": 0,
"workspaceName": null,
"workspaceId": 0,
"workspaceDomain": null,
"workspaceOrganizationName": null,
"bidImpressions": 0,
"startCount": 0,
"firstCount": 0,
"midCount": 0,
"thirdCount": 0,
"completeCount": 0,
"audioVideoActualBids": 0,
"audioVideoActualImpressions": 0,
"eCPC": 0,
"eCPM": 0,
"eCPI": 0,
"eCPCV": 0,
"eCPV": 0,
"conversionCount": 0,
"conversionValue": 0,
"conversionCPA": 0,
"conversionRate": 0,
"reach": 0,
"frequency": 0,
"date": null,
"campaignId": 0,
"campaignName": null,
"maxBid": 0,
"startTime": 0,
"endTime": 0,
"campaignType": null,
"status": null,
"mappingDataCost": 0,
"mappingSpent": 0,
"campaignTimezone": null,
"creativeType": null,
"budgetPacing": false,
"isCampaignFromNewPlatform": false,
"percentageOfTotalSpent": 0,
"uowId": 0,
"audioVideoViewed": 0,
"campaignGroupId": 0,
"campaignGroupName": null,
"exchangeId": 0,
"exchangeName": null,
"CTR": 0,
"VCR": 0,
"CVR": 0
}
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
success: boolean;
data: {
totalRecords: number;
filteredRecords: number;
recordsTotal: {
click: number;
totalCount: number;
winRate: number;
logoUrl: string;
avatarUrl: string;
budgetDay: number;
budgetSpent: number;
budgetTotal: number;
dataCost: number;
mediaBudget: number;
owId: number;
orgId: number;
impressions: number;
industry: number;
mediaSpent: number;
spent: number;
workspaceSpent: number;
platformSpent: number;
customerSpent: number;
platformMediaEarning: number;
platformBidShadingEarning: number;
platformTotalEarning: number;
workspaceMediaEarning: number;
workspaceBidShadingEarning: number;
workspaceTotalEarning: number;
organizationBidShadingSaving: number;
organizationName: string;
companySize: number;
workspaceName: string;
workspaceId: number;
workspaceDomain: string;
workspaceOrganizationName: string;
bidImpressions: number;
startCount: number;
firstCount: number;
midCount: number;
thirdCount: number;
completeCount: number;
audioVideoActualBids: number;
audioVideoActualImpressions: number;
eCPC: number;
eCPM: number;
eCPI: number;
eCPCV: number;
eCPv: number;
conversionCount: number;
conversionValue: number;
conversionCPA: number;
conversionRate: number;
reach: number;
frequency: number;
date: number;
campaignId: number;
campaignName: string;
maxBid: number;
startTime: number;
endTime: number;
campaignType: string;
status: number;
mappingDataCost: number;
mappingSpent: number;
campaignTimezone: string;
creativeType: string;
budgetPacing: boolean;
isCampaignFromNewPlatform: boolean;
percentageOfTotalSpent: number;
uowId: number;
audioVideoViewed: number;
campaignGroupId: number;
campaignGroupName: string;
exchangeId: number;
exchangeName: string;
CTR: number;
VCR: number;
CVR: number;
}
}
}
};
};
}
function dashboard-report-by-exchange(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/das/report/by-exchange',
requestBody: {
content: {
"application/json": {
searchBy?: string[],
columns?: {
[key: string]: Record<string, never>,
}[],
startDate?: `number`,
endDate?: `number`,
timezoneId?: `number`,
timezoneName?: `string`,
resultType?: `string`,
campaignStatus?: `string`,
campaignStatusList?: `string[]`,
creativeTypeIds?: `number[]`,
owIds?: `string`,
owIdsList?: `number[]`,
workspaceOwIdsList?: `number[]`,
customerOwIdsList?: `number[]`,
tab?: `string`,
isGraph?: `boolean`,
dayDiff?: `number`,
download?: `boolean`,
fileType?: `string`,
fileName?: `string`,
campaignIds?: `number[]`,
campaignGroupIds?: `number[]`,
isBetaUser?: `boolean`,
isAudienceFlagsRequired?: `boolean`,
loggedInUowId?: `number`,
graphType?: `string`,
ioIdsList?: `number[]`,
ioStatusIdsList?: `number[]`,
ids?: `number[]`,
budgetTypeIdList?: `number[]`,
campaignTypeIds?: `number[]`,
organizationType?: `string`,
campaignRequest?: `boolean`,
dataQueryEligible?: `boolean`,
totalQueryEligible?: `boolean`,
pagination?: `string`,
pageNo?: `number`,
noOfEntries?: `number`,
sortBy?: `string`,
searchField?: `string`,
order?: `ASC` | `DESC`,
offset?: `number`,
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Customer Report
POST /api/v3/das/report/by-customerGet a Report on a Campaign's performance by Customer(Advertiser) and supported filters.
Request Schema | |
---|---|
startDate string | Unix epoch timestamp, in milliseconds |
endDate string | Unix epoch timestamp, in milliseconds |
timeZoneId integer | Timezone ID |
campaignStatus string | Campaign status |
creativeTypeIds string | Comma separeted Creative type IDs |
searchField string | Search results by keyword |
sortBy string | Sort results by field, default: impressions |
order string | Sorts by ascending (ASC) or descending (DESC) |
owIds string | Comma separated Organization Workspace IDs |
pageNo integer | Page number for the data, default: 1 |
noOfEntries integer | Maximum number of entries returned, default: 50 |
resultType string | Only total rows in response (total) or only data in response (data) |
campaignTypeIds array of integers | Campaign type IDs list |
budgetTypeIdList array of integers | Budget type ID list |
- JSON
- TypeScript
{
"startDate": "1660834800000",
"endDate": "1660834800001",
"timezoneId": 1,
"campaignStatus": "all",
"creativeTypeIds": "",
"campaignTypeIds": [
1
],
"budgetTypeIdList": [
1
],
"searchField": "",
"sortBy": "impressions",
"order": "DESC",
"owIds": "1,2,3,4",
"pageNo": 1,
"noOfEntries": 50,
"resultType": "total"
}
{
"success": true,
"data": {
"totalRecords": 322,
"filteredRecords": 322,
"recordsTotal": {
"clicks": 0,
"totalCount": 322,
"winRate": 0,
"logoURL": null,
"avatarURL": null,
"budgetDay": 1.8985625880766135e+307,
"budgetSpent": 3000,
"budgetTotal": 5.9e+307,
"dataCost": 0,
"mediaBudget": 4,
"owId": 0,
"orgId": 0,
"impressions": 0,
"industry": 0,
"mediaSpent": 0,
"spent": 0,
"workspaceSpent": 0,
"platformSpent": 0,
"customerSpent": 0,
"platformMediaEarning": 0,
"platformBidShadingEarning": 0,
"platformTotalEarning": 0,
"workspaceMediaEarning": 0,
"workspaceBidShadingEarning": 0,
"workspaceTotalEarning": 0,
"organizationBidShadingSaving": 0,
"organizationName": null,
"companySize": 0,
"workspaceName": null,
"workspaceId": 0,
"workspaceDomain": null,
"workspaceOrganizationName": null,
"bidImpressions": 0,
"startCount": 0,
"firstCount": 0,
"midCount": 0,
"thirdCount": 0,
"completeCount": 0,
"audioVideoActualBids": 0,
"audioVideoActualImpressions": 0,
"eCPC": 0,
"eCPM": 0,
"eCPI": 0,
"eCPCV": 0,
"eCPV": 0,
"totalAttributedConversion": 0,
"totalAttributedViewThroughConversion": 0,
"totalAttributedClickThroughConversion": 0,
"costPerAttributedConversion": 0,
"totalAttributedConversionRate": 0,
"reach": 0,
"frequency": 0,
"date": null,
"campaignId": 0,
"campaignName": null,
"maxBid": 0,
"startTime": 0,
"endTime": 0,
"campaignType": null,
"status": null,
"mappingDataCost": 0,
"mappingSpent": 0,
"campaignTimezone": null,
"creativeType": null,
"budgetPacing": false,
"isCampaignFromNewPlatform": false,
"percentageOfTotalSpent": 0,
"vldInsightsCost": null,
"workspaceVLDInsightsEarnings": null,
"platformVLDInsightsEarnings": null,
"pldInsightsCost": null,
"workspacePLDInsightsEarnings": null,
"platformPLDInsightsEarnings": null,
"uowId": 0,
"audioVideoViewed": 0,
"ioId": 0,
"ioName": null,
"ioTimezone": 0,
"ioBudgetDistributionMethod": 0,
"exchangeId": 0,
"exchangeName": null,
"autoSumIoTotalBudget": false,
"CTR": 0,
"VCR": 0,
"CVR": 0
}
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
success: boolean;
data: {
totalRecords: number;
filteredRecords: number;
recordsTotal: {
click: number;
totalCount: number;
winRate: number;
logoUrl: string;
avatarUrl: string;
budgetDay: number;
budgetSpent: number;
budgetTotal: number;
dataCost: number;
mediaBudget: number;
owId: number;
orgId: number;
impressions: number;
industry: number;
mediaSpent: number;
spent: number;
workspaceSpent: number;
platformSpent: number;
customerSpent: number;
platformMediaEarning: number;
platformBidShadingEarning: number;
platformTotalEarning: number;
workspaceMediaEarning: number;
workspaceBidShadingEarning: number;
workspaceTotalEarning: number;
organizationBidShadingSaving: number;
organizationName: string;
companySize: number;
workspaceName: string;
workspaceId: number;
workspaceDomain: string;
workspaceOrganizationName: string;
bidImpressions: number;
startCount: number;
firstCount: number;
midCount: number;
thirdCount: number;
completeCount: number;
audioVideoActualBids: number;
audioVideoActualImpressions: number;
eCPC: number;
eCPM: number;
eCPI: number;
eCPCV: number;
eCPv: number;
totalAttributedConversion: number;
totalAttributedViewThroughConversion: number;
totalAttributedClickThroughConversion: number;
costPerAttributedConversion: number;
totalAttributedConversionRate: number;
reach: number;
frequency: number;
date: number;
campaignId: number;
campaignName: string;
maxBid: number;
startTime: number;
endTime: number;
campaignType: string;
status: number;
mappingDataCost: number;
mappingSpent: number;
campaignTimezone: string;
creativeType: string;
budgetPacing: boolean;
isCampaignFromNewPlatform: boolean;
percentageOfTotalSpent: number;
vldInsightsCost: number;
workspaceVLDInsightsEarnings: number;
platformVLDInsightsEarnings: number;
pldInsightsCost: number;
workspacePLDInsightsEarnings: number;
platformPLDInsightsEarnings: number;
uowId: number;
audioVideoViewed: number;
ioId: number;
ioName: string;
ioTimezone: number;
ioBudgetDistributionMethod: number;
exchangeId: number;
exchangeName: string;
CTR: number;
VCR: number;
CVR: number;
}
}
}
};
};
}
function dashboard-report-by-customer(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/das/report/by-customer',
requestBody: {
content: {
"application/json": {
searchBy?: string[],
columns?: {
[key: string]: Record<string, never>,
}[],
startDate?: `number`,
endDate?: `number`,
timezoneId?: `number`,
timezoneName?: `string`,
resultType?: `string`,
campaignStatus?: `string`,
campaignStatusList?: `string[]`,
creativeTypeIds?: `number[]`,
owIds?: `string`,
owIdsList?: `number[]`,
workspaceOwIdsList?: `number[]`,
customerOwIdsList?: `number[]`,
tab?: `string`,
isGraph?: `boolean`,
dayDiff?: `number`,
download?: `boolean`,
fileType?: `string`,
fileName?: `string`,
campaignIds?: `number[]`,
campaignGroupIds?: `number[]`,
isBetaUser?: `boolean`,
isAudienceFlagsRequired?: `boolean`,
loggedInUowId?: `number`,
graphType?: `string`,
ioIdsList?: `number[]`,
ioStatusIdsList?: `number[]`,
ids?: `number[]`,
budgetTypeIdList?: `number[]`,
campaignTypeIds?: `number[]`,
organizationType?: `string`,
campaignRequest?: `boolean`,
dataQueryEligible?: `boolean`,
totalQueryEligible?: `boolean`,
pagination?: `string`,
pageNo?: `number`,
noOfEntries?: `number`,
sortBy?: `string`,
searchField?: `string`,
order?: `ASC` | `DESC`,
offset?: `number`,
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Campaign Report
POST /api/v3/da/report/by-campaignGet a Report on a Campaign's performance by supported filters.
Request Schema | |
---|---|
startDate string | Unix epoch timestamp, in milliseconds |
endDate string | Unix epoch timestamp, in milliseconds |
timeZoneId integer | Timezone ID |
campaignStatus string | Campaign status |
creativeTypeIds string | Comma separeted Creative type IDs |
searchField string | Search results by keyword |
sortBy string | Sort results by field, default: impressions |
order string | Sorts by ascending (ASC) or descending (DESC) |
owIds string | Comma separated Organization Workspace IDs |
pageNo integer | Page number for the data, default: 1 |
noOfEntries integer | Maximum number of entries returned, default: 50 |
resultType string | Only total rows in response (total) or only data in response (data) |
ioIdsList array of integers | IO IDs list |
campaignTypeIds array of integers | Campaign type IDs list |
CampaignIds array of integers | Campaign IDs list |
- JSON
- TypeScript
{
"startDate": "1660834800000",
"endDate": "1660834800001",
"timezoneId": 1,
"campaignStatus": "all",
"creativeTypeIds": "",
"searchField": "",
"sortBy": "impressions",
"order": "DESC",
"owIds": "1,2,3,4",
"pageNo": 1,
"noOfEntries": 50,
"resultType": "total",
"ioIdsList": [
1,
2,
3
],
"campaignTypeIds": [
1
],
"campaignIds": "1,2,3"
}
{
"success": true,
"data": {
"totalRecords": 1,
"filteredRecords": 1,
"recordsTotal": {
"clicks": 0,
"totalCount": 1,
"winRate": 0,
"logoURL": null,
"avatarURL": null,
"budgetDay": 4.55,
"budgetSpent": 0,
"budgetTotal": 100,
"dataCost": 0,
"mediaBudget": 0,
"owId": 0,
"orgId": 0,
"impressions": 0,
"industry": 0,
"mediaSpent": 0,
"spent": 0,
"workspaceSpent": 0,
"platformSpent": 0,
"customerSpent": 0,
"organizationBidShadingSaving": 0,
"platformMediaEarning": 0,
"platformBidShadingEarning": 0,
"platformTotalEarning": 0,
"workspaceMediaEarning": 0,
"workspaceBidShadingEarning": 0,
"workspaceTotalEarning": 0,
"organizationName": null,
"companySize": 0,
"workspaceName": null,
"workspaceId": 0,
"workspaceDomain": null,
"workspaceOrganizationName": null,
"bidImpressions": 0,
"startCount": 0,
"firstCount": 0,
"midCount": 0,
"thirdCount": 0,
"completeCount": 0,
"audioVideoActualBids": 0,
"audioVideoActualImpressions": 0,
"eCPC": 0,
"eCPM": 0,
"eCPI": 0,
"eCPCV": 0,
"eCPV": 0,
"dailyImpression": 202,
"totalAttributedConversion": 0,
"totalAttributedViewThroughConversion": 0,
"totalAttributedClickThroughConversion": 0,
"costPerAttributedConversion": 0,
"totalAttributedConversionRate": 0,
"reach": null,
"frequency": null,
"date": null,
"campaignId": 0,
"campaignName": null,
"maxBid": 0,
"baseBid": 0,
"startTime": 0,
"endTime": 0,
"campaignType": null,
"status": null,
"mappingDataCost": 0,
"mappingSpent": 0,
"campaignTimezone": null,
"creativeType": null,
"budgetPacing": false,
"isCampaignFromNewPlatform": false,
"percentageOfTotalSpent": 0,
"uowId": 0,
"audioVideoViewed": 0,
"ioId": 0,
"ioName": null,
"ioTimezone": 0,
"ioBudgetDistributionMethod": 0,
"ioStartTime": 0,
"ioStatusId": 0,
"ioEndTime": 0,
"ioTotalBudget": 0,
"pacingPercentage": null,
"actualSpent": 0,
"expectedSpent": 0,
"campaignDuration": null,
"remainingDuration": 0,
"dailyPacingPercentage": null,
"expectedDailySpent": 0,
"actualDailySpent": 0,
"isAutoSumIoTotalBudget": false,
"exchangeId": 0,
"budgetTypeId": 0,
"campaignTypeId": 0,
"isEligibleForVLDInsightsReport": false,
"vldInsightsCost": null,
"workspaceVLDInsightsEarnings": null,
"platformVLDInsightsEarnings": null,
"pldInsightsCost": 12.33,
"workspacePLDInsightsEarnings": 2.33,
"platformPLDInsightsEarnings": 10,
"isEligibleForPLDInsightsReport": true,
"targetImpression": 132629714,
"creativesCount": 0,
"budgetTotalCombined": 100,
"budgetDayCombined": 10,
"ioTotalBudgetCombined": 0,
"campaignPriority": null,
"bidModelDataId": 0,
"exchangeName": null,
"CTR": 0,
"VCR": 0,
"CVR": 0
}
}
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
success: boolean;
data: {
totalRecords: number;
filteredRecords: number;
recordsTotal: {
click: number;
totalCount: number;
winRate: number;
logoUrl: string;
avatarUrl: string;
budgetDay: number;
budgetSpent: number;
budgetTotal: number;
dataCost: number;
mediaBudget: number;
owId: number;
orgId: number;
impressions: number;
industry: number;
mediaSpent: number;
spent: number;
workspaceSpent: number;
platformSpent: number;
customerSpent: number;
platformMediaEarning: number;
platformBidShadingEarning: number;
platformTotalEarning: number;
workspaceMediaEarning: number;
workspaceBidShadingEarning: number;
workspaceTotalEarning: number;
organizationBidShadingSaving: number;
organizationName: string;
companySize: number;
workspaceName: string;
workspaceId: number;
workspaceDomain: string;
workspaceOrganizationName: string;
bidImpressions: number;
startCount: number;
firstCount: number;
midCount: number;
thirdCount: number;
completeCount: number;
audioVideoActualBids: number;
audioVideoActualImpressions: number;
eCPC: number;
eCPM: number;
eCPI: number;
eCPCV: number;
eCPv: number;
totalAttributedConversion: number;
totalAttributedViewThroughConversion: number;
totalAttributedClickThroughConversion: number;
costPerAttributedConversion: number;
totalAttributedConversionRate: number;
reach: number;
frequency: number;
date: number;
campaignId: number;
campaignName: string;
maxBid: number;
startTime: number;
endTime: number;
campaignType: string;
status: number;
mappingDataCost: number;
mappingSpent: number;
campaignTimezone: string;
creativeType: string;
budgetPacing: boolean;
isCampaignFromNewPlatform: boolean;
percentageOfTotalSpent: number;
uowId: number;
audioVideoViewed: number;
ioId: number;
ioName: string;
ioTimezone: number;
ioBudgetDistributionMethod: number;
ioStartTime: number;
ioStatusId: number;
ioEndTime: number;
ioTotalBudget: number;
pacingPercentage: number;
actualSpent: number;
expectedSpent: number;
campaignDuration: number;
remainingDuraion: number;
dailyPacingPercentage: number;
expectedDailySpent: number;
actualDailySpent: number;
isAutoSumIoTotalbudget: number;
exchangeId: number;
budgetTypeId: number;
campaignTypeId: number;
isEligibleForVLDInsightsReport: boolean;
vldInsightsCost: number;
workspaceVLDInsightsEarnings: number;
platformVLDInsightsEarnings: number;
pldInsightsCost: number;
workspacePLDInsightsEarnings: number;
platformPLDInsightsEarnings: number;
isEligibleForPLDInsightsReport: boolean;
targetImpression: number;
creativesCount: number;
budgetTotalCombined: number;
budgetDayCombined: number;
ioTotalBudgetCombined: number;
campaignPriority: number;
bidModelDataId: number;
exchangeName: string;
CTR: number;
VCR: number;
CVR: number;
}
}
}
};
};
}
function dashboard-report-by-campaign(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v3/das/report/by-campaign',
requestBody: {
content: {
"application/json": {
searchBy?: string[],
columns?: {
[key: string]: Record<string, never>,
}[],
startDate?: `number`,
endDate?: `number`,
timezoneId?: `number`,
timezoneName?: `string`,
resultType?: `string`,
campaignStatus?: `string`,
campaignStatusList?: `string[]`,
creativeTypeIds?: `number[]`,
owIds?: `string`,
owIdsList?: `number[]`,
workspaceOwIdsList?: `number[]`,
customerOwIdsList?: `number[]`,
tab?: `string`,
isGraph?: `boolean`,
dayDiff?: `number`,
download?: `boolean`,
fileType?: `string`,
fileName?: `string`,
campaignIds?: `number[]`,
campaignGroupIds?: `number[]`,
isBetaUser?: `boolean`,
isAudienceFlagsRequired?: `boolean`,
loggedInUowId?: `number`,
graphType?: `string`,
ioIdsList?: `number[]`,
ioStatusIdsList?: `number[]`,
ids?: `number[]`,
budgetTypeIdList?: `number[]`,
campaignTypeIds?: `number[]`,
organizationType?: `string`,
campaignRequest?: `boolean`,
dataQueryEligible?: `boolean`,
totalQueryEligible?: `boolean`,
pagination?: `string`,
pageNo?: `number`,
noOfEntries?: `number`,
sortBy?: `string`,
searchField?: `string`,
order?: `ASC` | `DESC`,
offset?: `number`,
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}
Download Report
POST /api/v2/rb/export/csvCreate a download link for a report.
Request Schema | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
draw integer | Displays Data-table parameter, default: 1 | ||||||||||||
sort_by string | Filter results by field, default: impressions | ||||||||||||
sort_type | Sort results by ascending (asc) or descending (desc), default: desc | ||||||||||||
total_agg boolean | Aggregates metric data for the table's rows, default: false | ||||||||||||
is_report boolean | Request for Report | ||||||||||||
is_graph boolean | Request for the GRAPH component of the IQM UI | ||||||||||||
result_type string | Only total rows in response (total) or only data in response (data) | ||||||||||||
user_session_id string | User session token ID | ||||||||||||
search_field string | Filter results by search keyword | ||||||||||||
page_number integer | Pagination of records, default: 0 | ||||||||||||
total_count integer | Maximum number of results returned, default: 50 | ||||||||||||
dateRange object | Defines the reporting window for the metrics and dimensions generated in your Dashboard | ||||||||||||
|
startDate string | Unix epoch timestamp, in milliseconds |
endDate string | Unix epoch timestamp, in milliseconds |
timezone
object
timezone
object properties
label string | Timezone label |
value string | Timezone value |
id integer | Timezone ID |
dimension
object
dimension
object properties
filter | Nested | |||||
|
value string | Dimension value |
label string | Dimension label |
value
array
filters
object
filters
object properties
Object Properties | |
---|---|
campaign_status | Filter results by Campaign status |
creative_type_ids | Filter results by comma separated Creative IDs |
campaign_ids | Filter results by comma separated Campaign IDs |
download
boolean
file_type
string
fileName
string
columns
object
columns
object properties
label string | Column label |
value string | Column value |
- JSON
- TypeScript
{
"url": "https://app.stage.inhousebuying.com/api/v2/rb/resultDashboard",
"method": "post",
"data": {
"total_agg": false,
"dateRange": {
"startDate": "1646341200000",
"endDate": "1646427599000"
},
"timezone": {
"label": "Africa/Asmara",
"value": "Africa/Asmara",
"id": 145
},
"dimension": {
"filter": {
"value": "campaign",
"label": "Campaign"
},
"value": []
},
"user_session_id": "786a4828-fc87-410c-bea5-504c56aff928_4",
"search_field": "",
"filters": {
"campaign_status": "deleted",
"creative_type_ids": "13,14"
},
"sort_by": "impressions",
"sort_type": "desc",
"conversion_ids": "312,313,337,343,351,352,353,356",
"owIds": "",
"status": "deleted",
"total_count": 4,
"draw": 1,
"dataPath": "data"
},
"headers": {
"Base-Url": "https://app.stage.inhousebuying.com",
"x-iaa-ow-id": "200001",
"authorization": "Bearer 786a4828-fc87-410c-bea5-504c56aff928"
},
"search_field": "",
"dateRange": {
"start": 1646341200,
"end": 1646427599
},
"name": "Super IQM Org",
"fileName": "Campaigns",
"columns": [
{
"label": "ID",
"value": "campaignId"
},
{
"label": "Campaign Name",
"value": "campaignName"
},
{
"label": "Organization",
"value": "organizationName"
},
{
"label": "Daily Budget($)",
"value": "budgetDay"
},
{
"label": "Total Budget($)",
"value": "budgetTotal"
},
{
"label": "Max Bid($)",
"value": "maxBid"
},
{
"label": "Reach",
"value": "reach"
},
{
"label": "Viewability(%)",
"value": "pixalateViewAbility"
},
{
"label": "Frequency",
"value": "frequency"
},
{
"label": "Budget Completion(%)",
"value": "percentageOfTotalSpent"
},
{
"label": "Impressions",
"value": "impressions"
},
{
"label": "Clicks",
"value": "clicks"
},
{
"label": "CTR(%)",
"value": "CTR"
},
{
"label": "WinRate(%)",
"value": "winRate"
},
{
"label": "eCPM($)",
"value": "eCPM"
},
{
"label": "eCPC($)",
"value": "eCPC"
},
{
"label": "VCR(%)",
"value": "VCR"
},
{
"label": "CPCV($)",
"value": "eCPCV"
},
{
"label": "Total Spent($)",
"value": "spent"
},
{
"label": "Video 100%",
"value": "completeCount"
},
{
"label": "Conversion Rate (%)",
"value": "conversionRate-316"
},
{
"label": "CPA",
"value": "conversionCpa-316"
},
{
"label": "Conversions",
"value": "conversionData-316"
},
{
"label": "Conversion Rate (%)",
"value": "conversionRate-342"
},
{
"label": "CPA",
"value": "conversionCpa-342"
},
{
"label": "Conversions",
"value": "conversionData-342"
},
{
"label": "ROAS (%)",
"value": "conversionRoas-315"
},
{
"label": "Conversion Rate (%)",
"value": "conversionRate-315"
},
{
"label": "Conversion Value",
"value": "conversionValue-315"
},
{
"label": "CPA",
"value": "conversionCpa-315"
},
{
"label": "Conversions",
"value": "conversionData-315"
},
{
"label": "Conversion Rate (%)",
"value": "conversionRate-312"
},
{
"label": "CPA",
"value": "conversionCpa-312"
},
{
"label": "Conversions",
"value": "conversionData-312"
},
{
"label": "ROAS (%)",
"value": "conversionRoas-337"
},
{
"label": "Conversion Rate (%)",
"value": "conversionRate-337"
},
{
"label": "Conversion Value",
"value": "conversionValue-337"
},
{
"label": "CPA",
"value": "conversionCpa-337"
},
{
"label": "Conversions",
"value": "conversionData-337"
}
],
"token": "786a4828-fc87-410c-bea5-504c56aff928"
}
{
"responseURL": "sampleURL"
}
See TypeScript Prerequisites for usage.
import {
getInstance
} from "prerequisites"
const axios = getInstance();
interface Responses {
200: {
headers: {
[name: string]: unknown;
};
content: {
"application/json": {
responseUrl: string;
}
};
};
}
function ExporttoCSV(): Promise<Responses> {
const options = {
method: 'POST',
url: 'https://app.iqm.com/api/v2/rb/export/csv',
requestBody: {
content: {
"application/json": {
url: `string`,
method: `string`,
data: {
total_agg: `boolean`,
dateRange: {
startDate: `string`,
endDate: `string`,
},
timezone: {
label: `string`,
value: `string`,
id: `number`,
},
dimension: {
filter: {
value: `string`,
label: `string`,
},
value: `string[]`,
},
user_session_id: `string`,
search_field: `string`,
filters: {
campaign_status: `string`,
creative_type_ids: `string`,
},
sort_by: `string`,
sort_type: `string`,
conversion_ids: `string`,
owIds: `string`,
status: `string`,
total_count: `number`,
draw: `number`,
dataPath: `string`,
},
search_field: `string`,
dateRange: {
start: `number`,
end: `number`,
},
name: `string`,
fileName: `string`,
columns: {
label: `string`,
value: `string`,
}[],
token: `string`,
}
}
}
};
return axios.request(options).then(({ data }: { data: Responses }) => data);
}