# Roistat REST API: Выгрузить отчёт сквозной аналитики

Сценарий из mcp-everything. Актуально на 2026-10-24.

Расходы, выручка и ROI по рекламным каналам — в свою BI-систему или отчёт.

1. Возьми ключ API в профиле Roistat и передавай его в заголовке Api-key. Номер проекта — параметр project в строке запроса; список проектов — GET /user/projects.
2. Запроси отчёт: POST /project/analytics/data с dimensions (например, marker_level_1 — канал), metrics (visits, leads, sales, revenue, marketing_cost и т. п.) и period.from / period.to с часовым поясом.
3. Для разбивки по времени добавь interval, для отбора — filters (field, operation, value).
4. По умолчанию все ответы, даже ошибки, приходят с HTTP 200 — проверяй status в теле или передай заголовок Use-Http-Code: 1. Лимит — 10 запросов в секунду и 5000 в час на проект.

```bash
curl -X POST "https://cloud.roistat.com/api/v1/project/analytics/data?project=12345" \
  -H "Api-key: $ROISTAT_KEY" -H 'Content-Type: application/json' -H 'Use-Http-Code: 1' \
  -d '{
        "dimensions": ["marker_level_1"],
        "metrics": ["visits", "leads", "sales", "revenue", "marketing_cost"],
        "period": {"from": "2026-10-01T00:00:00+0300", "to": "2026-10-23T23:59:59+0300"}
      }'
```

## Базовые URL

- Боевой: `https://cloud.roistat.com/api/v1`

## Авторизация

Тип: API-ключ

Ключ API (один на пользователя, действует для всех его проектов) берётся в профиле: `https://cloud.roistat.com/user/profile/api`. Передаётся в заголовке `Api-key` (рекомендуется; параметр `key` в URL небезопасен). Номер проекта — в параметре `project` строки запроса; без него работают только `/user/projects` и `/account/project/create`.

```
curl 'https://cloud.roistat.com/api/v1/project/proxy-leads?project=12345&period=2021-07-07-2021-09-24' \
    --request GET \
    --header 'Content-type: application/json' \
    --header 'Api-key: {KEY}'
```

## Методы сценария

### GET /user/projects — Проекты пользователя

В ответе `projects[]`: `id`, `name`, `profit`, `creation_date`, `currency`, `is_owner`.

### POST /project/analytics/data — Отчёт аналитики

Excel-вариант — `POST /project/analytics/data/export/excel` (без `interval` и `next_dimensions`).

В ответе `data[]`: `items` (строки с `metrics`, `dimensions`), `mean`, `dateFrom`, `dateTo`.

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `project` | query | string | да | Номер проекта |
| `dimensions` | body | array | да | Группировки, например marker_level_1 |
| `metrics` | body | array | да | Метрики: имя или объект metric + attribution |
| `period.from` | body | string | да | Начало с часовым поясом, например 2016-07-01T00:00:00+0300 |
| `period.to` | body | string | да | Конец периода |
| `filters` | body | array | нет | Фильтры field, operation (>, <, =, <>, >=, <=, in), value |
| `interval` | body | string | нет | Разбивка периода XmYwZd |

## Нюансы

- По умолчанию все методы — POST; GET допускается для методов, оканчивающихся на `/list`, и для отдельных ресурсов (проекты, прокси-лиды, детали сделки).
- Тело — JSON или XML; поддерживается CORS; время по умолчанию — UTC+0.
- По умолчанию все ответы, включая ошибки, приходят с HTTP 200; заголовок `Use-Http-Code: 1` включает реальные HTTP-коды.
- Ответы содержат `data`, `total`, `status`.
- Список сделок с `extend: visit`: при `limit` больше 1000 — 1 запрос в минуту, больше 100 — 5, меньше 100 — 10; без `extend` — 20 в минуту.

## Другие сценарии

- [Передать сделки из своей CRM](https://mcp-everything.ru/integrations/roistat/scenarios/peredat-sdelki-iz-svoey-crm.md)
- [Забирать заявки и звонки с источниками](https://mcp-everything.ru/integrations/roistat/scenarios/zabirat-zayavki-i-zvonki-s-istochnikami.md)
- [Сверить сделки с выручкой](https://mcp-everything.ru/integrations/roistat/scenarios/sverit-sdelki-s-vyruchkoy.md)

---

Если этого недостаточно — официальная документация: https://help-en.roistat.com/API/methods/about/
Вся интеграция одним документом: https://mcp-everything.ru/integrations/roistat.md
