Preloader
Push API

Push API позволяет получать данные из Ваших программ и сервисов. Мы обеспечиваем простой REST API, который позволяет отправлять данные в виджеты посредством формата данных JSON.



Как это работает

Шаг 1. НАстройте новый виджет типу Push API внутри дашборда и выбирите тип графика, который хотите получить. На странице настройки виджета Вы найдете API endpoint для конкретно этого виджета. Это и есть адрес по которому следует передать данные з Вашей системы на дашборд.

Шаг 2. Каждый раз при обновлении данных в Вашей программе отправляйте POST запрос на адрес endpoint, который указан в шаге 1.(напр. когда пользователь зарегистрировался, сделан заказ). Вы можете использовать любой язык програмирования чтобы реализовать это, напр. PHP или Objective C. Просто убедитесь, что Вы передаете соответствующие параметры в запросе POST (см. ниже).



Произвольные типы виджетов

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

Гистограммы, графики, диаграммы с областями, линейчатые диаграммы, графики и диаграммы с накоплениями

Эти графики используются для отображения тенденций и продуктивности за период времени

Параметры

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

data: Обязательно. Тесктовое значение JSON содержит данные, которые необходимо передать. Первый элемент в этом параметре всегда уникальный (напр. Date). Дата всегда должна быть в формате ГГГГММДД.

onduplicate: Необязательно. В случае последующих запросов, если данные передаются с одинаковым именем элемента, существующие данные будут прибавлены к новым значениям по умолчанию. Чтобы заменить эти значения укажите параметр "onduplicate" со значением "replace".

color: Необязательно. Вы можете определить собственные цвета графиков указав код цвета в конце списка.

type: Необязательно.Вы можете определить тип каждого графика отдельно добавив строку с описаниями в конце файла.

cumulative: Необязательно. Используйте эту строку для определения данных, сумарные значения которых хотите увидеть в заголовке виджета. Используйте значения "0" или "1" чтобы указать сумарные значения

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

total: Необязательно. Если Вы используете параметр время ("Date") первым параметром, то виджет по умолчанию укажет процент изменений или суму всех метрик за указаный период.

comparison: Необязательно. Если Вы используете параметр время ("Date") первым параметром, то виджет по умолчанию укажет процент изменений или суму всех метрик за указаный период в сравнении с прошлым аналогичным периодом, и укажет в заголовке виджета.

reverse: Необязательно. Используется для определения хорошо или плохо для компании рост данного показателя. Эта строка влияет на расчет разницы в процентах (сравнение) в заголовке виджета.

reversegraph: Необязательно. Укажите этот параметр если хотите отобразить график в перевернутом виде.

yaxis: Необязательно. По умолчанию каждая метрика имеет собственную ось Y. Эта строка позволяет использовать единую шкалу для оси Y, таким образом сопоставляя данные. Используйте "0" для всех метрик, чтобы синхронизировать их.

yaxismin: Необязательно. По умолчанию это значние равно "0" для каждой метрики.

yaxismax: Необязательно. По умолчанию это значение автоматически рассчитывается для каждой метрики.

yaxisshow: Необязательно. По умолчанию все оси скрытые. Эта строка позволяет отобразить ось Y для конкретной метрики. Используйте значения "0" или "1" для выкл./вкл. оторажения осей

labelshow: Необязательно. По умолчанию все метки скрытые. Эта строка позволяет включить метки для конкретных метрик. Используйте "0" или "1" чтобы указать метрику, в которой необходимо указать метки.

Пример запроса (JSON)

{
        "data":  [
                {
                        "Date":  "20130320",
                        "Users":  "1"
                }
        ],
        "onduplicate":  {
                "Users":  "replace"
        },
        "color":  {
                "Users":  "#52ff7f"
        },
        "type":  {
                "Users":  "line"
        }
}

Пример запроса (PHP)

$endpoint = '.../api/push/5151e3ec53783701321099125233';

$data = array();
$data['data'][] = array('Date' => '20130320', 'Users' => '1');
$data['onduplicate'] = array('Users' => 'replace');
$data['color'] = array('Users' => '#52ff7f');
$data['type'] = array('Users' => 'line');

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $endpoint);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

if(stripos($status, '200') !== false)
        echo 'success';
else
        echo 'failure';