接口文档 v1.3.7 · XenForo 2.3.6
接口地址https://your-site.com/forumcopilot.php
请求方式
POST application/json
请求格式{"method": "xxx", "params": {...}}
返回格式{"result": true, "data": {...}} 或 {"result": false, "error": "..."}
| 方法 | 描述 | 参数 | 示例 |
|---|---|---|---|
getConfig | 获取论坛配置 | 无 | {"method": "getConfig", "params": {}} |
| 方法 | 描述 | 参数 | 示例 |
|---|---|---|---|
login | 用户登录 | loginname, password | {"method": "login", "params": {"loginname":"user","password":"pass"}} |
logout | 用户登出 | 无 | {"method": "logout", "params": {}} |
register | 用户注册 | username, email, password, passwordConfirm | {"method": "register", "params": {"username":"new","email":"a@b.com","password":"123","passwordConfirm":"123"}} |
prefetchAccount | 预获取账户信息 | userId | {"method": "prefetchAccount", "params": {"userId":123}} |
forgotPassword | 忘记密码 | {"method": "forgotPassword", "params": {"email":"a@b.com"}} | |
updatePassword | 修改密码 | oldPassword, newPassword | {"method": "updatePassword", "params": {"oldPassword":"old","newPassword":"new"}} |
updateEmail | 修改邮箱 | password, email | {"method": "updateEmail", "params": {"password":"123","email":"new@b.com"}} |
updateProfile | 更新资料 | customFields?, avatar? | {"method": "updateProfile", "params": {"customFields":{}}} |
getUserSettings | 获取设置 | 无 | {"method": "getUserSettings", "params": {}} |
updateUserSettings | 更新设置 | settings (object) | {"method": "updateUserSettings", "params": {"settings":{}}} |
getUserSettingsCategories | 获取设置分类 | 无 | {"method": "getUserSettingsCategories", "params": {}} |
getPasskeyChallenge | 获取 Passkey 挑战 | 无 | {"method": "getPasskeyChallenge", "params": {}} |
getHelpPage | 帮助页面 | pageId? | {"method": "getHelpPage", "params": {}} |
| 方法 | 描述 | 参数 | 示例 |
|---|---|---|---|
getUserInfo | 获取用户信息 | userId (必填) | {"method": "getUserInfo", "params": {"userId":123}} |
searchUser | 搜索用户 | keyword, page?, limit? | {"method": "searchUser", "params": {"keyword":"name","page":1}} |
getInboxStat | 收件箱统计 | 无 | {"method": "getInboxStat", "params": {}} |
getOnlineUsers | 在线用户 | limit? | {"method": "getOnlineUsers", "params": {"limit":20}} |
getUserReplyPost | 用户回复帖子 | userId, page? | {"method": "getUserReplyPost", "params": {"userId":123}} |
reportUser | 举报用户 | userId, message | {"method": "reportUser", "params": {"userId":123,"message":"reason"}} |
updateOnlineStatus | 更新在线状态 | activity?, title? | {"method": "updateOnlineStatus", "params": {"activity":"watch"}} |
getSessionActivitySchema | 获取活动架构 | 无 | {"method": "getSessionActivitySchema", "params": {}} |
| 方法 | 描述 | 参数 | 示例 |
|---|---|---|---|
getUserSpaceActivity | 用户空间动态 | userId, page? | {"method": "getUserSpaceActivity", "params": {"userId":123}} |
getUserSpaceProfilePosts | 用户空间帖子 | userId, page? | {"method": "getUserSpaceProfilePosts", "params": {"userId":123}} |
getFollowingFeed | 关注动态 | page? | {"method": "getFollowingFeed", "params": {"page":1}} |
getGlobalFeed | 全局动态 | page? | {"method": "getGlobalFeed", "params": {"page":1}} |
getProfilePostComments | 获取动态评论 | profilePostId, page? | {"method": "getProfilePostComments", "params": {"profilePostId":456}} |
postProfilePostComment | 发布评论 | profilePostId, message | {"method": "postProfilePostComment", "params": {"profilePostId":456,"message":"内容"}} |
postProfilePost | 发布动态 | message, attachments? | {"method": "postProfilePost", "params": {"message":"内容"}} |
deleteProfilePost | 删除动态 | profilePostId | {"method": "deleteProfilePost", "params": {"profilePostId":456}} |
likeProfilePost | 点赞动态 | profilePostId | {"method": "likeProfilePost", "params": {"profilePostId":456}} |
unlikeProfilePost | 取消点赞 | profilePostId | {"method": "unlikeProfilePost", "params": {"profilePostId":456}} |
followUser | 关注用户 | userId | {"method": "followUser", "params": {"userId":123}} |
unfollowUser | 取消关注 | userId | {"method": "unfollowUser", "params": {"userId":123}} |
getFollowing | 关注列表 | userId, page? | {"method": "getFollowing", "params": {"userId":123}} |
getFollowers | 粉丝列表 | userId, page? | {"method": "getFollowers", "params": {"userId":123}} |
fixCommentCounts | 修复评论数 | 无 | {"method": "fixCommentCounts", "params": {}} |
checkCommentCounts | 检查评论数 | 无 | {"method": "checkCommentCounts", "params": {}} |
| 方法 | 描述 | 参数 | 示例 |
|---|---|---|---|
getForum | 获取版块 | forumId (必填) | {"method": "getForum", "params": {"forumId":1}} |
markAllAsRead | 标记已读 | forumId? | {"method": "markAllAsRead", "params": {"forumId":1}} |
getForumStatus | 版块状态 | 无 | {"method": "getForumStatus", "params": {}} |
getBoardStat | 论坛统计 | 无 | {"method": "getBoardStat", "params": {}} |
getParticipatedForum | 参与的版块 | page? | {"method": "getParticipatedForum", "params": {"page":1}} |
loginForum | 版块登录 | forumId | {"method": "loginForum", "params": {"forumId":1}} |
| 方法 | 描述 | 参数 | 示例 |
|---|---|---|---|
getTopic | 获取主题 | topicId (必填) | {"method": "getTopic", "params": {"topicId":123}} |
getTopTopic | 置顶主题 | forumId?, limit? | {"method": "getTopTopic", "params": {"forumId":1}} |
getAnnTopic | 公告主题 | forumId? | {"method": "getAnnTopic", "params": {"forumId":1}} |
getLatestTopic | 最新主题 | forumId?, page?, limit? | {"method": "getLatestTopic", "params": {"page":1}} |
getUnreadTopic | 未读主题 | page? | {"method": "getUnreadTopic", "params": {"page":1}} |
getParticipatedTopic | 参与主题 | userId, page? | {"method": "getParticipatedTopic", "params": {"userId":123}} |
getTopicByIds | 批量主题 | topicIds (array) | {"method": "getTopicByIds", "params": {"topicIds":[1,2,3]}} |
newTopic | 发布主题 | forumId, title, content | {"method": "newTopic", "params": {"forumId":1,"title":"标题","content":"内容"}} |
markTopicRead | 标记已读 | topicId, postId? | {"method": "markTopicRead", "params": {"topicId":123}} |
| 方法 | 描述 | 参数 | 示例 |
|---|---|---|---|
getThread | 帖子详情 | topicId, page?, limit? | {"method": "getThread", "params": {"topicId":123,"page":1}} |
getThreadByPost | 通过帖子获取主题 | postId | {"method": "getThreadByPost", "params": {"postId":456}} |
getThreadByUnread | 通过未读获取主题 | topicId | {"method": "getThreadByUnread", "params": {"topicId":123}} |
votePoll | 投票 | topicId, pollOptionId | {"method": "votePoll", "params": {"topicId":123,"pollOptionId":1}} |
replyPost | 回复帖子 | topicId, content, quoteId? | {"method": "replyPost", "params": {"topicId":123,"content":"回复"}} |
getRawPost | 原始帖子 | postId | {"method": "getRawPost", "params": {"postId":456}} |
saveRawPost | 保存编辑 | postId, content | {"method": "saveRawPost", "params": {"postId":456,"content":"新内容"}} |
getQuotePost | 引用帖子 | postId | {"method": "getQuotePost", "params": {"postId":456}} |
reportPost | 举报帖子 | postId, message | {"method": "reportPost", "params": {"postId":456,"message":"原因"}} |
| 方法 | 描述 | 参数 | 示例 |
|---|---|---|---|
searchTopic | 搜索主题 | keyword, forumId?, page? | {"method": "searchTopic", "params": {"keyword":"关键词"}} |
searchPost | 搜索帖子 | keyword, page? | {"method": "searchPost", "params": {"keyword":"关键词"}} |
advanceSearchTopic | 高级搜索主题 | keywords?, forumId?, author? | {"method": "advanceSearchTopic", "params": {"keywords":"词"}} |
advanceSearchPost | 高级搜索帖子 | keywords?, author? | {"method": "advanceSearchPost", "params": {"keywords":"词"}} |
| 方法 | 描述 | 参数 | 示例 |
|---|---|---|---|
uploadAttachment | 上传附件 | file, filename, mimeType | {"method": "uploadAttachment", "params": {"filename":"a.jpg"}} |
removeAttachment | 删除附件 | attachmentId | {"method": "removeAttachment", "params": {"attachmentId":123}} |
uploadAvatar | 上传头像 | avatar (Base64) | {"method": "uploadAvatar", "params": {"avatar":"base64..."}} |
| 方法 | 描述 | 参数 | 示例 |
|---|---|---|---|
likePost | 点赞帖子 | postId | {"method": "likePost", "params": {"postId":456}} |
unlikePost | 取消点赞 | postId | {"method": "unlikePost", "params": {"postId":456}} |
follow | 关注 | userId | {"method": "follow", "params": {"userId":123}} |
unfollow | 取消关注 | userId | {"method": "unfollow", "params": {"userId":123}} |
getAlert | 获取提醒 | page?, limit? | {"method": "getAlert", "params": {"page":1}} |
getAlertCount | 提醒数量 | 无 | {"method": "getAlertCount", "params": {}} |
thankPost | 感谢帖子 | postId | {"method": "thankPost", "params": {"postId":456}} |
| 方法 | 描述 | 参数 | 示例 |
|---|---|---|---|
bookmarkThread | 收藏主题 | topicId | {"method": "bookmarkThread", "params": {"topicId":123}} |
unbookmarkThread | 取消收藏 | topicId | {"method": "unbookmarkThread", "params": {"topicId":123}} |
bookmarkResource | 收藏资源 | resourceId | {"method": "bookmarkResource", "params": {"resourceId":456}} |
unbookmarkResource | 取消收藏资源 | resourceId | {"method": "unbookmarkResource", "params": {"resourceId":456}} |
getBookmarks | 获取收藏 | page?, limit?, type? | {"method": "getBookmarks", "params": {"page":1}} |
| 方法 | 描述 | 参数 | 示例 |
|---|---|---|---|
getSubscribedForum | 订阅版块 | page? | {"method": "getSubscribedForum", "params": {"page":1}} |
subscribeForum | 订阅版块 | forumId | {"method": "subscribeForum", "params": {"forumId":1}} |
unsubscribeForum | 取消订阅 | forumId | {"method": "unsubscribeForum", "params": {"forumId":1}} |
getSubscribedTopic | 订阅主题 | page? | {"method": "getSubscribedTopic", "params": {"page":1}} |
subscribeTopic | 订阅主题 | topicId | {"method": "subscribeTopic", "params": {"topicId":123}} |
unsubscribeTopic | 取消订阅 | topicId | {"method": "unsubscribeTopic", "params": {"topicId":123}} |
| 方法 | 描述 | 参数 | 示例 |
|---|---|---|---|
doLoginMod | 版主登录 | username, password | {"method": "doLoginMod", "params": {"username":"mod"}} |
stickTopic | 置顶主题 | topicId | {"method": "stickTopic", "params": {"topicId":123}} |
unstickTopic | 取消置顶 | topicId | {"method": "unstickTopic", "params": {"topicId":123}} |
closeTopic | 关闭主题 | topicId | {"method": "closeTopic", "params": {"topicId":123}} |
uncloseTopic | 开启主题 | topicId | {"method": "uncloseTopic", "params": {"topicId":123}} |
deleteTopic | 删除主题 | topicId | {"method": "deleteTopic", "params": {"topicId":123}} |
deletePost | 删除帖子 | postId | {"method": "deletePost", "params": {"postId":456}} |
undeleteTopic | 恢复主题 | topicId | {"method": "undeleteTopic", "params": {"topicId":123}} |
undeletePost | 恢复帖子 | postId | {"method": "undeletePost", "params": {"postId":456}} |
moveTopic | 移动主题 | topicId, forumId | {"method": "moveTopic", "params": {"topicId":123,"forumId":2}} |
renameTopic | 重命名 | topicId, title | {"method": "renameTopic", "params": {"topicId":123,"title":"新标题"}} |
approveTopic | 审核主题 | topicId | {"method": "approveTopic", "params": {"topicId":123}} |
approvePost | 审核帖子 | postId | {"method": "approvePost", "params": {"postId":456}} |
banUser | 封禁用户 | userId, reason? | {"method": "banUser", "params": {"userId":123}} |
unbanUser | 解封用户 | userId | {"method": "unbanUser", "params": {"userId":123}} |
spamCleanUser | 清理垃圾用户 | userId | {"method": "spamCleanUser", "params": {"userId":123}} |
| 方法 | 描述 | 参数 | 示例 |
|---|---|---|---|
newConversation | 创建会话 | recipientIds, title, message | {"method": "newConversation", "params": {"recipientIds":[123],"title":"标题"}} |
replyConversation | 回复会话 | conversationId, message | {"method": "replyConversation", "params": {"conversationId":789,"message":"回复"}} |
getConversations | 会话列表 | page?, limit? | {"method": "getConversations", "params": {"page":1}} |
getConversation | 会话详情 | conversationId, page? | {"method": "getConversation", "params": {"conversationId":789}} |
getConversationByMessage | 通过消息获取会话 | messageId | {"method": "getConversationByMessage", "params": {"messageId":111}} |
getRawConversation | 原始会话 | conversationId | {"method": "getRawConversation", "params": {"conversationId":789}} |
saveRawConversation | 保存编辑会话 | conversationId, title, message | {"method": "saveRawConversation", "params": {"conversationId":789}} |
getRawMessage | 原始消息 | messageId | {"method": "getRawMessage", "params": {"messageId":111}} |
saveRawMessage | 保存编辑消息 | messageId, message | {"method": "saveRawMessage", "params": {"messageId":111,"message":"内容"}} |
closeConversation | 关闭会话 | conversationId | {"method": "closeConversation", "params": {"conversationId":789}} |
uncloseConversation | 开启会话 | conversationId | {"method": "uncloseConversation", "params": {"conversationId":789}} |
markConversationRead | 标记已读 | conversationId | {"method": "markConversationRead", "params": {"conversationId":789}} |
markConversationUnread | 标记未读 | conversationId | {"method": "markConversationUnread", "params": {"conversationId":789}} |
leaveConversation | 离开会话 | conversationId | {"method": "leaveConversation", "params": {"conversationId":789}} |
inviteParticipant | 邀请参与 | conversationId, userId | {"method": "inviteParticipant", "params": {"conversationId":789,"userId":123}} |
getQuoteConversation | 引用会话 | conversationId | {"method": "getQuoteConversation", "params": {"conversationId":789}} |
likeConversationMessage | 点赞消息 | messageId | {"method": "likeConversationMessage", "params": {"messageId":111}} |
unlikeConversationMessage | 取消点赞消息 | messageId | {"method": "unlikeConversationMessage", "params": {"messageId":111}} |
| 方法 | 描述 | 参数 | 示例 |
|---|---|---|---|
getResourceList | 资源列表 | categoryId?, page?, limit? | {"method": "getResourceList", "params": {"categoryId":1}} |
getResourceCategories | 资源分类 | 无 | {"method": "getResourceCategories", "params": {}} |
getResourceDetail | 资源详情 | resourceId | {"method": "getResourceDetail", "params": {"resourceId":456}} |
downloadResource | 下载资源 | resourceId, versionId? | {"method": "downloadResource", "params": {"resourceId":456}} |
searchResource | 搜索资源 | keyword, categoryId?, page? | {"method": "searchResource", "params": {"keyword":"关键词"}} |
getUserResources | 用户资源 | userId, page? | {"method": "getUserResources", "params": {"userId":123}} |
getFeaturedResources | 精选资源 | limit? | {"method": "getFeaturedResources", "params": {"limit":10}} |
createResource | 发布资源 | categoryId, title, description | {"method": "createResource", "params": {"categoryId":1,"title":"标题"}} |
updateResource | 更新资源 | resourceId, title?, description? | {"method": "updateResource", "params": {"resourceId":456}} |
addResourceVersion | 添加资源版本 | resourceId, version, file? | {"method": "addResourceVersion", "params": {"resourceId":456,"version":"1.0"}} |
getResourceVersions | 获取资源版本 | resourceId | {"method": "getResourceVersions", "params": {"resourceId":456}} |
addResourceReview | 评价资源 | resourceId, rating, message | {"method": "addResourceReview", "params": {"resourceId":456,"rating":5}} |
getResourceReviews | 资源评价 | resourceId, page? | {"method": "getResourceReviews", "params": {"resourceId":456}} |
deleteResource | 删除资源 | resourceId | {"method": "deleteResource", "params": {"resourceId":456}} |
likeResource | 点赞资源 | resourceId | {"method": "likeResource", "params": {"resourceId":456}} |
unlikeResource | 取消点赞 | resourceId | {"method": "unlikeResource", "params": {"resourceId":456}} |
purchaseResource | 购买资源 | resourceId | {"method": "purchaseResource", "params": {"resourceId":456}} |
checkResourcePurchase | 检查购买状态 | resourceId | {"method": "checkResourcePurchase", "params": {"resourceId":456}} |
getPurchasedResources | 已购资源 | page? | {"method": "getPurchasedResources", "params": {"page":1}} |
| 方法 | 描述 | 参数 | 示例 |
|---|---|---|---|
getCurrencyList | 货币列表 | 无 | {"method": "getCurrencyList", "params": {}} |
getCreditsRanking | 积分排行 | limit? | {"method": "getCreditsRanking", "params": {"limit":20}} |
getCreditsInfo | 积分信息 | 无 | {"method": "getCreditsInfo", "params": {}} |
getUserCredits | 用户积分 | userId? | {"method": "getUserCredits", "params": {"userId":123}} |
getTransactionList | 交易记录 | page?, limit? | {"method": "getTransactionList", "params": {"page":1}} |
getTransactionDetail | 交易详情 | transactionId | {"method": "getTransactionDetail", "params": {"transactionId":1}} |
transferCredits | 转让积分 | toUserId, amount, message? | {"method": "transferCredits", "params": {"toUserId":123,"amount":100}} |
dailyCheckIn | 每日签到 | 无 | {"method": "dailyCheckIn", "params": {}} |
getCheckInStatus | 签到状态 | 无 | {"method": "getCheckInStatus", "params": {}} |
sendRedPacket | 发红包 | toUserId, amount, quantity? | {"method": "sendRedPacket", "params": {"toUserId":123,"amount":100}} |
grabRedPacket | 抢红包 | redPacketId | {"method": "grabRedPacket", "params": {"redPacketId":1}} |
getRedPacketInfo | 红包信息 | redPacketId | {"method": "getRedPacketInfo", "params": {"redPacketId":1}} |
openBonus | 开启红包 | bonusId | {"method": "openBonus", "params": {"bonusId":1}} |
createBonus | 创建红包 | amount, quantity, type? | {"method": "createBonus", "params": {"amount":100,"quantity":5}} |
| 方法 | 描述 | 参数 | 示例 |
|---|---|---|---|
getAnnouncements | 获取公告列表 | limit? | {"method": "getAnnouncements", "params": {"limit":10}} |
getAnnouncement | 获取公告详情 | announcementId | {"method": "getAnnouncement", "params": {"announcementId":1}} |
dismissAnnouncement | 忽略公告 | announcementId | {"method": "dismissAnnouncement", "params": {"announcementId":1}} |
undismissAnnouncement | 取消忽略 | announcementId | {"method": "undismissAnnouncement", "params": {"announcementId":1}} |