跳到主要内容
知仓学习社ZHICANG

roistat-reports-api

Чтение отчётов Roistat, воспроизводимая сверка с сырыми сделками и коллтрекингом, а также строго ограждённая запись сохранённых отчётов.

读凭据联网严重 0 · 高危 8hashgraph-online/awesome-codex-plugins

它会碰到什么

扫了多少6 个文本文件,35 KB
它会碰到什么读凭据联网
命中总数19 处
命中统计严重 0 · 高 8 · 中 9 · 低 2
逐条看命中(8 条严重或高危)
  • scripts/build_roistat_report_pack.py:68cred-envread
    project = os.environ.get("ROISTAT_PROJECT", "").strip() or str(value.get("project") or "").strip()
  • scripts/build_roistat_report_pack.py:69cred-envread
    api_key = os.environ.get("ROISTAT_API_KEY", "").strip() or str(value.get("api_key") or "").strip()
  • scripts/build_roistat_report_pack.py:70cred-envread
    base_url = os.environ.get("ROISTAT_BASE_URL", "").strip() or str(value.get("base_url") or "https://cloud.roistat.com/api/v1").strip()
  • scripts/save_roistat_report.py:107cred-envread
    if os.environ.get("ROISTAT_PROJECT", "").strip() != project:
  • scripts/save_roistat_report.py:109cred-envread
    api_key = os.environ.get("ROISTAT_WRITE_API_KEY", "").strip()
  • scripts/save_roistat_report.py:110cred-envread
    if apply and os.environ.get("ROISTAT_WRITE_ARMED") != "1":
  • scripts/save_roistat_report.py:114cred-envread
    state_root = Path(os.environ.get("YDFALL_STATE_ROOT") or Path.home() / ".local/state/yandex-direct-for-all").expanduser()
  • scripts/save_roistat_report.py:115cred-envread
    base_url = os.environ.get("ROISTAT_BASE_URL", "https://cloud.roistat.com/api/v1").strip()

这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。

技能内容

Отчёты Roistat

Обязательный порядок

  1. Доступ бери из ROISTAT_PROJECT и ROISTAT_API_KEY либо из указанного закрытого файла JSON с правами 0600. Никогда не передавай ключ аргументом.
  2. Точно задай период, окно, модель атрибуции, канал, фильтры и валюту.
  3. Считай три источника разными: аналитический отчёт, сырые сделки и коллтрекинг. У каждого есть собственное состояние полноты.
  4. Сырые сделки и коллтрекинг запрашивай только с явным --include-personal-data; полученные пакеты остаются закрытыми.
  5. Проходи всю постраничную выдачу. Статус partial не превращай в полный отчёт.
  6. Каждое число должно воспроизводиться из сохранённых ответов и report-context.json.

Чтение и сверка

Используй scripts/build_roistat_report_pack.py. Он сохраняет исходный ответ аналитики, нормализованные строки, параметры и отдельный расчёт расхождений.

В сверке хранятся обе исходные суммы и разница. Расхождение может быть связано с окном атрибуции, поздним событием CRM, валютой или неполной выгрузкой; причину подтверждай доказательствами.

Запись

scripts/save_roistat_report.py до сетевого вызова проверяет:

  • точную контрольную сумму спецификации;
  • закрытое подтверждение владельца не старше 24 часов;
  • точное совпадение проекта, действия и целевого отчёта;
  • ROISTAT_WRITE_ARMED=1 и отдельный ROISTAT_WRITE_API_KEY;
  • чтение до записи, чтение после записи, неизменность посторонних отчётов и кандидат на откат.

Без --apply выполняется только местная проверка. Любой откат требует нового подтверждения.

Граница публикации

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

想直接用这个技能?

本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。

它属于哪个仓库

星标★ 1,027
本站分层T1
该仓技能数1910
原文件路径plugins/nebelov/yandex-direct-for-all/skills/roistat-reports-api/SKILL.md

同一个仓库里的其他技能

看这个仓库的全部 1910 个技能