首页
/ Organizr API 接口详解与技术指南

Organizr API 接口详解与技术指南

2025-07-08 01:24:03作者:齐添朝

概述

Organizr 是一个功能强大的家庭服务器管理仪表板,其 API 接口设计遵循 OpenAPI 3.0 规范,提供了丰富的插件管理和系统控制能力。本文将深入解析 Organizr API 的核心功能和使用方法。

API 基础信息

Organizr API 当前版本为 2.0,支持以下服务端点:

  • 默认安装端点:https://organizr.dev/
  • 演示端点:https://demo.organizr.app
  • 自定义端点:支持 http/https 协议,可配置主机路径

主要功能模块

1. 聊天插件(plugins-chat)

获取聊天设置

  • 路径:/api/v2/plugins/chat/settings
  • 方法:GET
  • 功能:获取当前聊天插件的配置信息
  • 安全要求:需要 API 密钥认证

消息管理

  • 获取所有消息

    • 路径:/api/v2/plugins/chat/message
    • 方法:GET
    • 返回:包含所有聊天消息的列表
  • 提交新消息

    • 路径:/api/v2/plugins/chat/message
    • 方法:POST
    • 请求体:支持 form-urlencoded 和 JSON 格式
    • 参数:message(字符串类型,要发送的消息内容)

2. 健康检查插件(plugins-healthchecks)

获取设置

  • 路径:/api/v2/plugins/healthchecks/settings
  • 方法:GET
  • 功能:获取健康检查插件的配置

运行健康检查

  • 路径:/api/v2/plugins/healthchecks/run
  • 方法:GET
  • 功能:立即执行健康检查任务

3. 注册系统插件(plugins-registration)

注册码管理

  • 获取所有注册码

    • 路径:/api/v2/plugins/registration
    • 方法:GET
  • 创建新注册码

    • 路径:/api/v2/plugins/registration
    • 方法:POST

单个注册码操作

  • 验证注册码

    • 路径:/api/v2/plugins/registration/{code}
    • 方法:GET
    • 参数:code(路径参数,整数类型)
  • 使用注册码

    • 路径:/api/v2/plugins/registration/{code}
    • 方法:POST
  • 删除注册码

    • 路径:/api/v2/plugins/registration/{code}
    • 方法:DELETE

4. 邮件服务插件(plugins-php-mailer)

邮件功能

  • 发送测试邮件

    • 路径:/api/v2/plugins/php-mailer/email/test
    • 方法:GET
    • 功能:向默认管理员邮箱发送测试邮件
  • 发送自定义邮件

    • 路径:/api/v2/plugins/php-mailer/email/send
    • 方法:POST
    • 请求体:JSON 格式的邮件数据
  • 获取用户邮件列表

    • 路径:/api/v2/plugins/php-mailer/email/list
    • 方法:GET

5. ShuckStop 插件(plugins-shuck-stop)

插件控制

  • 获取设置

    • 路径:/api/v2/plugins/shuck-stop/settings
    • 方法:GET
  • 运行插件

    • 路径:/api/v2/plugins/shuck-stop/run
    • 方法:GET

安全机制

所有敏感 API 端点都需要通过 api_key 进行认证,未授权的请求将返回 401 状态码。建议开发者:

  1. 妥善保管 API 密钥
  2. 仅通过 HTTPS 协议访问 API
  3. 实施最小权限原则,仅授予必要的访问权限

最佳实践

  1. 错误处理:始终检查响应状态码,特别是 401 未授权错误
  2. 请求格式:优先使用 JSON 格式进行数据交换
  3. 频率控制:避免高频调用可能影响系统性能的接口
  4. 日志记录:记录关键操作和错误信息以便排查问题

总结

Organizr API 提供了完善的插件管理和系统控制能力,通过合理的接口设计使得开发者能够轻松集成各种功能。无论是构建自定义客户端还是开发新的插件,这套 API 都能提供强大的支持。建议开发者在实际使用前充分测试各接口功能,并根据具体需求选择合适的认证和调用方式。