Перейти к содержанию

API Аналитики

Общие сведения

Аналитическое API позволяет получить отчеты любой сложности. Вы можете выбирать произвольный набор столбцов и фильтровать/сегментировать выборку. Данные можно получать в форматах JSON, XML и Excel.

Получить данные Аналитики

POST https://cloud.roistat.com/api/v1/project/analytics/data

Общая информация

Данный метод является основным для получения аналитических отчетов.

В запросе необходимо указать, какие столбцы в отчете вам нужны, за какой период и с какими фильтрами. Столбцы делятся на 2 типа: метрики и измерения (metrics and dimensions). Они задаются в отдельных полях запроса и отдаются так же в отдельных полях в ответе. Подробнее о метриках и измерениях написано ниже. Фильтры используются по аналогии с остальными методами. Подробнее о фильтрах можно будет посмотреть в примерах.

Метрики и измерения

Метрика — это количественный показатель отчета: например, количество визитов и заказов, выручка и так далее. Это те показатели, которые можно суммировать и по которым можно вычислять среднее или максимум/минимум. То есть это всегда числа.

Измерение — это качественный показатель: например, рекламный источник, браузер, пол, возраст, способ заказа и т.п. То есть это любой показатель, который обычно показывается в левой части отчета. По этому показателю идет группировка и вычисление метрик. То есть, если мы хотим увидеть в отчете количество визитов по каждому рекламному каналу, то в нашем отчете будет одно измерение рекламный канал и одна метрика количество визитов.

Чтобы сделать запрос, вам нужно знать список существующих измерений и метрик. Эти списки можно получить с помощью методов /project/analytics/metrics-new и /project/analytics/dimensions.

Мультиканальные отчеты

По умолчанию в отчетах Аналитики учитываются все сделки, совершенные в выбранный временной период, при этом даты визитов по сделкам не учитываются. Эту модель мы назвали Стандартной моделью атрибуции (default).

Roistat предоставляет возможность задавать и другие модели атрибуции для расчета метрик:

  • Первый клик (first click);
  • Последний клик (last click);
  • Последний платный клик;
  • Модель атрибуции на основе позиции рекламного канала в истории визитов по каждой сделке, или U-образная модель (U-shape);
  • Пользовательская модель U-shape;
  • Линейная;
  • Линейный рост;
  • Линейный спад.

Подробнее о моделях атрибуции

Список доступных моделей можно всегда узнать с помощью метода /project/analytics/attribution-models.

Таким образом, в одном отчете одна и та же метрика может выводиться несколько раз, подсчитанная по разным моделям атрибуции.

Те метрики, которые можно рассчитывать по разным моделям, имеют признак is_has_attribution_model: true (см. ответ в методе /project/analytics/metrics-new). То есть любая метрика с таким признаком может считаться по любой доступной модели атрибуции.

Фильтрация по метрикам и измерениям

В данном методе есть возможность отбирать те данные, которые вы хотите включать в отчет.

Фильтровать можно по метрикам и по измерениям.

Параметры фильтрации указываются в теле запроса в массиве filters.

Важно! Фильтрация по измерениям происходит на этапе обработки данных, по метрикам – после обработки. То есть сначала работает фильтр по измерениям, затем – по метрикам.

Примеры отчетов

Стандартный отчет по рекламным источникам за 1 месяц:

Источник Визиты Заявки Продажи Прибыль, Р Расходы, Р ROI, %
Яндекс.Директ 7556 128 28 363204 284980 27
Google Ads 2373 47 4 40506 25157 61

Итак, нам нужно измерение Источник. Источники имеют несколько уровней вложенности (Например, Директ -> Кампания 1 -> Баннер 232 и т.п.). Нас интересует самый верхний уровень. Смотрим в доступных измерениях его поле name. Поле title используется только для отображения в интерфейсах. Аналогично поступаем с метриками.

Пример нужного нам запроса:

{
  "dimensions": ["marker_level_1"],
  "metrics": ["visits","leads","sales","profit","marketing_cost","roi"],
  "period": {
    "from":"2016-07-01T00:00:00+0300",
    "to":"2016-07-31T23:59:59+0300"
  }
}

В ответ придет JSON, в котором поле data содержит один объект. В этом объекте поле items — это массив строк нашего отчета. Каждый item — это строка. Внутри такой строки отдельно данные по метрикам и измерениям в соответствующих полях. Также есть разная системная информация, которая подробно будет описана позднее.

Если вы хотите получить эту информацию в читаемом виде, то можете отправить такой запрос к API методу /project/analytics/data/export/excel. Вместо JSON в ответ вы получите Excel-файл, удобный для просмотра и анализа.

Ограничения

Существуют ограничения на запрос analytics/data по количеству визитов и запрашиваемых измерений за выбранный период.

Ограничение считается по формуле:

(количество визитов) * (количество запрошенных измерений) * (количество запрошенных измерений)

Сейчас максимальный лимит = 1 000 000

Например:

  • Если запрашиваются данные по одному измерению, то ограничение по визитам будет равно 1 000 000
  • Если запрашиваются данные по двум измерениям, то ограничение по визитам будет равно 250 000
  • Если запрашиваются данные по трем измерениям, то ограничение по визитам будет равно примерно 100 000
curl 'https://cloud.roistat.com/api/v1/project/analytics/data?project=12345' \
--request POST \
--header 'Content-type: application/json' \
--header 'Api-key: {KEY}' \
--data '{"dimensions": ["marker_level_1","marker_level_2"],"metrics": ["visits","leads"],"period": {"from":"2022-01-01T00:00:00+0300","to":"2022-07-31T23:59:59+0300"}}'

Тело запроса:

