Skip to main content
GET
https://loveandpay.io
/
api
/
v1
/
analytics
Аналитика
curl --request GET \
  --url https://loveandpay.io/api/v1/analytics \
  --header 'x-api-key: <x-api-key>'
{
  "summary": {
    "totalVolume": 123,
    "totalCount": 123,
    "paidCount": 123,
    "conversionRate": 123,
    "averageAmount": 123
  },
  "byPeriod": [
    {}
  ],
  "byCurrency": {},
  "byBank": {}
}

Получение аналитики

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

Аутентификация

x-api-key
string
required
Ваш API ключ

Query параметры

from
string
required
Начальная дата периода в формате ISO 8601
to
string
required
Конечная дата периода в формате ISO 8601
currency
string
Фильтр по валюте: USD, EUR, RUB, KZT. Если не указан, возвращаются данные по всем валютам.
groupBy
string
default:"day"
Группировка данных: hour, day, week, month

Пример запроса

curl -X GET "https://loveandpay.io/api/v1/analytics?from=2024-01-01T00:00:00Z&to=2024-01-31T23:59:59Z&groupBy=day" \
  -H "x-api-key: YOUR_API_KEY"

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

summary
object
Сводные данные за весь период
byPeriod
array
Данные с разбивкой по периодам
byCurrency
object
Данные с разбивкой по валютам
byBank
object
Данные с разбивкой по банкам плательщиков
Успешный ответ (200)
{
  "summary": {
    "totalVolume": 10500000.00,
    "totalCount": 1547,
    "paidCount": 1203,
    "expiredCount": 289,
    "cancelledCount": 55,
    "conversionRate": 77.76,
    "averageAmount": 8729.01
  },
  "byPeriod": [
    {
      "date": "2024-01-01",
      "volume": 425000.00,
      "count": 52,
      "paidCount": 41
    },
    {
      "date": "2024-01-02",
      "volume": 389000.00,
      "count": 48,
      "paidCount": 38
    }
    // ... остальные дни
  ],
  "byCurrency": {
    "RUB": {
      "volume": 10500000.00,
      "count": 1203,
      "paidCount": 1203
    }
  },
  "byBank": {
    "Сбербанк": {
      "volume": 5250000.00,
      "count": 612,
      "percentage": 49.71
    },
    "Тинькофф": {
      "volume": 3180000.00,
      "count": 385,
      "percentage": 30.38
    },
    "Альфа-Банк": {
      "volume": 2070000.00,
      "count": 206,
      "percentage": 19.91
    }
  }
}

Метрики

Основные показатели

МетрикаОписание
totalVolumeСумма всех оплаченных счетов
totalCountОбщее количество созданных счетов
paidCountКоличество оплаченных счетов
conversionRateПроцент оплаченных от созданных
averageAmountСредний чек

Группировка по времени

ЗначениеОписание
hourПо часам (для периодов до 7 дней)
dayПо дням (по умолчанию)
weekПо неделям
monthПо месяцам

Примеры использования

Дашборд с графиками

// Получаем данные за последние 30 дней
const thirtyDaysAgo = new Date();
thirtyDaysAgo.setDate(thirtyDaysAgo.getDate() - 30);

const response = await fetch(
  `https://loveandpay.io/api/v1/analytics?` +
  `from=${thirtyDaysAgo.toISOString()}&` +
  `to=${new Date().toISOString()}&` +
  `groupBy=day`,
  { headers: { 'x-api-key': API_KEY } }
);

const { byPeriod } = await response.json();

// Данные для графика
const chartData = byPeriod.map(day => ({
  date: day.date,
  volume: day.volume,
  count: day.paidCount
}));

Сравнение периодов

async function compareMonths(month1, month2) {
  const [data1, data2] = await Promise.all([
    fetchAnalytics(month1.start, month1.end),
    fetchAnalytics(month2.start, month2.end)
  ]);

  const volumeChange = ((data2.summary.totalVolume - data1.summary.totalVolume)
    / data1.summary.totalVolume * 100).toFixed(2);

  console.log(`Изменение объёма: ${volumeChange}%`);
}

Ошибки

КодОписание
400Неверные параметры (даты, группировка)
401Неверный API ключ