Доступ к API
Для получения доступа к API, пожалуйста, свяжитесь с support@getintent.ru или вашим личным менеджером.
Журнал изменений
| Дата | Версия API | Изменение |
|---|---|---|
| 4 Сентября 2015 | v1.33 | Добавлена ссылка для аутентификации |
| 24 Сентября 2015 | v1.35 | Добавлена поддержка |
| 10 Октября 2015 | v1.36 | Добавлен объект "прогноз" для рекламодателя |
| 5 Ноября 2015 | v1.37 | Кампании, группы кампаний, креативы и сайты добавлены в общие объекты |
| 23 Марта 2017 | v2.00 | Выпущена документация к API v2 |
Введение
Этот раздел описывает API платформы Getintent. API состоит из трех основных составляющих:
- Common API: позволяет создавать и редактировать наиболее общие RTB-объекты.
- Advertiser API: позволяет управлять объектами, связанными с рекламодателями (креативы, сегменты и т.п.)
- Reporting API: позволяет получать отчетную информацию о кампании, доступном трафике и т.п.
Общий подход
API построен как сервис JSON и поддерживает стандартные команды GET/PUT/DELETE по протоколу HTTP 1.1
GET | читать/извлечь |
PUT | создать/добавить/обновить/изменить |
PATCH | изменить конкретную ноду или ноды. |
DELETE | удалить |
URL-адреса API имеют следующий шаблон:
http://ui.getintent.com/api/v2/<object_type>/<action>(/<id>)?token=<token>
Коды ответов API
API поддерживает следующие коды ответов HTTP:
| Код ответа | Описание |
|---|---|
| 200 | Команда выполнена успешно |
| 400 | Ошибка проверки |
| 403 | API не найден |
| 404 | Объект не найден |
| 500 | Ошибка сервера |
Пример ошибки:
{
"error": 1,
"code": 403,
"msg": "Unavailable AdData object 'aadvertisers'"
}
Модель данных JSON
Модель данных RTB содержит несколько сущностей, каждая из которых имеет собственное представление JSON с именем и id:
{
id: 1,
name: "<name>",
...
}
Также некоторые объекты могут принадлежать конкретному рекламодателю, в этом случае будет необходимо поле advertiser_id
{
id: 1,
name: "<name>",
advertiser_id: 6
...
}
Выход из API
Выход из API можно контролировать с помощью следующих дополнительных параметров и заголовков:
Дополнительные параметры управления нумерацией страниц / форматированием
| Параметр | Описание | Метод | Значения | По умолчанию | Пример |
|---|---|---|---|---|---|
mode | Влияет на вид списка. Размещается на узле данных Рекомендованное значение: 1 | all, list | 1 | 0 | ../list?token=<token>&mode=1 |
custom_fields | Включает дополнительные поля в вывод метода «list» (по умолчанию метод «list» возвращает только поля «id» и «name») | list | CSV fields | отсутсвует | ../list?token=<token>&custom_fields=<field1>,<field2>,... |
page_limit | Число объектов на одной странице. Если используется параметр «page_limit», то значением свойства «mode» автоматически становится mode = 1. | all, list | integer | отсутсвует | ../all?token=<token>&page_limit=10 |
page | Извлекает вывод страницы [N], работает только в том случае, если используется параметр "page_limit". | all, list | integer | отсутсвует | ../all?token=<token>&page_limit=10&page=2 |
pretty | Управляет форматом вывода JSON. | all,list | 0 - свернутый JSON, 1 - отформатированный JSON | 0 | ../list?token=<token>&page_limit=10&pretty=1 |
Дополнительные заголовки
| Параметр | Описание | Available at, method | Values | By default | Example |
|---|---|---|---|---|---|
if-modified-since | Возвращает заголовок «HTTP 304 Not Modified» без содержимого, если данные не были обновлены с запрошенной даты | list | Дата в указанном формате: D, d M Y H:i:s GMT | отсутствует | if-modified-since: Fri, 18 Sep 2015 10:34:37 GMT
|
{
"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
}
}