Справочник 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 | Запрос показателей вовлечённости |
Ограничения частоты запросов
| План | Запросов в минуту |
|---|---|
| Starter | 60 |
| Business | 300 |
| Enterprise | 1,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
