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

Ключ

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

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:

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

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