GetChanges (Live)
Проверяет наличие изменений в кампаниях, объявлениях и персональных данных клиентов, а также в справочнике регионов, справочнике временных зон, в Яндекс Каталоге.
Метод сообщает о наличии или отсутствии изменений после указанной даты без детализации, что именно изменилось. Рекомендуется использовать метод следующим образом:
-
При первом запуске приложения вызовите метод без входных параметров для синхронизации текущего времени.
Метод возвращает параметр
Timestamp
— текущее время на сервере по UTC. -
При каждом последующем вызове метода укажите логины, кампании и объявления, для которых требуется проверить изменения, а также значение параметра
Timstamp
, полученное при предыдущем вызове метода. Это гарантирует непрерывность интервалов для проверки изменений вне зависимости от возможных задержек, а также разницы во времени сервера и приложения. -
В случае получения ответа о наличии изменений актуальные данные можно получить с помощью соответствующих методов:
Примечание
В некоторых случаях параметры кампаний, объявлений и др. остаются прежними, но метод GetChanges
сообщает об изменениях. Это связано с наличием скрытых параметров, которые не доступны через API, но проверяются при вызове метода.
Входные данные
Ниже показана структура входных данных в формате JSON. Параметры CampaignIDS
, BannerIDS
, Logins
являются взаимоисключающими — только один из них может присутствовать в запросе.
{
"method": "GetChanges",
"param": {
/* GetChangesRequest */
"CampaignIDS": [
(int)
...
],
"BannerIDS": [
(long)
...
],
"Logins": [
(string)
...
],
"Timestamp": (string)
}
}
Ниже приведено описание параметров.
Параметр |
Описание |
Требуется |
Объект GetChangesRequest |
||
|
Массив, содержащий идентификаторы кампаний (не более 100). |
Нет |
|
Массив, содержащий идентификаторы объявлений (не более 1000). Объявления могут принадлежать разным кампаниям. |
Нет |
|
Массив, содержащий логины клиентов (агентств). |
Нет |
|
Момент времени, начиная с которого проверяются изменения. Указывается в формате |
Нет |
Результирующие данные
Ниже показана структура результирующих данных в формате JSON. Структура содержит все возможные данные, которые могут присутствовать в ответе. Действительный состав данных зависит от входных параметров и описывается далее.
{
"data": {
/* GetChangesResponse */
"Campaigns": {
/* GetChangesIntData */
"Updated": [
(int)
...
],
"NotUpdated": [
(int)
...
],
"NotFound": [
(int)
...
]
},
"Banners": {
/* GetChangesLongData */
"Updated": [
(long)
...
],
"NotUpdated": [
(long)
...
],
"NotFound": [
(long)
...
]
},
"Logins": {
/* GetChangesStringData */
"Updated": [
(string)
...
],
"NotUpdated": [
(string)
...
],
"NotFound": [
(string)
...
]
},
"CampaignsStatChange": [
{ /* CampaignStatChangeItem */
"CampaignID": (int),
"BorderDate": (date)
}
...
],
"Timestamp": (string),
"RubricsChanged": (string),
"TimeZonesChanged": (string),
"RegionsChanged": (string)
}
}
Ниже приведено описание параметров.
Параметр |
Описание |
Объект GetChangesResponse |
|
|
Присутствует в ответе, если при вызове метода задан массив Под изменением кампании подразумевается изменение параметров, которые возвращает метод GetCampaignsParams (Live), в том числе значимое изменение статуса кампании. |
|
Присутствует в ответе, если при вызове метода задан массив Под изменением объявления подразумевается изменение параметров, которые возвращает метод GetBanners (Live), в том числе значимое изменение статуса объявления. |
|
Присутствует в ответе, если при вызове метода задан массив |
|
Массив объектов Проверяемые кампании указываются явно в массиве |
|
Момент времени, когда выполнялся метод |
|
Показывает наличие или отсутствие изменений в Яндекс Каталоге — Yes/No. |
|
Показывает наличие или отсутствие изменений в справочнике временных зон — Yes/No. |
|
Показывает наличие или отсутствие изменений в справочнике регионов — Yes/No. |
Объект GetChangesIntData |
|
|
Содержит указанные при вызове идентификаторы кампаний, по которым не было изменений. |
|
Содержит указанные при вызове идентификаторы кампаний, по которым произошли изменения. |
|
Содержит указанные при вызове идентификаторы кампаний, которые удалены или не существовали. |
Объект GetChangesLongData |
|
|
Содержит указанные при вызове идентификаторы объявлений, по которым не было изменений. |
|
Содержит указанные при вызове идентификаторы объявлений, по которым произошли изменения. |
|
Содержит указанные при вызове идентификаторы объявлений, которые удалены или не существовали. |
Объект GetChangesStringData |
|
|
Содержит указанные при вызове логины, по которым не было изменений в персональных данных клиентов. |
|
Содержит указанные при вызове логины, по которым изменились персональные данные клиентов. |
|
Содержит указанные при вызове логины, которые удалены или не существовали. |
Объект CampaignStatChangeItem |
|
|
Идентификатор кампании. |
|
Дата актуальности статистики. Выводится для кампаний, статистика по которым была скорректирована в течение проверяемого периода. Как правило, корректировка связана с уменьшением количества кликов и увеличением баланса кампании. Сформированные ранее отчеты по статистике могут оказаться не актуальными, если в них отражены данные после даты |
Примеры входных данных
Python
{
'CampaignIDS': [1327944,1327967],
'Timestamp': '2011-05-24T23:59:59Z'
}
PHP
array(
'BannerIDS' => array(1974642, 20920155, 20155899, 64654),
'Timestamp' ='2011-05-24T23:59:59Z'
)
Perl
{
'Logins' => ['agrom', 'john_smith', 'john_smith_old'],
'Timestamp' ='2011-05-24T23:59:59Z'
}
Примеры результирующих данных
Состав результирующих данных зависит от входных параметров. Во всех случаях метод возвращает текущее время на сервере в параметре Timestamp
.
Вызов без параметров
Возвращается текущее время на сервере.
{
"data": {
"Timestamp": "2011-05-24T23:59:59Z"
}
}
Вызовов c параметром Timestamp
Возвращается информация о наличии изменений в Яндекс Каталоге, справочнике регионов и справочнике временных зон.
{
"data": {
"Timestamp": "2011-05-24T23:59:59Z",
"RubricsChanged": "Yes",
"TimeZonesChanged": "No",
"RegionsChanged": "No"
}
}
Вызов c параметрами BannerIDS и Timestamp
Возвращается информация о наличии изменений в объявлениях после указанной даты.
{
"data": {
"Banners": {
"Updated": [1974642, 20920155],
"NotUpdated": [20155899],
"NotFound": [64654]
},
"Timestamp": "2011-05-24T23:59:59Z",
"RubricsChanged": "Yes",
"TimeZonesChanged": "No",
"RegionsChanged": "No"
}
}
Вызов c параметрами CampaignIDS и Timestamp
Возвращается информация о наличии изменений в кампаниях и объявлениях после указанной даты, а также даты актуальности статистики.
{
"data": {
"Campaigns": {
"Updated": [1327944]
},
"Banners": {
"Updated": [123123,123123],
"NotUpdated": [43532452],
},
"CampaignsStatChange": [
{
"CampaignID": 1327944,
"BorderDate": "2011-03-17"
}
],
"Timestamp": "2011-05-24T23:59:59Z",
"RubricsChanged": "Yes",
"TimeZonesChanged": "No",
"RegionsChanged": "No"
}
}
Вызов c параметрами Logins и Timestamp
Возвращается информация о наличии изменений в персональных данных клиентов, а также даты актуальности статистики для кампаний, принадлежащих клиентам.
{
"data": {
"Logins": {
"Updated": ["agrom"],
"NotUpdated": ["john_smith"],
"NotFound": ["john_smith_old"]
},
"CampaignsStatChange": [
{
"CampaignID": 1327944,
"BorderDate": "2011-03-17"
},
{
"CampaignID": 23667919,
"BorderDate": "2011-05-17"
}
],
"Timestamp": "2011-05-24T23:59:59Z",
"RubricsChanged": "No",
"TimeZonesChanged": "No",
"RegionsChanged": "No"
}
}