{
  "dimensions": [
    "marker_level_1",
    "marker_level_2"
  ],
  "metrics": [
    "visits",
    "leads",
    "sales",
    "marketing_cost",
    "roi",
    {
      "metric": "profit",
      "attribution": "first_click"
    }
  ],
  "period": {
    "from": "2016-07-01T00:00:00+0300",
    "to": "2016-07-31T23:59:59+0300"
  },
  "filters": [
    {
      "field": "marker_level_1",
      "operation": "in",
      "value": [
        "site1",
        "site2",
        "site3"
      ]
    },
    {
      "field": "roi",
      "operation": ">",
      "value": "0"
    }
  ],
  "interval": "1w",
  "next_dimensions": [
    "marker_level_2"
  ]
}
{
    "data": [
        {
            "items": [
                {
                    "metrics": [
                        {
                            "value": "136",
                            "formatted": null
                            "metric_name": "visits",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": 17.948717948718,
                            "formatted": "18 %",
                            "metric_name": "conversion_leads_to_sales",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": 687.51871428571,
                            "formatted": "688 р.",
                            "metric_name": "average_sale",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": 28.676470588235,
                            "formatted": "29 %",
                            "metric_name": "conversion_visits_to_leads",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": "7",
                            "formatted": "7",
                            "metric_name": "sales",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": 4812.631,
                            "formatted": "4 813 р.",
                            "metric_name": "revenue",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": 2887.579,
                            "formatted": "2 888 р.",
                            "metric_name": "profit",
                            "attribution_model_id": "first_click"
                        },
                        {
                            "value": 596.31223836256,
                            "formatted": "596 %",
                            "metric_name": "roi",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": "39",
                            "formatted": "39",
                            "metric_name": "leads",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": 414.696,
                            "formatted": "415 р.",
                            "metric_name": "marketing_cost",
                            "attribution_model_id": "default"
                        }
                    ],
                    "dimensions": {
                        "marker_level_1": {
                            "value": "adwords2",
                            "title": "Google Adwords",
                            "icon": "https://favicon.yandex.net/favicon/google.com"
                        }
                    },
                    "isHasChild": 1
                },
                {
                    "metrics": [
                        {
                            "value": "173",
                            "formatted": "173",
                            "metric_name": "visits",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": 11.111111111111,
                            "formatted": "11 %",
                            "metric_name": "conversion_leads_to_sales",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": 387.022,
                            "formatted": "387 р.",
                            "metric_name": "average_sale",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": 31.21387283237,
                            "formatted": "31 %",
                            "metric_name": "conversion_visits_to_leads",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": "6",
                            "formatted": "6",
                            "metric_name": "sales",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": 2322.132,
                            "formatted": "2 322 р.",
                            "metric_name": "revenue",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": 774.045,
                            "formatted": "774 р.",
                            "metric_name": "profit",
                            "attribution_model_id": "first_click"
                        },
                        {
                            "value": 47.145654322865,
                            "formatted": "47 %",
                            "metric_name": "roi",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": "54",
                            "formatted": "54",
                            "metric_name": "leads",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": 526.04,
                            "formatted": "526 р.",
                            "metric_name": "marketing_cost",
                            "attribution_model_id": "default"
                        }
                    ],
                    "dimensions": {
                        "marker_level_1": {
                            "value": "direct1",
                            "title": "Яндекс.Директ",
                            "icon": "https://favicon.yandex.net/favicon/www.direct.yandex.ru"
                        }
                    },
                    "isHasChild": 1
                },
                {
                    "metrics": [
                        {
                            "value": "102",
                            "formatted": "102",
                            "metric_name": "visits",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": 0,
                            "formatted": "0.00 %",
                            "metric_name": "conversion_leads_to_sales",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": 0,
                            "formatted": "0.00 р.",
                            "metric_name": "average_sale",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": 3.921568627451,
                            "formatted": "3.92 %",
                            "metric_name": "conversion_visits_to_leads",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": 0,
                            "formatted": "0",
                            "metric_name": "sales",
                            "attribution_model_id": null
                        },
                        {
                            "value": 0,
                            "formatted": "0.00 р.",
                            "metric_name": "revenue",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": 0,
                            "formatted": "0.00 р.",
                            "metric_name": "profit",
                            "attribution_model_id": "first_click"
                        },
                        {
                            "value": -100,
                            "formatted": "-100 %",
                            "metric_name": "roi",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": "4",
                            "formatted": "4",
                            "metric_name": "leads",
                            "attribution_model_id": "default"
                        },
                        {
                            "value": 311.062,
                            "formatted": "311 р.",
                            "metric_name": "marketing_cost",
                            "attribution_model_id": "default"
                        }
                    ],
                    "dimensions": {
                        "marker_level_1": {
                            "value": "facebook5",
                            "title": "Facebook",
                            "icon": "https://favicon.yandex.net/favicon/facebook.com"
                        }
                    },
                    "isHasChild": 1
                }
            ],
            "mean": {
                "metrics": [
                    {
                        "value": 654,
                        "formatted": "654",
                        "metric_name": "visits",
                        "attribution_model_id": null
                    },
                    {
                        "value": 13.888888888889,
                        "formatted": "14 %",
                        "metric_name": "conversion_leads_to_sales",
                        "attribution_model_id": null
                    },
                    {
                        "value": 523.624,
                        "formatted": "524 р.",
                        "metric_name": "average_sale",
                        "attribution_model_id": null
                    },
                    {
                        "value": 16.51376146789,
                        "formatted": "17 %",
                        "metric_name": "conversion_visits_to_leads",
                        "attribution_model_id": null
                    },
                    {
                        "value": 15,
                        "formatted": "15",
                        "metric_name": "sales",
                        "attribution_model_id": null
                    },
                    {
                        "value": 7854.36,
                        "formatted": "7 854 р.",
                        "metric_name": "revenue",
                        "attribution_model_id": null
                    },
                    {
                        "value": 3901.49,
                        "formatted": "3 901 р.",
                        "metric_name": "profit",
                        "attribution_model_id": "first_click"
                    },
                    {
                        "value": 94.92625858035,
                        "formatted": "95 %",
                        "metric_name": "roi",
                        "attribution_model_id": null
                    },
                    {
                        "value": 108,
                        "formatted": "108",
                        "metric_name": "leads",
                        "attribution_model_id": null
                    },
                    {
                        "value": 2001.521,
                        "formatted": "2 002 р.",
                        "metric_name": "marketing_cost",
                        "attribution_model_id": "default"
                    }
                ],
                "dimensions": [],
                "isHasChild": 0
            },
            "dateFrom": "2016-08-18T21:00:00+0000",
            "dateTo": "2016-08-25T20:59:59+0000"
        }
    ],
    "status": "success"
}

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да

Тело запроса:

Параметр Тип Описание Обязательный
dimensions array[string] перечень измерений да
metrics array[string] или array[object] перечень метрик. это может быть как просто название метрики (string), так и метрика с указанием модели атрибуции (object) да
metric string системное название метрики. можно узнать через метод /project/analytics/metrics-new нет
attribution string системное название модели атрибуции. можно узнать через метод /project/analytics/attribution-models нет
period object временной период да
from string начальная дата вида 2016-07-01T00:00:00+0300 да
to string конечная дата вида 2016-07-31T00:00:00+0300 да
filters array[object] фильтры для ограничения данных нет
field string параметр, по которому будет идти отбор данных. это могут быть метрики и измерения. Если field - название метрики, то фильтр будет применен после обработки данных, если измерение - до обработки данных нет
operation string операция сравнения: >, <, =, <>, >=, <=, in, not_in нет
value string или array[string] значение метрики/измерения, по которому идет отбор нет
interval string интервалы, на которые надо разбить период. значение в формате XmYwZd - число месяцев(m), неделей(w) и/или дней(d). Например:
  • 2w3d - интервал в 2 недели и 3 дня (7*2 +3 = 17 дней);
  • 1m1w - интервал в 1 месяц и 1 неделю
нет
next_dimensions array[string] нет
Параметр Тип Описание
data array[object]
items array[object] данные по метрикам и измерениям за весь временной период (period) или данные, распределенные по интервалам, если это было указано в запросе (interval)
>> metrics array[object] данные по метрикам за весь временной период (period) или за один интервал, если он был указан в запросе (interval)
>>> value string or number значение метрики
>>> formatted null or string значение метрики в интерфейсе. например, для roi значение value - 0, тогда в интерфейсе вы увидите 0.00 %
>>> metric_name string системное название метрики
>>> attribution_model_id null or string название модели атрибуции, которая используется для подсчета значений метрик
>> dimensions object данные по измерениям за весь временной период (period) или за один интервал, если он был указан в запросе (interval)
>>> value string системное название измерения
>>> title string человекочитаемое название метрики (в интерфейсе)
>>> icon string URL-адрес, где находится иконка для конкретного измерения
>> isHasChild integer характеристика, связанная с детализацией отчета. А именно: можно ли данные по конкретному измерению разбить на группировки по другим измерениям. Или проще: можно ли к данному уровню отчета добавить еще один, "более низкий" уровень: 1 - можно добавить, 0 - нельзя. Например, для прямых визитов можно смотреть статистику только по одному, верхнему уровню, т.е. только по всем прямым визитам сразу, без детализации
mean object общие и средние значения для соответствующих метрик для выбранного временного периода period (строка "Итого/среднее" в отчете)
metrics array[object] общие и средние значения для соответствующих метрик для выбранного временного периода period (строка "Итого/среднее" в отчете)
>> value string or number
>> formatted string
>> metric_name string
>> attribution_model_id null or string
dateFrom string начальная дата периода (параметр from в запросе)
dateTo string конечная дата периода (параметр to в запросе)
status string

