Получение списка метрик по кампании

Получение списка метрик по кампании

Метод

GET https://api.uxfeedback.ru/v{version}/private/campaigns/{campaign_id}/metrics

где

  • {version} - это версия метода, которая предполагает какое-то поведение метода. Рекомендуется использовать “последнюю” или “более высокую” версию метода, как самую актуальную

  • {campaign_id} - это id интересующей кампании

Версии метода

v1

GET https://api.uxfeedback.ru/v1/private/campaigns/{campaign_id}/metrics

Возможность получать метрики (количество):

  • показы по кампании - "views"

  • ответы по кампании - "answers"

  • переходы по ссылке (если такое предполагалось в кампании) - "externalLinks"

версия включает работу с query-параметрами:

  • from - дата "от" (включительно) в формате ISO 8601,
    например: 2025-01-01(минуты отбрасываем)

  • to - дата "до" (включительно) в формате ISO 8601,
    например: 2025-06-30(минуты отбрасываем)

Пример метода

Пример максимально полного запроса:
https://api.uxfeedback.ru/v1/private/campaigns/12345/metrics?
from=2025-01-01&to=2025-06-30

Структура ответа

{ "data": { "views": 45, // кол-во показов кампании "answers": 10, // кол-во ответов по кампании "externalLinks": 2 // кол-во переходов по ссылке (если есть) }, "errors": [] }

где

  • "data": [] - содержит массив записей о метриках кампании:

    • "answers" - ответы: частичные и полные

    • "views" - показы кампании

    • "externalLinks" - переходы по ссылке

    • в интерфейсе ЛК все три параметра расположены здесь:

      image-20250723-112150.png
  • "errors": [] - содержит информацию о ошибках.

Коды ответов и ошибок

Код ответа

Пример JSON'а

Код ответа

Пример JSON'а

401 Unauthorized

Запрос:
https://api.uxfeedback.ru/v{version}/private/campaigns/{campaign_id}/metrics?from={date_1}&to={date_2}

Ответ:

{ "errors": [ { "code": "error.unauthorized.access-denied", "comment": "access-denied" } ] }

Пояснения:
Ошибка возникает, когда сам запрос корректный, но в ключе-токене допущена ошибка: используется токен авторизации от другого проекта или допустили опечатку в символах валидного токена => авторизация Клиента не проходит.

401 Not Found

Запрос:
https://api.uxfeedback.ru/v{version}/private/campaigns/{campaign_id}/metric?from={date_1}&to={date_2}

Ответ:

{ "errors": [ { "code": "error.not-found.resource-not-found", "comment": "resource-not-found" } ] }

Пояснения:
Ошибка возникает, когда ресурс не найден, например: ошиблись с наименованием и написали .../metric (или что-то другое) вместо .../metrics.

400 Bad request

Запрос:
https://api.uxfeedback.ru/v{version}/private/campaigns/{campaign_id}/metrics

Ответ:

{ "errors": [ { "in": [ "from" ], "value": "wrongValueForParameter", "code": "error.input.date-must-be-in-format-YYYY-MM-DD" } ] }

Пояснения:
Ошибка возникает в случаях, когда доп.параметры в строке запроса указаны неверно или вовсе не указаны, а запрос их ожидает (в частности, здесь не указаны параметры ?from=...&to=..., => запрос не может быть обработан)

В описании ошибки сообщается: каких значений не хватает или на что обратить внимание.

422 Unprocessable Entity

 

Запрос:
https://api.uxfeedback.ru/v{version}/private/campaigns/{campaign_id}/metrics

Ответ:

{ "data": {}, "errors": [ "campaign not found" ] }

Пояснения:
Ошибка возникает в случаях, когда пытаются передать в запросе несуществующие данные, например: указан несуществующий campaign_id в рамках текущего проекта.

Необходимо сверить: токен + проект + кампанию. Убедиться, что кампания находится в том проекте, от которого взят токен.

200 Ok

Запрос:
https://api.uxfeedback.ru/v{version}/private/campaigns/{campaign_id}/metric?from={date_1}&to={date_2}

Ответ:

{ "data": { "views": 45, // кол-во показов кампании "answers": 10, // кол-во ответов по кампании "externalLinks": 2 // кол-во переходов по ссылке (если есть) }, "errors": [] }

Пояснения:
Успешный ответ.

201 In Progress

Запрос:
https://api.uxfeedback.ru/v{version}/private/campaigns/{campaign_id}/metric?from={date_1}&to={date_2}

Ответ:

{ "errors": [ { "code": "request-success.long-processing", "comment": "repeat-your-request-in-5-minutes.-It-is-still-being-processed" } ] }

Cервер получил запрос и начал его обработку. Но по техническим причинам “обработка затянулась” => нужно повторить запрос через некоторое время.

Поэтому мы просим повторить запрос через 5 минут.