Доступ только на чтение к статистике ваших проектов: аккаунты, дневные метрики, видео, ежедневные снимки и кампании UGC с учтёнными просмотрами и суммами к оплате. Для платформ, которые платят креаторам за просмотры и хотят показывать клиентам те же цифры.

Доступ

  • Мы выдаём ключ API на ваши проекты; он показывается один раз. Передавайте его в каждом запросе: Authorization: Bearer lmr_….
  • Ключ видит только свои проекты. На всё остальное ответ 404 — так же, как на несуществующий объект.
  • Ключ только читает. Записать можно лишь ссылки на виджеты и ссылки-приглашения креаторов в свои проекты.
  • 120 запросов в минуту на ключ; сверх лимита — 429 и Retry-After. На странице до 200 записей.

Методы

GET/api/v1/projects
GET/api/v1/projects/{project}/accounts
GET/api/v1/accounts/{handle}
GET/api/v1/accounts/{handle}/daily?from&to
GET/api/v1/accounts/{handle}/videos?updated_since&cursor&limit
GET/api/v1/videos/{account}/{video_id}
GET/api/v1/videos/{account}/{video_id}/snapshots?from&to
GET/api/v1/projects/{project}/campaigns
GET/api/v1/campaigns/{id}
GET/api/v1/campaigns/{id}/videos?status&updated_since&cursor&limit
POST/api/v1/embeds
POST/api/v1/projects/{project}/invites

Правила данных

  • Конверт: {"data": …, "next_cursor": …, "error": null}; ошибка: {"data": null, "error": {"code", "message"}}.
  • Время — ISO 8601 в UTC. Дни (ГГГГ-ММ-ДД) — календарные дни в часовом поясе аккаунта; сегодняшний день помечен неполным.
  • Деньги — десятичная строка с валютой: {"amount": "12.50", "currency": "USD"}.
  • У каждой записи есть source (api, studio, demo, mixed или lumorastat) и fetched_at; выплаты — только по снимкам видео из api.
  • Цифры кампании предварительные, пока видео не зафиксировано; зафиксированные просмотры и сумма к оплате больше не меняются.

Вебхуки

Мы отправляем JSON методом POST на ваш адрес https и подписываем его: Lumorastat-Signature: t=<время unix>,v1=<HMAC-SHA256 от "t.тело">. Неудачная доставка повторяется через 1 мин, 5 мин, 30 мин, 2 ч и 12 ч. Номер события постоянный: обрабатывайте каждый один раз.

sync.completedcampaign_video.status_changedcampaign_video.lockedcampaign_video.flaggedaccount.needs_reconnect
Проверка подписи (Python):
import hashlib, hmac, time

def verify(secret: str, header: str, body: bytes) -> bool:
    parts = dict(p.split("=", 1) for p in header.split(","))
    signed = parts["t"].encode() + b"." + body
    expected = hmac.new(secret.encode(), signed, hashlib.sha256).hexdigest()
    fresh = abs(time.time() - int(parts["t"])) < 300
    return fresh and hmac.compare_digest(expected, parts["v1"])

Виджеты и приглашения

  • Виджеты: подписанные ссылки на карточку видео, сводку аккаунта или кампании для iframe на одном указанном вами сайте, до 90 дней, можно отозвать.
  • Приглашения: ссылки https://lumorastat.com/connect/…, по которым креатор подключает аккаунт TikTok к вашему проекту, до 30 дней и до 10 аккаунтов.

Получить ключ

Напишите нам, чтобы получить ключ и полное описание (docs/api.md). Сообщите адрес вебхука и сайт, где будут виджеты.

hello@lumorastat.com