Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Отображение дочерних элементов
depth1
styleh3

...

For API Access

To receive API access, please reach out to Getintent sales team – us-sales@getintent.com

Change log

DateAPI versionChange
4 September 2015v1.33Added authentication reference
24 September 2015v1.35Add "last-modified" support
10 October 2015v1.36Added object "forecast" for advertiser
5 November 2015v1.37Campaigns, campaign_groups, creatives, sites added to common objects
23 March 2017v2.00API v2 documentation release

Introduction

This document describes the API of Getintent platform. The API consists of three major services:

  • Common API service: allows to create and edit common RTB entities
  • Advertiser API service: allows to manage advertiser related entities (creatives, segments and etc)
  • Reporting API service: allows to get available reporting  information campaign performance, available inventory, etc.

General approach

API is built as JSON RESTful service and support standard GET/PUT/DELETE methods over HTTP 1.1 protocol.

GETread/retrieve
PUTcreate/add/update/modify
DELETEdelete

API endpoints

API URLs have the following pattern:

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

VariableDescription
<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

IDDescription
advertisersAdvertiser and its settings. Important: Advertiser's objects have to be managed at Advertiser's level
segment_definitionsCommon segments
reference_tablesContains additional information and variety settings
domains_listsCommon domain lists
snippetsCommon snippets

Methods

...

Блок кода
languagebash
GET httpshttp://ui.getintent.com/api/v2/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.

<object_type>/<action>(/<id>)?token=<token>

API response codes

API always returns valid JSON as output, the following HTTP response codes are supported:

Response codeDescription
200Success
400Validation error
403API not found
404Object not found
500Server error


API error exampleHere is example of such "list" method:

Блок кода
languagejs
titleCode Sample "list" method
bash
{
    "error{
	"137": {
		"id1,
    "code": 137403,
		"name    "msg": "Test campaign!Unavailable AdData object 'aadvertisers'"
	},
 
	...
	"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:

Блок кода
languagebash
GET https://ui.getintent.com/api/v1/<entity>/all?token=<token>

Additional parameters

}


JSON data model

RTB data model contains several entities, each entity has it’s own JSON representation with name and id:

Блок кода
languagejs
{
	id: 1,
	name: "<name>",
 	...
}                                    

Also some objects may belong to a specific advertiser, in this case advertiser_id field would be required

Блок кода
languagejs
{
	id: 1,
	name: "<name>",
	advertiser_id: 6
 	...
}                         


API output

API output can be controlled by the following additional parameters and headers

Additional parameters controlling pagination/formatting

ParameterDescriptionMethodValuesDefault
ParameterDescriptionAvailable at, methodValuesBy 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

additional fields in

output for

"list" method output (by default "list" method returns only "id" and "name" fields)

list
Listed by comma additional
CSV fields
.
null../list?token=<token>&custom_fields=
starts,ends
<field1>,<field2>,...
page_limit

Limits count of items per request.

Realizes pagination.

Items per one page. If "page_limit" parameter is used, then "mode" property's value becomes mode=1 automatically.

all, list
Count of items per one page.
integernull../
list
all?token=<token>&page_limit=10
page
Current page. Works with
Retrieves page [N] output, works only in case "page_limit"
method together only
parameter is set.all, list
Current page in output.null
integernull../all?token=<token>&page_limit=10&page=2
prettyControls JSON output format.all,list0 - minimized JSON ,
1 - formatted JSON 
0../list?token=<token>&page_limit=10&
page
pretty=
2
1

Additional headers

ParameterDescriptionAvailable at, methodValuesBy defaultExample
if-modified-since
Return header

Returns "HTTP 304 Not Modified


" header without content,

if data has not been updated since

this

requested date

listDate in specify format
D, d M Y H:i:s GMT
nullif-modified-since: Fri, 18 Sep 2015 10:34:37 GMT

...

Блок кода
languagebash
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:

Блок кода
languagebash
curl --data '{"name": "title"}' -X PUT https://ui.getintent.com/api/v1/<entity>/new?token=<token>

Get an Entity

Блок кода
languagebash
GET https://ui.getintent.com/api/v1/<entity>/get/<entity_id>?token=<token>

Example:

Блок кода
languagebash
curl -X GET https://ui.getintent.com/api/v1/<entity>/get/<entity_id>?token=<token>

Additional headers

ParameterDescriptionAvailable at, methodValuesBy defaultExample
if-modified-since

Return header HTTP 304 Not Modified
without content, if data has not updated since this date

getDate in specify format
D, d M Y H:i:s GMT
nullif-modified-since: Fri, 18 Sep 2015 10:34:37 GMT

Update an Entity

Блок кода
languagebash
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:

Блок кода
languagebash
curl --data '{"name": "new title"}' -X PUT https://ui.getintent.com/api/v1/<entity>/edit/<entity_id>?token=<token>

Delete an Entity

Блок кода
languagebash
DELETE https://ui.getintent.com/api/v1/<entity>/delete/<entity_id>?token=<token>

Example:

js
titleExample of API JSON output in case pagination mode
{
    "data": {
        "921": {
            "id": "921",
            "name": "test_campaign"
        },
        "1400": {
            "id": "1400",
            "name": "1"
        }
    },

    "pages": {
        "total_elements": "6",
        "total_pages": 3,
        "current_page": 1,
        "previous_page": false,
        "next_page": 2,
        "page_size": 2,
        "offset": 0
    }
}
Блок кода
languagebash
curl -X DELETE https://ui.getintent.com/api/v1/<entity>/delete/<entity_id>?token=<token>