Перейти к содержимому
javinfo

Атрибуция приложений

Один заголовок — и приложение попадает в публичный рейтинг javinfo: запросы, пользователи, разбивка по провайдерам. Бесплатно, по желанию, минута.

Добавьте заголовок referer к вызовам API — javinfo заведёт публичную страницу: всего запросов, аккаунты, самый частый провайдер. Приложение появится в рейтинге.

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

Заголовки

ЗаголовокОбязателенЧто делает
HTTP-RefererдаURL приложения. Это и есть его идентичность. Нет URL — нет страницы.
Referer–Браузер ставит его сам. Используется как запасной, если HTTP-Referer нет.
x-javinfo-titleнетОтображаемое имя. По умолчанию — хост из вашего URL.
x-javinfo-categoriesнетТеги через запятую, до 10 штук. Приводятся к нижнему регистру.

HTTP-Referer — конвенция OpenRouter: обычный Referer в браузере относится к запрещённым заголовкам, JavaScript не может его выставить. С сервера можно любой. В браузере Referer уходит сам, остальное добавляете вы.

cURL
curl "https://api.javinfo.dev/movie?q=SSIS-001" \
  -H "x-javinfo-key: jvi_your_key_here" \
  -H "HTTP-Referer: https://myapp.example.com" \
  -H "x-javinfo-title: My App" \
  -H "x-javinfo-categories: search-ui, metadata"
JavaScript (fetch)
const res = await fetch('https://api.javinfo.dev/query?q=SSIS', {
  headers: {
    'x-javinfo-key': 'jvi_your_key_here',
    'HTTP-Referer': 'https://myapp.example.com',
    'x-javinfo-title': 'My App',
  },
});

Пропишите их один раз в заголовках по умолчанию HTTP-клиента.

Отправленный URL станет публичной ссылкой на javinfo.dev. Отправляйте страницу для людей, а не админку или staging-хост.

Какие эндпоинты считаются

/movie, /query и /random. Каждый успешный вызов с корректным referer добавляет запрос. /stats и /health не атрибутируются.

Запись идёт в фоновой очереди после ответа: задержки нет, а сбой Redis не уронит запрос, который уже отработал.

Что сохраняется

URL нормализуется до origin плюс путь. Query string и фрагмент отбрасываются, корневой путь схлопывается до origin:

https://myapp.example.com/?ref=hn      →  https://myapp.example.com
https://myapp.example.com/search?q=x   →  https://myapp.example.com/search

Разные пути — разные приложения. Выберите один канонический URL, иначе трафик разъедется на две строки.

Заголовок и категории обновляются только когда вы их присылаете; иначе остаётся прошлое.

Что игнорируется

Атрибуция тихо отбрасывается; вызов API работает.

  • Нет ни HTTP-Referer, ни Referer.
  • Referer не является корректным URL.
  • Схема не http и не https. Ни file://, ни собственные схемы.
  • localhost, 127.0.0.1, ::1. Локальная разработка не засоряет рейтинг.
  • javinfo.dev и app.javinfo.dev. Себя мы в рейтинг не ставим.
  • URL длиннее 500 символов.
  • Заголовок без URL. Один только x-javinfo-title не создаёт ничего.

Категории после десятой отсекаются. Фиксированного списка нет: берите то, что описывает приложение: search-ui, discord-bot, cli, scraper, mobile-app.

Страница приложения

Первый запрос с атрибуцией создаёт запись, сразу публичную. Рейтинг сортирует по общему числу запросов. На javinfo.dev/apps/{id} видно:

  • Всего запросов за всё время.
  • Уникальные аккаунты javinfo, ходившие через ваш URL. Считаются аккаунты, а не вызовы: настоящее число пользователей, а не визиты.
  • Разбивка по провайдерам: сколько запросов закрыли FANZA, DMM, javdb, missav, javdatabase или javlibrary. Порядок — в разделе Провайдеры.

Те же данные читаются без ключа:

curl "https://api.javinfo.dev/v1/apps/rankings?limit=20"
curl "https://api.javinfo.dev/v1/apps/{id}"

Место в рейтинге зарабатывают, а не покупают. Платные размещения помечены и не дают позицию в этой таблице.

Как убрать приложение

Перестаньте слать заголовок — счётчики перестанут расти, но накопленные цифры останутся. Нужно удалить страницу? Напишите на [email protected] с адреса в том же домене, и мы её удалим.

На этой странице