Получить данные Аналитики в формате Excel

POST https://cloud.roistat.com/api/v1/project/analytics/data/export/excel

Данный метод аналогичен методу /project/analytics/data, однако в ответ выдается Excel-файл с отчетом.

Важно! В теле запроса не используются параметры interval и next_dimensions. Больше отличий нет.

curl 'https://cloud.roistat.com/api/v1/project/analytics/data/export/excel?project=12345' \
--request POST \
--header 'Content-type: application/json' \
--header 'Api-key: {KEY}' \
--data '{"dimensions": ["marker_level_1","marker_level_2"],"metrics": ["visits","leads"],"period": {"from":"2022-01-01T00:00:00+0300","to":"2022-07-31T23:59:59+0300"}}'

Тело запроса:

{
  "dimensions": [
    "marker_level_1",
    "marker_level_2"
  ],
  "metrics": [
    "visits",
    "leads",
    "sales",
    "marketing_cost",
    "roi",
    {
      "metric": "profit",
      "attribution": "first_click"
    }
  ],
  "period": {
    "from": "2016-07-01T00:00:00+0300",
    "to": "2016-07-31T23:59:59+0300"
  },
  "filters": [
    {
      "field": "marker_level_1",
      "operation": "in",
      "value": [
        "site1",
        "site2",
        "site3"
      ]
    },
    {
      "field": "roi",
      "operation": ">",
      "value": "0"
    }
  ],
  "interval": "1w",
  "next_dimensions": [
    "marker_level_2"
  ]
}   

Документ в формате Excel.

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да

Тело запроса:

Параметр Тип Описание Обязательный
dimensions array[string] перечень измерений да
metrics array[string] или array[object] перечень метрик. это может быть как просто название метрики (string), так и метрика с указанием модели атрибуции (object) да
metric string системное название метрики. можно узнать через метод /project/analytics/metrics нет
attribution string системное название модели атрибуции. можно узнать через метод /project/analytics/attribution-models нет
period object временной период да
from string начальная дата вида 2016-07-01T00:00:00+0300 да
to string конечная дата вида 2016-07-31T00:00:00+0300 да
filters array[object] фильтры для ограничения данных нет
field string параметр, по которому будет идти отбор данных. это могут быть метрики и измерения. Если field - название метрики, то фильтр будет применен после обработки данных, если измерение - до обработки данных нет
operation string операция сравнения: >, <, =, <>, >=, <=, in нет
value string или array[string] значение метрики/измерения, по которому идет отбор нет
interval string интервалы, на которые надо разбить период. значение в формате XmYwZd - число месяцев(m), неделей(w) и/или дней(d). Например:
  • 2w3d - интервал в 2 недели и 3 дня (7*2 +3 = 17 дней);
  • 1m1w - интервал в 1 месяц и 1 неделю
нет
next_dimensions array[string] нет

Документ в формате Excel.

Получить список доступных метрик

POST https://cloud.roistat.com/api/v1/project/analytics/metrics-new

Возвращает список доступных метрик. Подробности смотрите в /project/analytics/data.

