TEASEDocs
На русском

Журнал событий

Что хранится в истории, сколько она живёт, как забрать её файлом и что удаляется через 90 дней.

За каждой цифрой в панели стоит журнал событий — история, где один факт равен одной строке: фан подписался, платёж прошёл, сообщение ушло. Отчёты не «записываются раз и навсегда», а пересобираются из этих строк, поэтому цифру за прошлый месяц можно пересчитать заново, а не поверить на слово.

История живёт 90 дней

Строки старше 90 дней удаляются. Заберите выгрузку заранее — удалённую строку восстановить нельзя. Ежесуточный слепок сохраняет состояние (кто подписан, сколько заплатил) и после этого срока; истекает именно пошаговая история.

Что можно забрать

Всё — по адресу https://app.tease.link/api/admin/journal, Bearer-al_live_* ключом. Ответ привязан к владельцу ключа: чужой строки в выгрузке быть не может.

Сводка

curl https://app.tease.link/api/admin/journal/summary \
  -H "Authorization: Bearer $TEASE_API_KEY"

В ответе — total (сколько строк), oldest_at (с какого дня история), retention_days (срок хранения), older_than_retention (сколько уже старше срока) и kept_forever (о нём ниже).

Выгрузка

# всё за последние 30 дней
curl "https://app.tease.link/api/admin/journal/export?since=$(( $(date +%s) - 2592000 ))" \
  -H "Authorization: Bearer $TEASE_API_KEY" \
  -o journal-export.jsonl

since и until — unix-секунды; опустить значит «без границы». Формат — построчный JSON: одна строка = одно событие, и она самодостаточна, чтобы файл читался через годы:

{"seq":4711,"type":"fan.subscribed","version":1,"entity_type":"fan","entity_id":"88213",
 "account_id":"acc_1","occurred_at":1795000000,"recorded_at":1795000042,"source":"poll",
 "payload":{"fan_id":"88213","sub_price_cents":999,"current_action":"subscribe"}}

Слишком широкий период не обрезается молча — приходит отказ period_too_wide с просьбой взять период короче. Обрезанный файл выглядит полным, и о пропаже узнают через год; честная ошибка дешевле.

Слепок

curl "https://app.tease.link/api/admin/journal/snapshot?entity=fans" \
  -H "Authorization: Bearer $TEASE_API_KEY" \
  -o snapshot-fans.json

Слепок снимается раз в сутки проигрыванием журнала, а не копированием готовой витрины: иначе ошибка витрины застыла бы в слепке навсегда. Внутри — дата, номер журнала, на котором слепок снят, и само состояние.

Что не удаляется никогда

События, для которых витрина ещё не написана — например платежи до выхода витрины денег, — хранятся без срока, сколько бы им ни было лет. Удалить их означало бы потерять историю, которую нечем восстановить. Такие типы перечислены в поле kept_forever сводки.

В панели

То же самое — в Настройки → Данные: сколько записей, с какого дня, кнопка выгрузки за выбранный период и кнопка слепка. Срок хранения написан рядом с кнопкой, а не только здесь.

On this page