用途:为 ERPNext/Frappe 的 API 集成提供参考,帮助在 REST API、RPC API、Webhook 和客户端调用之间做出选择。资料给出决策路径:文档 CRUD 用 REST API(/api/resource/{doctype});调用自定义业务逻辑用 RPC API(/api/method/{path});事件通知外部系统配置 Webhook;前端 JavaScript 调用服务器用 frappe.call() 或 frappe.xcall()。
主要能力:覆盖 Token 与 OAuth2 Bearer 认证头;REST API 的列表、创建、读取、更新、删除,端点分别为 GET/POST /api/resource/{doctype}、GET/PUT/DELETE /api/resource/{doctype}/{name};过滤器运算符含 =、>、in、between、is set;RPC 方法需服务端用 @frappe.whitelist() 装饰,通过 POST /api/method/... 调用;客户端提供 xcall 异步与 frappe.call Promise 两种写法。
响应与错误:REST 成功返回 {"data": {...}},RPC 成功返回 {"message": "return_value"},错误返回 exc_type 与 _server_messages。状态码含 200、400、401、403、404、417、429。
关键规则:始终带 Accept: application/json;whitelisted 方法必须加权限检查;不硬编码凭据而用 frappe.conf;避免 SQL 注入;读用 GET,改状态用 POST。
版本差异:expand_links 参数、Server Script 速率限制、OAuth2 PKCE 在 v15 支持更好,v14 部分不支持或有限。
限制:资料未提供具体收费、价格、平台要求、性能数据与完整安装步骤;使用时仍需按目标版本与权限配置验证。