Атрибуция приложений
Один заголовок — и ваше приложение попадает в публичный рейтинг javinfo с числом запросов, числом пользователей и разбивкой по провайдерам. Бесплатно, по желанию, минута работы.
Добавьте заголовок referer к вызовам API, и javinfo заведёт публичную страницу вашего приложения: всего запросов, сколько аккаунтов ходит через него, какой провайдер отвечает чаще остальных. Приложение появится в рейтинге на javinfo.dev.
Это бесплатно. Вызовы с атрибуцией тарифицируются точно так же, как без неё, а заголовки не влияют на ваш лимит запросов. Не отправите — ничего не произойдёт: ни страницы, ни рейтинга, ни записи.
Заголовки
| Заголовок | Обязателен | Что делает |
|---|---|---|
HTTP-Referer | да | URL приложения. Это и есть его идентичность. Нет URL — нет страницы. |
Referer | – | Браузер ставит его сам. Используется как запасной, если HTTP-Referer нет. |
x-javinfo-title | нет | Отображаемое имя. По умолчанию — хост из вашего URL. |
x-javinfo-categories | нет | Теги через запятую, до 10 штук. Приводятся к нижнему регистру. |
HTTP-Referer — конвенция OpenRouter, и она существует потому, что обычный Referer в браузере
относится к запрещённым заголовкам:
JavaScript не может его выставить. С сервера можно отправить любой из двух. Из браузера Referer
уходит сам, остальное добавляете вы.
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"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}"Место в рейтинге зарабатывают, а не покупают. Платные размещения есть в других местах javinfo.dev и помечены как платные; позицию в этой таблице они не дают.
Как убрать приложение
Перестаньте слать заголовок — счётчики перестанут расти, но накопленные цифры останутся. Нужно удалить страницу целиком? Напишите на [email protected] с адреса в том же домене, что и URL, и мы её удалим.