如何在CRM门户中不使用实体表单,通过Liquid脚本创建记录
门户端无实体表单创建CRM记录的实现路径
首先明确基础逻辑:纯Liquid是服务端渲染模板,本身不直接具备数据库写入能力,但可以通过对接门户内置的开放写端点,完全跳过实体表单的可视化渲染、逐字段绑定流程,实现点击按钮传关联ID创建记录的需求,具体可落地的方案如下:
方案1:隐藏式Web Form触发模式
- 提前在门户管理后台配置好目标CRM实体对应的Web Form,仅配置提交后的记录创建逻辑,不需要在表单中配置任何面向用户展示的填写字段,把需要写入的字段全部设置为“隐式预填”模式。
- 页面加载时通过Liquid脚本读取页面上下文、通过按钮点击拿到的关联ID值,将这些值作为参数传入Web Form的内置请求地址。
- 将Web Form的渲染容器设置为完全隐藏,前端监听提交按钮的点击事件,拿到所有关联ID后直接触发该Web Form的提交动作,整个流程不需要用户看到任何实体表单元素,提交完成后即可在CRM中生成对应记录。
- 优势:完全复用门户内置的表单校验逻辑,不需要额外编写权限校验代码,配置成本最低。
方案2:门户Web API直连模式
- 在门户后台的Web API配置中,为目标实体开放创建权限,仅开放需要写入的关联ID对应查找字段的读写范围,将权限绑定到当前门户用户所属的访问角色上。
- 通过Liquid脚本在页面输出合法的Web API请求地址,前端拿到按钮提交的关联ID值后,直接构造POST请求调用该创建端点,全程不需要加载、渲染任何实体表单组件。
- 写操作的权限校验完全由门户服务端完成,不存在权限绕过的风险。
实现时的核心注意点
- 禁止在Liquid页面加载流程中直接触发记录创建逻辑:所有写操作必须绑定用户主动点击提交按钮的交互事件触发,否则会被恶意爬虫批量触发生成垃圾记录。
- 所有从前端获取的关联ID值,必须先通过Liquid在服务端完成合法性校验:确认ID对应的记录是当前登录用户有权限访问的有效记录,再传入写请求,避免出现越权写入的安全问题。
- 不需要额外开发自定义代码,所有配置都可以通过门户的原生管理界面完成。
内容的提问来源于stack exchange,提问作者sreeman
相关产品推荐
相关产品推荐

