Использование API
Каждый форум Flarum предоставляет общедоступный API JSON, который может считывать и записывать данные форума. Он соответствует спецификации JSON-API 1.0.
Идентификация
API использует аутентификацию на основе токенов. Некоторые конечные точки не требуют аутентификации. Вы можете получить токен из конечной точки/api/токена:
POST /api/token HTTP/1.1 { "identification": "Toby", "password": "pass7word" } HTTP/1.1 200 OK { "token": "YACub2KLfe8mfmHPcUKtt6t2SMJOGPXnZbqhc3nX", "userId": "1" }
Затем вы можете передать маркер в заголовке авторизации в последующих запросах:
GET /api/forum HTTP/1.1 Authorization: Token YACub2KLfe8mfmHPcUKtt6t2SMJOGPXnZbqhc3nX
Форум
GET /api/forum - get information about the forum, including groups and tags PATCH /api/forum - update forum config
Обсуждения
GET /api/discussions - get all discussions (sort is -time by default) filter[q] - filter by username/gambits POST /api/discussions - create a new discussion GET /api/discussions/:id - get a discussion by ID PATCH /api/discussions/:id - update a discussion DELETE /api/discussions/:id - delete a discussion
Сообщений
GET /api/posts - get all posts filter[discussion] - filter by discussion ID filter[user] - filter by user ID filter[number] - filter by number (position within the discussion) filter[type] - filter by post type POST /api/posts - create a new post GET /api/posts/:id - get a post by ID PATCH /api/posts/:id - update a post DELETE /api/posts/:id - delete a post
Пользователи
GET /api/users - get all users filter[q] - filter by username/gambits POST /api/users - register a new user GET /api/users/:idOrUsername - get a user by ID or username PATCH /api/users/:id - update a user DELETE /api/users/:id - delete a user POST /api/users/:id/avatar - upload a user avatar DELETE /api/users/:id/avatar - delete a user avatar
Группы
GET /api/groups - get all groups POST /api/groups - create a new group PATCH /api/groups/:id - update a group DELETE /api/groups/:id - delete a group
Уведомления
GET /api/notifications - get all notifications PATCH /api/notifications/:id - mark a notification as read
Теги
POST /api/tags - create a new tag PATCH /api/tags/:id - update a tag DELETE /api/tags/:id - delete a tag