Change log
| Date | API version | Change |
|---|---|---|
| 4 September 2015 | v1.33 | Added authentication reference |
| 24 September 2015 | v1.35 | Add "last-modified" support |
| 10 October 2015 | v1.36 | Added object "forecast" for advertiser |
| 5 November 2015 | v1.37 | Campaigns, campaign_groups, creatives, sites added to common objects |
Introduction
This document describes the API of GetIntent DSP. The API consists of two major parts:
- Campaign management API. This API allows to create and edit advertising campaigns along with related entities (creatives, segments and etc)
- Reporting API. This part of API allows to get statistical information about campaign that are already running
The main objective of this API is campaign management API.
General approach: object and methods
API is build as JSON RESTful service. Each object has it’s JSON representation and could be retrieved using get method. Also list, update and new are available.
Each type of JSON object has name and id. The structure is as follows:\
{
id: 1,
name: "<name>",
...
}
Also some object may belong to specific advertiser, in this case advertiser_id field would be required
{
id: 1,
name: "<name>",
advertiser_id: 6
...
}
The general URL API pattern is:
http://ui.getintent.com/api/v1/<object_type>/<action>(/<id>)?token=<token>
Where token is authentication token (it could be obtained through user settings in UI)
Common and System Objects
Here you'll find API examples for work with Common and System objects.
Also those methods should be used for Advertiser's settings management.
Important! All variables are required.
Variables
| Variable | Description |
|---|---|
| <entity> | Object type (reference_tables, segment_definitions и тд) |
| <entity_id> | Object's ID |
| <token> | Token for API access. Its value can be found at "my settings" user's menu. Important: token has to belong to Admin user. |
Available Entities
| ID | Description |
|---|---|
| advertisers | Advertiser and its settings. Important: Advertiser's objects have to be managed at Advertiser's level |
| segment_definitions | Common segments |
| reference_tables | Contains additional information and variety settings |
| domains_lists | Common domain lists |
| snippets | Common snippets |
Methods
Entity's objects list
GET https://ui.getintent.com/api/v1/<entity>/list?token=<token>
Returns System and Common <entity> type Objects list.
"id" and "name" fields will be returned for each object by default.
Here is example of such "list" method:
{
"137": {
"id": 137,
"name": "Test campaign!"
},
...
"4452": {
"id": 4452,
"name": "test"
}
}
If any additional fields are needed at the list just put all of them separated by comma at GET custom_fields parameter.
In case you need to get list of objects with absolutely all existing fields, just use "all" method as below:
GET https://ui.getintent.com/api/v1/<entity>/all?token=<token>
Additional parameters
| Parameter | Description | Available at, method | Values | By default | Example |
|---|---|---|---|---|---|
| mode | Affects on list's view. Old version: all collection will be returned at root (deprecated) New version: all collection will be placed to data node Value recommend to use always: 1 | all, list | 0 - old version (deprecated). 1 - new version. | 0 | ../list?token=<token>&mode=1 |
| custom_fields | Includes all listed object's fields in output for "list" method | list | Listed by comma additional fields. | null | ../list?token=<token>&custom_fields=starts,ends |
| page_limit | Limits count of items per request. Realizes pagination. If "page_limit" parameter is used, then "mode" property's value becomes mode=1 automatically. | all, list | Count of items per one page. | null | ../list?token=<token>&page_limit=10 |
| page | Current page. Works with "page_limit" method together only. | all, list | Current page in output. | null | ../list?token=<token>&page_limit=10&page=2 |
Additional headers
| Parameter | Description | Available at, method | Values | By default | Example |
|---|---|---|---|---|---|
| if-modified-since | Return header HTTP 304 Not Modified | list | Date in specify formatD, d M Y H:i:s GMT | null | if-modified-since: Fri, 18 Sep 2015 10:34:37 GMT |
Create an Entity
PUT https://ui.getintent.com/api/v1/<entity>/new?token=<token>
Use PUT request type. At JSON with object's structure have to be at request's body.
Example:
curl --data '{"name": "title"}' -X PUT https://ui.getintent.com/api/v1/<entity>/new?token=<token>
Get an Entity
GET https://ui.getintent.com/api/v1/<entity>/get/<entity_id>?token=<token>
Example:
curl -X GET https://ui.getintent.com/api/v1/<entity>/get/<entity_id>?token=<token>
Additional headers
| Parameter | Description | Available at, method | Values | By default | Example |
|---|---|---|---|---|---|
| if-modified-since | Return header HTTP 304 Not Modified | get | Date in specify formatD, d M Y H:i:s GMT | null | if-modified-since: Fri, 18 Sep 2015 10:34:37 GMT |
Update an Entity
PUT https://ui.getintent.com/api/v1/<entity>/edit/<entity_id>?token=<token>
Use PUT request type. At JSON with object's structure have to be at request's body.
Example:
curl --data '{"name": "new title"}' -X PUT https://ui.getintent.com/api/v1/<entity>/edit/<entity_id>?token=<token>
Delete an Entity
DELETE https://ui.getintent.com/api/v1/<entity>/delete/<entity_id>?token=<token>
Example:
curl -X DELETE https://ui.getintent.com/api/v1/<entity>/delete/<entity_id>?token=<token>