Адрес для отправки запросов:
http://X.X.X.X:XXXX/api/
- Все обращения к методам API должны производиться POST-методом
- Отправка данных в методы должна быть в формате JSON
- В отправляемых JSON данных обязательно должны присутствовать
- Email пользователя в переменной user
- секретный ключ в переменной SECRET_API_KEY:
{
"SECRET_API_KEY": "СЕКРЕТНЫЙ КЛЮЧ",
"user": "Email пользователя"
}
API метод | Описание | Ссылка для отправки запроса |
---|---|---|
get_jobs_list | Получение списка заданий | http://X.X.X.X:XXXX/api/get_jobs_list/ |
add_job | Добавление нового задания по сбору данных из GA | http://X.X.X.X:XXXX/api/add_job/ |
check_job | Проверка статуса исполнения задания | http://X.X.X.X:XXXX/api/check_job/ |
get_job_result | Получение результатов задания | http://X.X.X.X:XXXX/api/get_job_result/ |
remove_job | Удаление задания из списка заданий | http://X.X.X.X:XXXX/api/remove_job/ |
- Ссылка для отправки запроса:
http://X.X.X.X:XXXX/api/get_jobs_list/
- Формат входных данных:
{
"SECRET_API_KEY": "СЕКРЕТНЫЙ КЛЮЧ",
"frequency": "строковое значение",
"status": "строковое значение",
"user": "строковое значение"
}
- Описание параметров входных данных:
Параметр | Описание | Возможные значение |
---|---|---|
frequency | Необязательный параметр. Задает периодичность заданий, которые необходимо получить | daily - задания, выполняемые ежедневно. temp - разовые задания без периодичности |
status | Необязательный параметр. Указывается статус выполнения задания | new - новое задание, сбор данных по которому еще не начат. pending - задание выполняется в данный момент. success - успешно выполненное задание, error - при выполнении задания возникла ошибка |
- Формат исходящих данных в случае успеха:
{
"success": true,
"result": [{}] // список доступных по запросу заданий
}
- Формат исходящих данных в случае ошибки:
{
"success": false,
"result": "описание ошибки"
}
- Пример возвращаемых данных в "result":
[{'id': 70, 'function': '', 'table_name': 'site_cta_header', 'metrics': '[{"expression": "ga:uniqueEvents"}]', 'dimensions': '[{"name": "ga:date"}, {"name": "ga:hostname"}, {"name": "ga:eventAction"}]', 'filtersExpression': 'ga:[email protected].;ga:eventCategory==CTA: Header', 'segment': None, 'add_data': None, 'frequency': 'dilers_temp', 'view_id': '178431333', 'transliterate': 0, 'byday': None, 'date_from': None, 'date_to': None, 'user': None, 'report_link': None, 'status': 'error'},
{'id': 71, 'function': '', 'table_name': 'site_menu', 'metrics': '[{"expression": "ga:uniqueEvents"}]', 'dimensions': '[{"name": "ga:date"}, {"name": "ga:hostname"}, {"name": "ga:eventAction"}]', 'filtersExpression': 'ga:[email protected].;ga:eventCategory==Offsite Link;ga:eventAction!~(\\?|innerLink)', 'segment': None, 'add_data': None, 'frequency': 'dilers_temp', 'view_id': '178431323', 'transliterate': 0, 'byday': None, 'date_from': None, 'date_to': None, 'user': None, 'report_link': None, 'status': 'success'}]
- Ссылка для отправки запроса:
http://X.X.X.X:XXXX/api/add_job/
- Формат входных данных:
{
"SECRET_API_KEY": "СЕКРЕТНЫЙ КЛЮЧ",
"user": "строковое значение",
"job_data":
{
"date_from": "2020-09-01", // формат ГГГГ-ММ-ДД
"date_to": "2020-09-24", // формат ГГГГ-ММ-ДД
"metrics": ["список"],
"dimensions": ["список"],
"filtersExpression": "строковое значение",
"segment": {"словарь": ""},
"frequency": "строковое значение",
"view_id": 123, // числовое значение
"byday": true, // bool
"table_name": "строковое значение"
}
}
- Описание параметров входных данных:
Параметр | Описание | Возможные значение |
---|---|---|
job_data | Обязательный параметр. Содержит параметры для сбора данных | Параметры указаны ниже |
- Параметры для сбора данных должны передаваться в параметре job_data:
Параметр | Описание | Возможные значение |
---|---|---|
date_from | Обязательный параметр. Дата, с которой будут начат собраны данные | Например, 2020-09-01 |
date_to | Обязательный параметр. Дата, по которую будут собраны данные | Например, 2020-09-24 |
metrics | Обязательный параметр. Список метрик, которые необходимо собирать | Например, [{"expression": "ga:users"}, {"expression": "ga:sessions"}] |
dimensions | Обязательный параметр. Список параметров, по которым необходимо собирать метрики | Например, [{"name": "ga:date"}, {"name": "ga:landingPagePath"}] |
filtersExpression | Необязательный параметр. Значение фильтр для сбора данных | Например, ga:source=@google |
segment | Необязательный параметр. Задает сегмент для сбора данных | Например, [{"name": "ga:segment"}, {"name": "ga:date"}, {"name": "ga:searchKeyword"}] |
frequency | Обязательный параметр. Задает периодичность задания | daily - задание выполняется ежедневно и собирает данные за предыдущий день. temp - разовое задание без периодичности |
view_id | Обязательный параметр. ID представления из GA | Например, 178431603 |
byday | Обязательный параметр. Задает метод сбора данных | true - данные собираются по дням для избежания семплирования false - данные собираются целиком за весь указанный период |
table_name | Обязательный параметр, если задается frequency со значением "daily". В других случаях необязательный параметр. Задает название для периодического отчета. Только латинские символы и знак _ | Например, site_paid_sources |
- Формат исходящих данных в случае успеха:
{
"success": true,
"result": 123 // id добавленного задания в числовом значении
}
- Формат исходящих данных в случае ошибки:
{
"success": false,
"result": "описание ошибки"
}
- Ссылка для отправки запроса:
http://X.X.X.X:XXXX/api/check_job/
- Формат входных данных:
{
"SECRET_API_KEY": "СЕКРЕТНЫЙ КЛЮЧ",
"id": 123 // id задания в числовом значении
"user": "строковое значение"
}
- Описание параметров входных данных:
Параметр | Описание | Возможные значение |
---|---|---|
id | Обязательный параметр. ID задания | Например 123 |
- Формат исходящих данных в случае успеха:
{
"success": true,
"result": 'статус задания'
}
- Формат исходящих данных в случае ошибки:
{
"success": false,
"result": "описание ошибки"
}
- Ссылка для отправки запроса:
http://X.X.X.X:XXXX/api/get_job_result/
- Формат входных данных:
{
"SECRET_API_KEY": "СЕКРЕТНЫЙ КЛЮЧ",
"id": 123 // id задания в числовом значении
"user": "строковое значение"
}
- Описание параметров входных данных:
Параметр | Описание | Возможные значение |
---|---|---|
id | Обязательный параметр. ID задания | Например 123 |
- Формат исходящих данных в случае успеха:
{
"success": true,
"result": "ссылка на скачивание отчета"
}
- Формат исходящих данных в случае ошибки:
{
"success": false,
"result": "описание ошибки"
}
- Ссылка для отправки запроса:
http://X.X.X.X:XXXX/api/remove_job/
- Формат входных данных:
{
"SECRET_API_KEY": "СЕКРЕТНЫЙ КЛЮЧ",
"id": 123 // id задания в числовом значении
"user": "строковое значение"
}
- Описание параметров входных данных:
Параметр | Описание | Возможные значение |
---|---|---|
id | Обязательный параметр. ID задания | Например 123 |
- Формат исходящих данных в случае успеха:
{
"success": true,
"result": true
}
- Формат исходящих данных в случае ошибки:
{
"success": false,
"result": "описание ошибки"
}