Архітектура запитів та маршрутизація
Для інтеграції з незалежним архівом Reddit необхідно використовувати визначені маршрути API. Ендпоінти /v1/search, /v1/posts та /v1/comments надають прямий доступ до історичних записів. Маршрут /v1/item дозволяє отримувати конкретні елементи за унікальним ідентифікатором, тоді як /v1/subreddits підтримує пошук за префіксом назви спільноти. Цей набір маршрутів забезпечує гнучкий доступ до різних типів контенту архіву.
Запити на отримання даних виконуються методом GET і потребують API-ключа в Authorization: Bearer або X-API-Key. Ключ показується один раз одразу після реєстрації, до оплати. Він і баланс належать обліковому запису на apireddit.cc та не діють на інших сайтах мережі. Публічний маршрут /v1/status не потребує ключа. Сесія входу в панель облікового запису відокремлена від автентифікації запитів до архіву.
Маршрут /v1/status повертає статичний опис сервісу й показує, що HTTP-приложення відповідає. Він не перевіряє працездатність пошукового джерела, доступність конкретних записів або повноту архіву. Цей запит не списує кредитів. Його відповідь не слід використовувати як підтвердження того, що наступний пошуковий запит обов'язково буде успішним.
Автоматизовані системи мають бути готові до отримання стандартних кодів помилок HTTP. Код 401 виникає, коли ключ відсутній або недійсний. Код 402 означає, що на рахунку недостатньо кредитів для виконання запиту. Код 429 вказує на перевищення ліміту частоти запитів. Ці коди завжди повертаються як числа з ASCII-цифрами, що дозволяє легко їх парсити без необхідності перекладу слів або локалізації цифр в текстовому форматі.
Фільтрація, пагінація та структура даних
Параметри запиту дозволяють точно налаштувати отримані дані через фільтри. Ви можете використовувати параметри q, subreddit, author, kind, а також дати from і to у форматі YYYY-MM-DD за UTC; кінцевий день to включається. Ключовим фільтром є min_score, який завжди працює виключно як фільтр, а не як спосіб сортування результатів. Це важливо розуміти для коректної логіки в автоматизації, оскільки записи повертаються у внутрішньому порядку документів архіву. Параметр q шукає в title і text, поєднуючи кілька слів умовою AND у межах поля зі збігом.
Пагінація обмежена максимумом 100 записів на запит і 100 сторінками на одну пошукову вибірку. Це не гарантує повного охоплення всього архіву або вичерпного експорту всіх наявних записів. Записи в архіві мають порядок _doc, який не є сортуванням за часом, релевантністю чи оцінкою. Підрахунок загальної кількості результатів може бути точним (eq), нижньою межею (gte) або невідомим (unknown, значення null), що залежить від стану індексу.
API повертає плоскі записи, а не зібрані сервером дерева обговорень. Якщо у записі є поля parent_id і link_id, клієнт може самостійно групувати їх локально для відтворення структури дискусій. Немає гарантії повноти розмови або наявності усіх батьківських записів. Фільтрів link_id або parent_id на стороні сервера не існує, тому вся логіка відновлення ланцюжка відповідей лежить на стороні клієнта та його алгоритмів.
При отриманні даних слід пам’ятати, що /v1/posts та /v1/comments не вимагають параметра id для пошуку, на відміну від маршруту /v1/item, де id є обов’язковим. Параметр kind дозволяє фільтрувати за типом запиту, приймаючи значення post або comment. Це дозволяє автоматизації точно збирати лише потрібний тип контенту, не витрачаючи ресурси на обробку зайвих даних. Перевіряйте наявність потрібних полів у кожному записі: відсутнє поле не слід автоматично замінювати вигаданим значенням.
Обробка помилок, ліміти та платежі
При роботі з API важливо коректно обробляти коди помилок HTTP для надійної автоматизації. Код 401 означає відсутність або недійсність ключа автентифікації. Код 402 свідчить про недостатність кредитів на балансі для виконання запиту. Код 429 вказує на перевищення ліміту частоти запитів, що вимагає впровадження логіки повторних спроб з затримкою. Ці коди завжди повертаються як числа з ASCII-цифрами, що гарантує передбачувану поведінку парсерів у скриптах автоматизації.
Кожен успішний запит коштує один кредит, навіть якщо результат порожній. Тариф становить $1 за 1000 успішних запитів; мінімальне поповнення $50 дає 50000 оплачених кредитів. Збій джерела повертає зарезервований кредит на баланс користувача, а некоректний запит не списує його. Якщо клієнт утратив відповідь після успіху сервера, кредит міг бути витрачений; успішний повтор коштує ще один. 100 пробних кредитів можливі лише за дотримання спільних для мережі умов захисту від зловживань.
Приймаються USDT у мережі TRON TRC20 та USDC в основній мережі Ethereum ERC20. Після входу створіть рахунок на сервері й використовуйте зазначені адресу отримувача та точну суму. Рахунок діє одну годину. Час переказу має бути від моменту створення рахунку до 72 годин після завершення його дії. Це умова для часу переказу, а не строк натискання кнопки перевірки чи гарантія швидкості зарахування.
Після отримання інвойса користувач платить точно вказану суму на вказану адресу, а потім вводить хеш транзакції у веб-інтерфейс для верифікації. Кредити зараховуються лише після перевірки справжнього підтвердженого переказу. У разі збою провайдера перевірка може залишатися в очікуванні. Ключі API показуються один раз безпосередньо після реєстрації, до моменту оплати, і їх потрібно зберегти миттєво. Повторне надсилання ключа на електронну пошту або автоматична доставка не передбачені. Якщо ключ втрачено, його можна регенерувати в особистому кабінеті після підтвердження пароля, що автоматично анулює старий ключ.