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

Ключ

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

Отображение дочерних элементов
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 RTBSuite Getintent platform. The API consists of two three major partsservices:

  • Campaign management API. This API Common API service: allows to create and edit common RTB entities
  • Advertiser API service: allows to manage advertiser advertising campaigns along with related entities (creatives, segments and etc)
  • Reporting API . This part of API service: allows to get statistical information about campaign that are already runningavailable reporting  information campaign performance, available inventory, etc.

General approach

...

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

GETread/retrieve
PUTcreate/add/update/modify
DELETEdelete

API endpoints

API URLs have the following pattern:

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

Блок кода
languagebash
{
    "error": 1,
    "code": 403,
    "msg": "Unavailable AdData object 'aadvertisers'"
}


JSON data model

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

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

...

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


API output

The general URL API pattern is: 

Блок кода
languagebash
http://ui.project.domain/api/v1/<object_type>/<action>(/<id>)?token=<token>

 

...

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

Additional parameters controlling pagination/formatting

ParameterDescriptionMethodValuesDefaultExample
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 additional fields in "list" method output (by default "list" method returns only "id" and "name" fields)

listCSV fieldsnull../list?token=<token>&custom_fields=<field1>,<field2>,...
page_limit

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

all, listintegernull../all?token=<token>&page_limit=10
pageRetrieves page [N] output, works only in case "page_limit" parameter is set.all, listintegernull../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&pretty=1

Additional headers

ParameterDescriptionAvailable at, methodValuesBy defaultExample
if-modified-since

Returns "HTTP 304 Not Modified" header without content,

if data has not been updated since 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
Блок кода
languagejs
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
    }
}