curl 'https://cloud.roistat.com/api/v1/project/analytics/metrics-new?project=12345' \
--request POST \
--header 'Content-type: application/json' \
--header 'Api-key: {KEY}'
{
  "metrics": [
    {
      "name": "impressions",
      "title": "Показы",
      "info": "Количество показов рекламных объявлений",
      "group": "visitsAndConversions",
      "is_has_attribution_model": false,
      "is_absolute": true,
      "order": 98,
      "type": "integer",
      "formula": "{impressions} ? {impressions} : 0"
    },
    {
      "name": "ctr",
      "title": "CTR",
      "info": "Показатель кликабельности объявлений\nВизиты / Показы * 100%",
      "group": "visitsAndConversions",
      "is_has_attribution_model": false,
      "is_absolute": false,
      "order": 99,
      "type": "percent",
      "formula": "{impressions} ? (100 * {visitCount} / {impressions}) : 0"
    },
    {
      "name": "visitCount",
      "title": "Визиты",
      "info": "Уникальные посетители сайта",
      "group": "visitsAndConversions",
      "is_has_attribution_model": false,
      "is_absolute": true,
      "order": 100,
      "type": "integer",
      "formula": "{visitCount} ? {visitCount} : 0"
    },
    {
      "name": "visits2leads",
      "title": "Конверсия в заявки",
      "info": "Среднее количество конверсий на клик",
      "group": "visitsAndConversions",
      "is_has_attribution_model": true,
      "is_absolute": false,
      "order": 150,
      "type": "percent",
      "formula": "{visitCount} ? (100*{leadCount}/{visitCount}) : 0"
    },
    {
      "name": "leadCount",
      "title": "Заявки",
      "info": "Заявки (лиды) — это любые обращения, поступившие в ваш бизнес. Например: отправленные формы на сайте, звонки, диалоги онлайн консультантов и т.п.",
      "group": "orders",
      "is_has_attribution_model": true,
      "is_absolute": true,
      "order": 200,
      "type": "integer",
      "formula": "{leadCount} ? {leadCount} : 0"
    },
    {
      "name": "leads2orders",
      "title": "Конверсия в продажи",
      "info": "Продажи, деленные на заявки",
      "group": "visitsAndConversions",
      "is_has_attribution_model": true,
      "is_absolute": false,
      "order": 300,
      "type": "percent",
      "formula": "{leadCount} ? (100*{paidLeadCount}/{leadCount}) : 0"
    },
    {
      "name": "paidLeadCount",
      "title": "Продажи",
      "info": "Сделки со статусом «Оплаченные»",
      "group": "orders",
      "is_has_attribution_model": true,
      "is_absolute": true,
      "order": 400,
      "type": "integer",
      "formula": "{paidLeadCount} ? {paidLeadCount} : 0"
    },
    {
      "name": "progressLeadCount",
      "title": "Сделки в работе",
      "info": "Сделки со статусом «В работе»",
      "group": "orders",
      "is_has_attribution_model": true,
      "is_absolute": true,
      "order": 2100,
      "type": "integer",
      "formula": "{progressLeadCount} ? {progressLeadCount} : 0"
    },
    {
      "name": "visits2orders",
      "title": "Абсолютная конверсия",
      "info": "Продажи, деленные на визиты",
      "group": "visitsAndConversions",
      "is_has_attribution_model": true,
      "is_absolute": false,
      "order": 600,
      "type": "percent",
      "formula": "{visitCount} ? (100*{paidLeadCount}/{visitCount}) : 0"
    },
    {
      "name": "progressAndPaidLeadsCount",
      "title": "Потенциальные продажи",
      "info": "Количество сделок из статусов «Оплаченные» и «В работе»",
      "group": "orders",
      "is_has_attribution_model": true,
      "is_absolute": true,
      "order": 2600,
      "type": "integer",
      "formula": "{paidLeadCount}+{progressLeadCount}"
    },
    {
      "name": "canceledLeadCount",
      "title": "Отмененные сделки",
      "info": "Сделки из группы статусов «Отмененные»",
      "group": "orders",
      "is_has_attribution_model": true,
      "is_absolute": true,
      "order": 2300,
      "type": "integer",
      "formula": "{leadCount}-{progressLeadCount}-{paidLeadCount}"
    },
    {
      "name": "progressLeadsPrice",
      "title": "Выручка «В работе»",
      "info": "Потенциальная выручка, которая берется у сделок «В работе»",
      "group": "profit",
      "is_has_attribution_model": true,
      "is_absolute": false,
      "order": 2200,
      "type": "money",
      "formula": "{progressLeadsPrice}\n                  ? {progressLeadsPrice}\n                  : ({paidLeadCount} ? {paidLeadsPrice}*{progressLeadCount}/{paidLeadCount} : 0)"
    },
    {
      "name": "paidLeadsPrice",
      "title": "Выручка",
      "info": "Выручка для сделок в статусе «Оплаченные»",
      "group": "profit",
      "is_has_attribution_model": true,
      "is_absolute": true,
      "order": 700,
      "type": "money",
      "formula": "{paidLeadsPrice} ? {paidLeadsPrice} : 0"
    },
    {
      "name": "progressAndPaidLeadsPrice",
      "title": "Потенциальная выручка",
      "info": "Выручка для сделок со статусами «В работе» и «Оплаченные»",
      "group": "profit",
      "is_has_attribution_model": true,
      "is_absolute": true,
      "order": 2700,
      "type": "money",
      "formula": "({paidLeadsPrice}?{paidLeadsPrice}:0)+({progressLeadsPrice}?{progressLeadsPrice}:({paidLeadCount}?{paidLeadsPrice}*{progressLeadCount}/{paidLeadCount}:0))"
    },
    {
      "name": "revenue_сanceled",
      "title": "Выручка отмененных заявок",
      "info": "Выручка по заявкам со статусами «Отмененные»",
      "group": "profit",
      "is_has_attribution_model": true,
      "is_absolute": true,
      "order": 2750,
      "type": "money",
      "formula": "{revenue_canceled} ? {revenue_canceled} : 0"
    },
    {
      "name": "leadsCosts",
      "title": "Себестоимость",
      "info": "Вы можете указать Себестоимость следующими способами:\n1. Указать значение в пункте «Прибыль от сделки» в «Настройки» -> «Настройки проекта»\n2. Создать поле для себестоимости в CRM, заполнять его и выбрать поле из списка в «Настройки» -> «Интеграция с CRM»",
      "group": "cost",
      "is_has_attribution_model": true,
      "is_absolute": true,
      "order": 1000,
      "type": "money",
      "formula": "{leadsCosts}\n                    ? {leadsCosts}\n                    : ( {paidLeadsPrice} * (1 - ({$profitFactor} ? {$profitFactor} : 1)) )"
    },
    {
      "name": "profit",
      "title": "Прибыль",
      "info": "Разница между Выручкой и Себестоимостью",
      "group": "profit",
      "is_has_attribution_model": true,
      "is_absolute": true,
      "order": 1100,
      "type": "money",
      "formula": "{leadsCosts}\n                    ? ( {paidLeadsPrice} - {leadsCosts} )\n                    : ( {paidLeadsPrice} * {$profitFactor} )"
    },
    {
      "name": "potentialProfit",
      "title": "Потенциальная прибыль",
      "info": "Потенциальная прибыль со сделок \"В работе\" и \"Оплаченные\"",
      "group": "profit",
      "is_has_attribution_model": true,
      "is_absolute": true,
      "order": 2800,
      "type": "money",
      "formula": "{$isHasCost}\n                    ? ( ({paidLeadsPrice} ? {paidLeadsPrice} : 0)\n                        + ({progressLeadsPrice}\n                            ? {progressLeadsPrice}\n                            : ( {paidLeadCount} ? {paidLeadsPrice} * {progressLeadCount} / {paidLeadCount} : 0 ))\n                        - {leadsCosts} )\n                    : ( ( ({paidLeadsPrice} ? {paidLeadsPrice} : 0)\n                        + ({progressLeadsPrice}\n                            ? {progressLeadsPrice}\n                            : ( {paidLeadCount} ? {paidLeadsPrice} * {progressLeadCount} / {paidLeadCount} : 0 )) )\n                        * {$profitFactor} )"
    },
    {
      "name": "meanCheck",
      "title": "Средний чек",
      "info": "Выручка, деленная на продажи",
      "group": "profit",
      "is_has_attribution_model": true,
      "is_absolute": false,
      "order": 800,
      "type": "money",
      "formula": "{paidLeadCount}?{paidLeadsPrice}/{paidLeadCount}:0"
    },
    {
      "name": "potentialMeanCheck",
      "title": "Потенциальный средний чек",
      "info": "Потенциальная выручка, деленная на потенциальные продажи",
      "group": "profit",
      "is_has_attribution_model": true,
      "is_absolute": false,
      "order": 2900,
      "type": "money",
      "formula": "({progressLeadCount}+{paidLeadCount})\n                    ?({paidLeadsPrice}+({progressLeadsPrice}?{progressLeadsPrice}:({paidLeadCount}?{paidLeadsPrice}*{progressLeadCount}/{paidLeadCount}:0)))/({progressLeadCount}+{paidLeadCount})\n                    :0"
    },
    {
      "name": "meanProfit",
      "title": "Средняя прибыль",
      "info": "Прибыль, деленная на продажи",
      "group": "profit",
      "is_has_attribution_model": true,
      "is_absolute": false,
      "order": 900,
      "type": "money",
      "formula": "{paidLeadCount}?(({leadsCosts}?({paidLeadsPrice}-{leadsCosts}):({paidLeadsPrice}*{$profitFactor}))/{paidLeadCount}):0"
    },
    {
      "name": "visitsCost",
      "title": "Расходы",
      "info": "Маркетинговые расходы",
      "group": "cost",
      "is_has_attribution_model": false,
      "is_absolute": true,
      "order": 1300,
      "type": "money",
      "formula": "{visitsCost} ? {visitsCost} : 0"
    },
    {
      "name": "costPerOrder",
      "title": "CPO",
      "info": "Расходы, деленные на продажи",
      "group": "cost",
      "is_has_attribution_model": true,
      "is_absolute": false,
      "order": 1900,
      "type": "money",
      "formula": "{visitsCost} ? ({paidLeadCount}?{visitsCost}/{paidLeadCount}:0) : 0"
    },
    {
      "name": "roi",
      "title": "ROI",
      "info": "Возврат инвестиций. Значение должно быть больше 0%",
      "group": "profit",
      "is_has_attribution_model": true,
      "is_absolute": false,
      "order": 1400,
      "type": "percent",
      "formula": "{visitsCost} ? (100*(({leadsCosts} ? ({paidLeadsPrice}-{leadsCosts}) : ({paidLeadsPrice}*{$profitFactor}))-{visitsCost})/{visitsCost}) : 0"
    },
    {
      "name": "romi",
      "title": "ROMI",
      "info": "Возврат инвестиций с маркетинга",
      "group": "profit",
      "is_has_attribution_model": true,
      "is_absolute": false,
      "order": 1500,
      "type": "percent",
      "formula": "{visitsCost} ? (100 * ({paidLeadsPrice} - {visitsCost})/{visitsCost}) : 0"
    },
    {
      "name": "potentialRoi",
      "title": "Потенциальный ROI",
      "info": "Потенциальный возврат инвестиций. Значений должно быть больше 0%",
      "group": "profit",
      "is_has_attribution_model": true,
      "is_absolute": false,
      "order": 2500,
      "type": "percent",
      "formula": "{visitsCost}\n                    ? (100*(\n                        ({leadsCosts}\n                            ? ({paidLeadsPrice}+({progressLeadsPrice}?{progressLeadsPrice}:({paidLeadCount}?{paidLeadsPrice}*{progressLeadCount}/{paidLeadCount}:0))-{leadsCosts})\n                            : (({paidLeadsPrice}+({progressLeadsPrice}?{progressLeadsPrice}:({paidLeadCount}?{paidLeadsPrice}*{progressLeadCount}/{paidLeadCount}:0)))*{$profitFactor}))-{visitsCost})\n                        /{visitsCost})\n                    : 0"
    },
    {
      "name": "costPerClick",
      "title": "CPC",
      "info": "Средняя стоимость клика",
      "group": "cost",
      "is_has_attribution_model": false,
      "is_absolute": false,
      "order": 1700,
      "type": "money",
      "formula": "{visitCount} ? {visitsCost}/{visitCount} : 0"
    },
    {
      "name": "costPerLead",
      "title": "CPL",
      "info": "Средняя стоимость заявки",
      "group": "cost",
      "is_has_attribution_model": true,
      "is_absolute": false,
      "order": 1800,
      "type": "money",
      "formula": "{leadCount} ? {visitsCost}/{leadCount} : 0"
    },
    {
      "name": "adProfit",
      "title": "Чистая прибыль",
      "info": "Разница между Прибылью и Расходами",
      "group": "profit",
      "is_has_attribution_model": true,
      "is_absolute": true,
      "order": 1200,
      "type": "money",
      "formula": "({leadsCosts}\n                    ? ( {paidLeadsPrice} - {leadsCosts} )\n                    : ( {paidLeadsPrice} * {$profitFactor}) ) - {visitsCost}"
    },
    {
      "name": "clientCount",
      "title": "Клиенты",
      "info": "Количество клиентов",
      "group": "client",
      "is_has_attribution_model": false,
      "is_absolute": true,
      "order": 3000,
      "type": "integer",
      "formula": "{clientCount} ? {clientCount} : 0"
    },
    {
      "name": "repeatedLeadCount",
      "title": "Повторные заявки",
      "info": "Разница между Заявками и Клиентами",
      "group": "client",
      "is_has_attribution_model": false,
      "is_absolute": true,
      "order": 3200,
      "type": "integer",
      "formula": "{clientCount} ? ({leadCount} - {clientCount}) : 0"
    },
    {
      "name": "repeatedLeadRate",
      "title": "Повторные заявки, %",
      "info": "Доля повторных заявок",
      "group": "client",
      "is_has_attribution_model": false,
      "is_absolute": false,
      "order": 3300,
      "type": "percent",
      "formula": "({clientCount} && {leadCount}) ? (({leadCount} - {clientCount}) * 100 / {leadCount}) : 0"
    },
    {
      "name": "clientCost",
      "title": "CAC",
      "info": "Средняя стоимость привлечения клиента",
      "group": "client",
      "is_has_attribution_model": false,
      "is_absolute": false,
      "order": 3600,
      "type": "money",
      "formula": "{clientCount} ? ({visitsCost} / {clientCount}) : 0"
    },
    {
      "name": "clientPrice",
      "title": "LTV",
      "info": "Средняя прибыль, принесенная платящим клиентом",
      "group": "client",
      "is_has_attribution_model": false,
      "is_absolute": false,
      "order": 3700,
      "type": "money",
      "formula": "{paidClientCount} ? ({paidLeadsPrice} / {paidClientCount}) : 0"
    },
    {
      "name": "paidClientCount",
      "title": "Оплатившие клиенты",
      "info": "Количество оплативших клиентов",
      "group": "client",
      "is_has_attribution_model": false,
      "is_absolute": true,
      "order": 3100,
      "type": "integer",
      "formula": "{paidClientCount} ? {paidClientCount} : 0"
    },
    {
      "name": "repeatedSales",
      "title": "Повторные продажи",
      "info": "Разница между Продажами и Оплатившими клиентами",
      "group": "client",
      "is_has_attribution_model": false,
      "is_absolute": true,
      "order": 3400,
      "type": "integer",
      "formula": "{paidClientCount} ? ({paidLeadCount} - {paidClientCount}) : 0"
    },
    {
      "name": "repeatedSalesRate",
      "title": "Повторные продажи, %",
      "info": "Доля повторных продаж",
      "group": "client",
      "is_has_attribution_model": false,
      "is_absolute": false,
      "order": 3500,
      "type": "percent",
      "formula": "({paidClientCount} && {paidLeadCount}) ? (({paidLeadCount} - {paidClientCount}) * 100 / {paidLeadCount}) : 0"
    },
    {
      "name": "costProportion",
      "title": "ДРР, %",
      "info": "Доля рекламного расхода в прибыли",
      "group": "cost",
      "is_has_attribution_model": true,
      "is_absolute": false,
      "order": 1600,
      "type": "percent",
      "formula": "{leadsCosts}\n                    ? (({paidLeadsPrice} - {leadsCosts}) !== 0\n                        ? {visitsCost} / ({paidLeadsPrice} - {leadsCosts}) * 100\n                        : 0)\n                    : ({paidLeadsPrice}\n                        ? {visitsCost} / ({paidLeadsPrice} * {$profitFactor}) * 100\n                        : 0)"
    },
    {
      "name": "potentialCPO",
      "title": "Потенциальный CPO",
      "info": "Потенциальная стоимость привлеченной продажи",
      "group": "cost",
      "is_has_attribution_model": true,
      "is_absolute": false,
      "order": 2400,
      "type": "money",
      "formula": "{visitsCost} && ({paidLeadCount} || {progressLeadCount})\n                    ? ({visitsCost}) / ({paidLeadCount}+{progressLeadCount})\n                    : 0"
    },
    {
      "name": "marginality",
      "title": "Маржинальность, %",
      "info": "Отношение прибыли к себестоимости",
      "group": "profit",
      "is_has_attribution_model": true,
      "is_absolute": false,
      "order": 2000,
      "type": "percent",
      "formula": "{leadsCosts}\n                    ? ((({paidLeadsPrice} - {leadsCosts}) / {leadsCosts}) * 100)\n                    : 0"
    },
    {
      "name": "event_meta_10",
      "title": "Корзина",
      "info": "Событие Корзина",
      "group": "events",
      "is_has_attribution_model": false,
      "is_absolute": true,
      "order": 4200,
      "type": "integer",
      "formula": "{event_meta_10} ? {event_meta_10} : 0"
    },
    {
      "name": "event_meta_unique_10",
      "title": "Корзина (пользователи)",
      "info": "Количество пользователей, вызвавших событие Корзина",
      "group": "events",
      "is_has_attribution_model": false,
      "is_absolute": true,
      "order": 4300,
      "type": "integer",
      "formula": "{event_meta_unique_10} ? {event_meta_unique_10} : 0"
    }
  ],
  "status": "success"
}   

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да

