SuperAPI AI 工具集

bitrix-rest

编程与开发

查看项目

更新于 10-15 18:46

技能介绍

用途:在 Bitrix 模块中把自身方法通过 rest 模块对外发布为 REST 接口,属于服务端实现;若需调用外部 REST(webhooks、OAuth、batch、限额与客户端错误处理),参考 bitrix24-rest-api。

主要能力与注册路径:一是 REST 3.0(路径 /rest/api/…,DTO、JSON),在 module .settings.php 的 rest 段注册,规则见 rules/v3.md;二是 Engine 控制器(与 AJAX 同一个类),在 .settings.php 设置 controllers.restIntegration.enabled,规则见 rules/classic.md;三是经典方法映射、REST 事件与 placements,通过事件 rest:OnRestServiceBuildDescription 描述,规则见 rules/classic.md。新 API 建议用 REST 3.0(自 rest 26.200 起),回退方案是 Engine 控制器加 restIntegration;仅在需要 REST 事件、placements 或明确方法名时使用经典描述。

必要用法与约束:需 Loader::includeModule('rest'),代码位于 /local/modules/<vendor.module>/,且模块必须已安装。REST 调用无 CSRF,认证依赖应用 token/webhook,因此每个 action 内都要检查用户权限。scopes 是授予应用的权限单元,名称需保持稳定并有文档。错误须以 REST 形式返回(v3 异常、controller addError、\Bitrix\Rest\RestException),不可返回 HTML 或 die()。不要继承 rest 类或实现 Bitrix\Rest\Internal* 契约,其签名会在小版本中变化(如 26.650 的 Engine\Access、Api\User、IncomingWebhookRepositoryInterface),应采用组合方式。

适用场景:为 Bitrix 模块开发对外 REST 接口、维护 REST 事件与 placements、定义 scopes 权限。

限制:资料未提供收费、价格与平台信息;landing 区块与 placements 的 REST 实现另见 bitrix-landing。