Запросы

Все запросы к HTTP Report API должны выполняться по протоколу HTTPS (не HTTP) методом GET по адресу https://content.mql5.com/v1/reports/.

Пути запросов #

Помимо общего адреса, в пути запроса указывается идентификатор сайта {WEBSITE_ID} и тип запрашиваемых данных {DATA_TYPE}:

https://content.mql5.com/v1/reports/website/{WEBSITE_ID}/{DATA_TYPE}

{WEBSITE_ID} можно получить в панели Finteza в разделе настроек сайта (поле "ID"). Для {DATA_TYPE} используются следующие значения:

Если ключ разработчика не указан, Finteza не будет принимать запросы.

Обязательные параметры запроса #

Все запросы к HTTP Report API должны иметь следующие параметры:

Параметр

Тип

Описание

metrics

string

Список метрик через запятую. Например, metrics=visits,events.

date_from

unixtime

Начальная дата для запроса данных. Указывается в количестве секунд с 1970.01.01. Например, date_from=1549027860.

date_to

unixtime

Конечная дата для запроса данных. Указывается в количестве секунд с 1970.01.01. Например, date_from=1549027860.

Пример запроса с обязательными параметрами:

https://content.mql5.com/v1/reports/website/dxnnhxrwpcwsgwowveipxmslrznjfhzarp/table
 ?metrics=webvisits,events
 &date_from=1549027860
 &date_to=1549632660

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

HTTP Report API является RESTful API – сервер Finteza не хранит состояние соединения с клиентом. Соответственно, при каждой отправке запроса клиент должен отправлять авторизационные данные. В качестве них используется ключ разработчика {API_KEY}, передаваемый в заголовке Authorization:

curl --header "Authorization: Basic {API_KEY}" https://content.mql5.com/v1/reports/website/dxnnhxrwpcwsgwowveipxmslrznjfhzarp/table?metrics=webvisits,events&date_from=1549027860&date_to=1549632660

Используйте его при отправке каждого запроса данных.

Условные параметры #

При запросе любого типа данных можно указывать дополнительные условия для их фильтрации и группировки. Например, по типу устройства, операционной системе или языку.

Параметр

Тип

Описание

where

array

Массив условий в виде ?where[ключ]=значение, где ключ – это имя поля, по которому будет осуществляться фильтрация. Для значения условия можно использовать операторы:

  • = (IS) – точное соответствие значению. Например, where[os]=windows означает, что будут возвращены только данные по пользователям с операционной системой Windows.
  • * (LIKE) – неточное соответствие значению. Например, where[device]=*mobile означает, что будут возвращены только данные по пользователям, чей тип устройств содержит "mobile".
  • ! (NOT) – несоответствие значению. Например, where[country]=*!ru означает, что будут возвращены только данные по пользователям не из России.

group

string

Список полей для группировки данных через запятую.

Пример запроса данных с фильтрацией:

GET https:///content.mql5.com/v1/reports/website/dxnnhxrwpcwsgwowveipxmslrznjfhzarp/table
 ?metrics=webvisits,events
 &date_from=1549027860
 &date_to=1549632660
 &where[os]=windows              // точно совпадает
 &where[device]=*mobile          // похоже
 &where[country]=!ru             // не совпадает

Дополнительно вы можете группировать получаемые данные по любому полю при помощи параметра ?group.

Ответы на запросы #

Ответы с запрошенными данными передаются в формате JSON (ContentType: application/json) в кодировке UTF-8.

В главном контейнере data помимо запрошенных данных дублируются параметры исходного запроса (даты, условия и группировки):

{
    "data": {
        "date_from": 1549027860,
        "date_to": 1549632660,
        "where": {
            "os""windows",
            "device""*mobile",
            "country""!ru",
        },
        ...
    }
}

Коды ответа #

В ответ на запрос Finteza может возвращать следующие коды:

Код ответа

Описание

200 OK

Запрос принят и обработан.

400 Bad Request

Запрос отклонен, неверные параметры, ошибка.

403 Forbidden

Запрос отклонен, к данным нет доступа.

404 Not Found

Запрос отклонен, неизвестный URL запроса.