Тело запроса:

Без параметров.

Параметр Тип Описание
metrics array[object]
name string системное название метрики
title string человекочитаемое название метрики
info string краткое определение метрики
group string системное название группы метрик, к которой данная метрика относится в Roistat
is_has_attribution_model boolean параметр, который указывает, рассчитывается ли метрика по какой-нибудь модели атрибуции или нет:
  • true - рассчитывается по модели атрибуции;
  • false - не рассчитывается.
is_absolute boolean параметр, связанный с характером подсчета метрики:
  • true - точное, абсолютное значение (например метрики Показы, Визиты, Сделки);
  • false - усредненное, не абсолютное значение (например метрики по конверсиям, Маржинальность, %, CPO, ROI, CPC
order integer порядок сортировки метрик (=столбцов) в отчете
type string тип значения метрики:
  • integer - число (например, Визиты, Заявки);
  • percent - процент (например, ROI, Маржинальность, %);
  • money - сумма денег в валюте проекта (например, Выручка, Себестоимость).
formula string формула вычисления метрики
status string

Получить список доступных измерений

POST https://cloud.roistat.com/api/v1/project/analytics/dimensions

Возвращает список доступных измерений. Подробности смотрите в /project/analytics/data.

curl 'https://cloud.roistat.com/api/v1/project/analytics/dimensions?project=12345' \
--request POST \
--header 'Content-type: application/json' \
--header 'Api-key: {KEY}'
{
  "dimensions": [
    {
      "name": "marker_level_1",
      "title": "Источник (уровень 1)",
      "order": 100
    },
    {
      "name": "marker_level_2",
      "title": "Источник (уровень 2)",
      "order": 200
    },
    {
      "name": "marker_level_3",
      "title": "Источник (уровень 3)",
      "order": 300
    },
    {
      "name": "marker_level_4",
      "title": "Источник (уровень 4)",
      "order": 400
    },
    {
      "name": "marker_level_5",
      "title": "Источник (уровень 5)",
      "order": 500
    },
    {
      "name": "marker_level_6",
      "title": "Источник (уровень 6)",
      "order": 600
    },
    {
      "name": "marker_level_7",
      "title": "Источник (уровень 7)",
      "order": 700
    },
    {
      "name": "utm_source",
      "title": "utm_source",
      "order": 800
    },
    {
      "name": "utm_medium",
      "title": "utm_medium",
      "order": 900
    },
    {
      "name": "utm_campaign",
      "title": "utm_campaign",
      "order": 1000
    },
    {
      "name": "utm_term",
      "title": "utm_term",
      "order": 1100
    },
    {
      "name": "utm_content",
      "title": "utm_content",
      "order": 1200
    },
    {
      "name": "roistat_param1",
      "title": "roistat_param1",
      "order": 1300
    },
    {
      "name": "roistat_param2",
      "title": "roistat_param2",
      "order": 1400
    },
    {
      "name": "roistat_param3",
      "title": "roistat_param3",
      "order": 1500
    },
    {
      "name": "roistat_param4",
      "title": "roistat_param4",
      "order": 1600
    },
    {
      "name": "roistat_param5",
      "title": "roistat_param5",
      "order": 1700
    },
    {
      "name": "host",
      "title": "Домен",
      "order": 1800
    },
    {
      "name": "landing_page",
      "title": "Посадочная страница",
      "order": 1900
    },
    {
      "name": "referrer",
      "title": "Источник",
      "order": 2000
    },
    {
      "name": "referrer_host",
      "title": "Домен источника",
      "order": 2100
    },
    {
      "name": "country",
      "title": "Страна",
      "order": 2200
    },
    {
      "name": "city",
      "title": "Город",
      "order": 2300
    },
    {
      "name": "device",
      "title": "Устройство",
      "order": 1005002
    },
    {
      "name": "browser",
      "title": "Браузер",
      "order": 1005003
    },
    {
      "name": "ad_position_type",
      "title": "Блок показа",
      "order": 2400
    },
    {
      "name": "ad_position",
      "title": "Позиция показа",
      "order": 2500
    },
    {
      "name": "daily",
      "title": "День",
      "order": 2700
    },
    {
      "name": "weekly",
      "title": "Неделя",
      "order": 2900
    },
    {
      "name": "monthly",
      "title": "Месяц",
      "order": 3000
    },
    {
      "name": "order_field_21",
      "title": "customer_id",
      "order": 3200
    },
    {
      "name": "order_field_4",
      "title": "Статус сделки",
      "order": 3300
    },
    {
      "name": "order_field_5",
      "title": "Город",
      "order": 3400
    },
    {
      "name": "order_field_23",
      "title": "Дата доставки",
      "order": 3500
    },
    {
      "name": "order_field_22",
      "title": "Дата отгрузки",
      "order": 3600
    },
    {
      "name": "order_field_11",
      "title": "Дата отправки",
      "order": 3700
    },
    {
      "name": "order_field_3",
      "title": "Дизайнер",
      "order": 3800
    },
    {
      "name": "order_field_7",
      "title": "Касса",
      "order": 3900
    },
    {
      "name": "order_field_1",
      "title": "Количество картин в заказе",
      "order": 4000
    },
    {
      "name": "order_field_13",
      "title": "Купон",
      "order": 4100
    },
    {
      "name": "order_field_9",
      "title": "Оператор",
      "order": 4200
    },
    {
      "name": "order_field_19",
      "title": "Причина возврата",
      "order": 4300
    },
    {
      "name": "order_field_16",
      "title": "Причина мусора",
      "order": 4400
    },
    {
      "name": "order_field_2",
      "title": "Причина отказа",
      "order": 4500
    },
    {
      "name": "order_field_17",
      "title": "Причина отмены",
      "order": 4600
    },
    {
      "name": "order_field_20",
      "title": "Причина переделки",
      "order": 4700
    },
    {
      "name": "order_field_6",
      "title": "Производство",
      "order": 4800
    },
    {
      "name": "order_field_8",
      "title": "Служба доставки",
      "order": 4900
    },
    {
      "name": "order_field_12",
      "title": "Тип лида",
      "order": 5000
    },
    {
      "name": "order_field_18",
      "title": "Тип отгрузки",
      "order": 5100
    },
    {
      "name": "event_meta_id",
      "title": "События",
      "order": 3100
    },
    {
      "name": "hours",
      "title": "Час",
      "order": 2600
    },
    {
      "name": "week_days",
      "title": "День недели",
      "order": 2800
    },
    {
      "name": "device_type",
      "title": "Тип устройства",
      "order": 1005001
    }
  ],
  "status": "success"
}

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да

Тело запроса:

Без параметров.

Параметр Тип Описание
dimensions array[object]
name string системное название измерения
title string человекочитаемое название измерения
order integer порядок сортировки измерений (=уровней) в отчете
status string

Узнать, какие измерения (Прямые визиты, Визиты с сайтов) доступны для конкретного типа группировки в отчете

POST https://cloud.roistat.com/api/v1/project/analytics/dimension-values

С помощью данного метода вы можете узнать, какие измерения (Прямые визиты, Визиты с сайтов) доступны для конкретного типа группировки в отчете (Источник (уровень 1), Домен).

curl 'https://cloud.roistat.com/api/v1/project/analytics/dimension-values?project=12345&dimension=marker_level_1' \
--request POST \
--header 'Content-type: application/json' \
--header 'Api-key: {KEY}'
{
  "values": [
    {
      "value": "",
      "title": "Прямые визиты"
    },
    {
      "value": "site",
      "title": "Визиты с сайтов"
    },
    {
      "value": "seo",
      "title": "SEO"
    },
    {
      "value": "direct1",
      "title": "Яндекс.Директ"
    }
  ],
  "status": "success"
}

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да
dimension string системное название типа группировки (измерения). можно узнать с помощью метода /project/analytics/dimensions да

Тело запроса:

Без параметров.

Параметр Тип Описание
values array[object]
value string системное название
title string человекочитаемое название
status string

Получить список моделей атрибуции

POST https://cloud.roistat.com/api/v1/project/analytics/attribution-models

Данный метод выводит список моделей атрибуции.

curl 'https://cloud.roistat.com/api/v1/project/analytics/attribution-models?project=12345' \
--request POST \
--header 'Content-type: application/json' \
--header 'Api-key: {KEY}'
{
  "models": [
    {
      "id": "default",
      "name": "Стандартная модель атрибуции",
      "is_system": true
    },
    {
      "id": "ushape",
      "name": "UShape",
      "is_system": true
    },
    {
      "id": "first_click",
      "name": "Первый клик",
      "is_system": true
    },
    {
      "id": "last_click",
      "name": "Последний клик",
      "is_system": true
    }
  ],
  "status": "success"
}

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да

Тело запроса:

Без параметров.

Параметр Тип Описание
models array[object]
id string системное название модели атрибуции
name string человекочитаемое название модели атрибуции
is_system boolean модели атрибуции могут быть:
  • системные - их предлагает Roistat;
  • пользовательские - устанавливаются вручную самим пользователем
status string

Получить список сделок с фильтрацией по параметрам визита

POST https://cloud.roistat.com/api/v1/project/analytics/list-orders

Данный метод позволяет получить список сделок с фильтрацией по параметрам визита.

curl 'https://cloud.roistat.com/api/v1/project/analytics/list-orders?project=12345' \
--request POST \
--header 'Content-type: application/json' \
--header 'Api-key: {KEY}' \
--data '{"period": {"from":"2022-01-01T00:00:00+0300","to":"2022-07-31T23:59:59+0300"}}'

Тело запроса:

{
  "period": {
    "from": "2018-01-29T21:00:00.000Z",
    "to": "2018-03-01T20:59:59.999Z"
  },
  "filters": [
    {
      "field": "marker_level_1",
      "operator": "=",
      "value": "direct1"
    }
  ],
  "attribution_model_id": "default"
}
{
  "orders": [
    {
      "id": "order_239",
      "title": "order_239",
      "url": "https://example.crm.com/deal/239",
      "source": {
        "type": "default",
        "icon_url": null,
        "title": "Стандарт"
      },
      "creation_date": "2018-01-29T21:32:24+0000",
      "update_date": null,
      "paid_date": null,
      "status": "progress",
      "status_name": "Новый",
      "price": 476.978,
      "cost": 0,
      "visit_id": "239",
      "visit": null,
      "fields_data": {
        "status_name": "Новый",
        "Менеджер": "Петров Михаил",
        "roistat": 239
      },
      "is_multichannel": 0,
      "visits_count": 1,
      "client_phones": [],
      "client_emails": [],
      "client_name": null,
      "client_id": null,
      "client_external_id": null
    }
  ],
  "status": "success"
}

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да

Тело запроса:

Параметр Тип Описание Обязательный
period object временной период да
from string начальная дата вида 2016-07-01T00:00:00+0300 да
to string конечная дата вида 2016-07-31T00:00:00+0300 да
filters array[object] фильтры для ограничения данных нет
field string параметр, по которому будет идти отбор данных. это могут быть метрики и измерения. Если field - название метрики, то фильтр будет применен после обработки данных, если измерение - до обработки данных нет
operator string операция сравнения: >, <, =, <>, >=, <=, in нет
value string or array[string] значение метрики/измерения, по которому идет отбор нет
attribution_model_id string Модель атрибуции: default, first_click, last_click, ushape. Подробнее https://help.roistat.com/features/Analitika_i_otchety/Analitika/Modeli_atribucii/ нет
Параметр Тип Описание
orders array[object]
id string ID заказа из CRM
title string название сделки из CRM
url string URL сделки из CRM
source object
>> type string системный тип канала (источника сделки)
>> icon_url string or null ссылка на иконку канала (источника сделки)
>> title string человекочитаемое название канала (источника сделки)
creation_date string дата и время создания заказа в формате UTC0
update_date null or string дата и время последнего изменения данных о заказе, в формате UTC0
paid_date null or string дата и время оплаты заказа, в формате UTC0
status string системное имя статуса
status_name string название статуса
price integer выручка по заказу
cost integer себестоимость
visit_id null or string номер визита клиента
visit null or object объект с данными визита. Подробнее о данных визита читайте в методе /project/site/visit/list
fields_data object дополнительные поля
is_multichannel integer мультиканальность сделки: 1 - было несколько рекламных касаний, 0 - визит был с одного канала
visits_count integer количество визитов
client_phones array[object]
client_emails array[object]
client_name null or string
client_id null or string
client_external_id null or string
status string

Заполнить значения пользовательских показателей

POST https://cloud.roistat.com/api/v1/project/analytics/metrics/custom/manual/value/add

С помощью данного метода можно заполнить значения пользовательских показателей. Чтобы получить список пользовательских показателей, используйте метод /project/analytics/metrics/custom/manual/list.

curl 'https://cloud.roistat.com/api/v1/project/analytics/metrics/custom/manual/value/add?project=12345' \
--request POST \
--header 'Content-type: application/json' \
--header 'Api-key: {KEY}' \
--data '{"manual_custom_metric_id": 4, "source": "Прямые визиты", "value": 9999, "period": {"from":"2022-01-01T00:00:00+0300","to":"2022-07-31T23:59:59+0300"}}'

Тело запроса:

{
  "manual_custom_metric_id": 4,
  "source": "Прямые визиты",
  "value": 9999,
  "period": {
    "from": "2021-03-31T21:00:00",
    "to": "2021-04-13T20:59:59"
  }
}   

Без параметров.

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да

Тело запроса:

Параметр Тип Описание Обязательный
manual_custom_metric_id number идентификатор показателя (можно получить с помощью /project/analytics/metrics/custom/manual/list) да
source string источник / рекламный канал да
value number значение да
period object период (указывается в формате UTC+0) да
from string да
to string да

Без параметров.

Получить список пользовательских показателей

GET https://cloud.roistat.com/api/v1/project/analytics/metrics/custom/list

С помощью данного метода можно получить список пользовательских показателей.

curl 'https://cloud.roistat.com/api/v1/project/analytics/metrics/custom/list?project=12345' \
--request GET \
--header 'Content-type: application/json' \
--header 'Api-key: {KEY}'
{
  "data": [
    {
      "id": 4,
      "title": "Начатые чаты",
      "type": "integer",
      "creation_date": "2021-03-05T12:05:38+0000",
      "is_used_in_custom_metric": false
    },
    {
      "id": 3,
      "title": "Показанные телефоны",
      "type": "integer",
      "creation_date": "2021-03-05T12:05:30+0000",
      "is_used_in_custom_metric": false
    }
  ],
  "total": 2,
  "status": "success"
}

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да

Тело запроса:

Без параметров.

Параметр Тип Описание
data array[object]
id number ID показателя
title string название показателя
type string тип данных
creation_date string дата создания
is_used_in_custom_metric boolean используется ли в других пользовательских показателях
total integer
status string

Получить значения пользовательских показателей

POST https://cloud.roistat.com/api/v1/project/analytics/metrics/custom/manual/value/list

С помощью данного метода можно получить значения пользовательских показателей.

curl 'https://cloud.roistat.com/api/v1/project/analytics/metrics/custom/manual/value/list?project=12345' \
--request POST \
--header 'Content-type: application/json' \
--header 'Api-key: {KEY}'
{
    "data": [
        {
            "id": 5,
            "manual_custom_metric_id": 2,
            "date_from": "2022-04-28T21:00:00+0000",
            "date_to": "2022-05-12T20:59:59+0000",
            "source": "seo",
            "source_alias": "SEO",
            "value": 10000,
            "creation_date": "2022-05-12T07:16:09+0000"
        }
    ],
    "total": 1,
    "status": "success"
}   

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да
Параметр Тип Описание
data array[object] Массив с данными о значении показателя
id number ID значения показателя
manual_custom_metric_id number ID пользовательского показателя
date_from string Начало периода, за который внесено значение показателя
date_to string Окончание периода, за который внесено значение показателя
source string Источник, к которому относится значение показателя
source_alias string Человекочитаемый источник, к которому относится значение показателя
value number Значение пользовательского показателя
creation_date string Дата ввода значения показателя
total number Общее количество полученных значений
status string Статус запроса

Удалить значение пользовательского показателя

POST https://cloud.roistat.com/api/v1/project/analytics/metrics/custom/manual/value/delete

С помощью данного метода можно удалить значение пользовательского показателя. Узнать ID значения показателя можно с помощью метода /project/analytics/metrics/custom/manual/value/list.

curl 'https://cloud.roistat.com/api/v1/project/analytics/metrics/custom/manual/value/delete?project=12345' \
--request POST \
--header 'Content-type: application/json' \
--header 'Api-key: {KEY}' \
--data '{"id": 4}'

Тело запроса:

{
  "id": 4
}   
{
  "status": "success"
}   

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да

Тело запроса:

Параметр Тип Описание Обязательный
id number ID значения показателя (можно получить с помощью /project/analytics/metrics/custom/manual/value/list) да
Параметр Тип Описание
status string Статус запроса

Получить данные отчета "Воронка статусов"

POST https://cloud.roistat.com/api/v1/project/reports/funnel/data

Данный метод позволяет получить данные отчета Воронка статусов.

curl 'https://cloud.roistat.com/api/v1/project/reports/funnel/data?project=12345' \
--request POST \
--header 'Content-type: application/json' \
--header 'Api-key: {KEY}' \
--data '{"period": {"from":"2022-01-01T00:00:00+0300","to":"2022-07-31T23:59:59+0300"}, "funnel": [{"title": "В работе","statuses": ["0","1","2"],"order": "1"}], "dimensions": ["marker_level_1"], "next_dimensions": ["marker_level_2"]}'

Тело запроса:

{
  "period": {
    "from": "2022-01-31T21:00:00.000Z",
    "to": "2022-02-28T20:59:59.999Z"
  },
  "filters": [
    {
      "field": "marker_level_1",
      "operator": "=",
      "value": "yamarket3"
    }
  ],
  "funnel": [
    {
      "title": "В работе",
      "statuses": ["0","1","2"],
      "order": "1"
    },
    {
      "title": "Оплаченные",
      "statuses": ["3"],
      "order": "2"
    }
  ],
  "dimensions": ["marker_level_1"],
  "next_dimensions": ["marker_level_2"]
}
{
  "data": {
    "date_from": "2022-01-31T21:00:00+0000",
    "date_to": "2022-02-28T20:59:59+0000",
    "items":[
        {
          "dimensions": {
            "marker_level_1": {
                "icon": "https:\/\/favicon.yandex.net\/favicon\/market.yandex.ru",
                "title": "Яндекс.Маркет",
                "value": "yamarket3"
            }
          },
          "metrics": { 
            "visits": 2139,
            "marketing_cost": 53586.983999999997,
            "leads": 99
          },
          "funnel": {
            "1": {
                "cost": 541.27272727272725,
                "count": 99,
                "conversion": 4.6283309957924264,
                "status_duration": 29.016828703703705
                },
            "2": {
                "cost": 1531.0285714285715,
                "count": 35,
                "conversion": 35.353535353535356,
                "status_duration": 17.214733796296297
                }
            },
          "is_has_children": true
        }
    ],
    "mean": {
        "1": {
            "cost": 541.27272727272725,
            "count": 99,
            "conversion": 4.6283309957924264,
            "status_duration": 29.016828703703705
            },
        "2": {
            "cost": 1531.0285714285715,
            "count": 35,
            "conversion": 35.353535353535356,
            "status_duration": 17.214733796296297
            }
        }
    },
    "status": "success"
}

Строка запроса:

Параметр Тип Описание Обязательный
project string Номер проекта да

Тело запроса:

Параметр Тип Описание Обязательный
period object Временной период да
from string Начальная дата вида 2016-07-01T00:00:00+0300 да
to string Конечная дата вида 2016-07-31T00:00:00+0300 да
filters array[object] Фильтры для ограничения данных нет
field string Параметр, по которому будет идти отбор данных. Это могут быть метрики и измерения. Если field - название метрики, то фильтр будет применен после обработки данных, если измерение - до обработки данных нет
operator string Операция сравнения: >, <, =, <>, >=, <=, in нет
value string or array[string] Значение метрики/измерения, по которому идет отбор нет
funnel array[object] Информация о воронках, по которым нужно выгрузить данные да
title string Название группы статусов: Не обработан, В работе, Ожидает оплаты или Оплачен да
statuses array[string] ID статусов воронки в системе Roistat (можно узнать с помощью метода /project/integration/order/list) да
order string Порядковый номер воронки в ответе да
dimensions array[string] Перечень измерений да
next_dimensions array[string] Следующий уровень отчета (например, если передать значение "marker_level_2", в ответе в параметре is_has_children будет указано, существует ли данный уровень отчета для каждого источника) да
Параметр Тип Описание
data array[object]
date_from string Начальная дата периода отчета
date_to string Конечная дата периода отчета
items array[object] Данные по измерениям, метрикам и воронкам за весь временной период (period)
>> dimensions object Данные по измерениям за весь временной период (period)
>>> value string Системное название измерения
>>> title string Человекочитаемое название измерения (в интерфейсе)
>>> icon string URL-адрес, где находится иконка для конкретного измерения
>> metrics array[object] Данные по метрикам за весь временной период (period)
>> funnel array[object] Информация о воронках, по которым выгружены данные (отображается в порядке, указанном в параметре order)
>>> cost string Расходы
>>> count string Количество заявок, прошедших через статус
>>> conversion string Конверсия
>>> status_duration string Длительность нахождения сделок в статусе
>> is_has_children boolean Параметр, показывающий, существует ли для данной группировки следующий уровень отчета, заданный в next_dimensions
mean object Общие и средние значения для соответствующих метрик для выбранного временного периода (данные по каждой воронке отображается в порядке, указанном в параметре order)
>> cost string Расходы
>> count string Количество заявок, прошедших через статус
>> conversion string Конверсия
>> status_duration string Длительность нахождения сделок в статусе
status string