Firmreader Docs Online logo

Справочник API

Изучите справочник REST API Firmreader: создавайте публикации, управляйте каналами, аутентифицируйтесь по ключам API и программно запрашивайте аналитику.

API Firmreader — это REST API, с помощью которого можно программно создавать публикации, управлять каналами и запрашивать аналитику. Используйте возможности нашего API.

Базовый URL

https://api.firmreader.com/v1

Аутентификация

Для каждого запроса требуется ключ API в заголовке Authorization:

curl https://api.firmreader.com/v1/posts \
  -H "Authorization: Bearer fr_live_abc123"

Ключи API создаются в Settings > API Keys. Каждый ключ имеет область действия, ограничивающую доступные ему ресурсы:

Область действияРазрешения
posts:readПросмотр списка и получение публикаций
posts:writeСоздание, обновление и удаление публикаций
channels:readПросмотр списка и получение каналов
channels:writeСоздание, обновление и удаление каналов
analytics:readЗапрос показателей вовлечённости

Ограничения частоты запросов

ПланЗапросов в минуту
Starter60
Business300
Enterprise1,000

Заголовки ограничений частоты включаются в каждый ответ:

X-RateLimit-Limit: 300
X-RateLimit-Remaining: 297
X-RateLimit-Reset: 1708790400

Формат ошибок

Все ошибки имеют единый формат:

{
  "error": {
    "code": "invalid_request",
    "message": "The channel_id field is required.",
    "param": "channel_id"
  }
}
Статус HTTPЗначение
400Некорректный запрос — проверьте параметры
401Нет авторизации — недействительный или отсутствующий ключ API
403Доступ запрещён — ключу API не хватает необходимой области действия
404Не найдено — ресурс не существует
429Превышено ограничение частоты — снизьте скорость запросов
500Ошибка сервера — повторите попытку позже

Пагинация

Эндпоинты для получения списков возвращают результаты постранично. Используйте параметры cursor и limit:

curl "https://api.firmreader.com/v1/posts?limit=20&cursor=post_abc123" \
  -H "Authorization: Bearer fr_live_abc123"

Ответ содержит поле next_cursor. Если его значение равно null, достигнут конец списка.

{
  "data": [...],
  "next_cursor": "post_xyz789",
  "has_more": true
}

Last updated on