SuperAPI AI 工具集

salla-app-functions

编程与开发

查看项目

更新于 10-16 01:14

技能介绍

用途:Salla App Functions 是 Salla 在店铺事件触发时自动运行的无服务器处理程序,开发者编写逻辑,Salla 在沙箱 V8 运行时中执行。该技能是路由,按顺序执行各步骤,每步有独立技能,通过关卡后再继续。

主要能力与构建流程:1)选择触发器,确认其 payload.data,选择同步或异步(salla-app-functions-design);2)编写处理程序,涉及模板、context、Resp、沙箱、超时(salla-app-functions-handler);3)保留模板包装(首行与末行)并在保存前本地类型检查(salla-app-functions-validate);4)保存并部署到演示店铺(salla-app-functions-release);5)在演示店铺用 salla_functions action=preview 测试并读取返回值(salla-app-functions-test);6)发布到生产:公开应用走 app_publish validate 后在 Portal 提交,私有应用用 salla_private_apps action=publish(salla-app-functions-release)。

相对 webhook 的优势:无需签名验证,运行在 Salla 沙箱内,无入站请求;感知设置,商家设置通过 context.settings 传入;预认证,可直接调用 Salla Admin API,无需 Authorization 头;同步动作(如 shipment.creating)在操作前运行,返回值可塑造或阻止操作。当不存在 App Function 触发器,或工作无法适应运行时超时或 V8 隔离环境(无 npm、无 fs/net/http 服务器/child_process,仅 Web Crypto,HTTP 用 fetch)时,回退到 webhook(salla-webhooks)。

使用方式:通过 Salla Partners MCP 操作。salla_functions 支持 list_triggers、get、save、delete、deploy_status、preview;app_publish 支持 open、set、validate;salla_private_apps 支持 publish。同步动作总时限硬性 5 秒(内部异步调用建议小于 2 秒,文档建议小于 500 毫秒,因商家被阻塞);异步事件 30 秒。Resp、实体构建器(如 Shipment)、CommunicationEvent 及所有类型化上下文为预声明运行时全局变量,可直接使用。运行时是 V8 隔离环境而非 Node。

限制:同步动作 5 秒硬限制;异步事件 30 秒;无 npm、无文件系统、无网络服务器、无 child_process;仅 Web Crypto;HTTP 使用 fetch。具体模块与响应细节见 salla-app-functions-handler。