用途:面向 Salla 合作伙伴代理工具包,指导完成 App Function 的保存、测试与发布流程。一个应用只对应一个函数,以其 trigger 为键,get、save、delete 均需 app_id 与 trigger,save 对该 trigger 的函数执行 upsert。保存前应先通过 salla-app-functions-validate 校验。
主要能力与用法:保存使用 salla_functions action=save,参数含 app_id、trigger、content(完整函数字符串)、name,需保持模板首行原样。返回一个部署作业,并触发向应用演示商店的异步部署,随后轮询 salla_functions action=deploy_status(job 由 action=save 返回)直至 COMPLETED,再用 salla-app-functions-test 测试。一次保存即覆盖部署,没有单独的 deploy 动作或版本管理。读取用 action=get,返回模板、类型及已保存内容(可能为 null);删除用 action=delete。参数名与作业结构为示例,实际字段需以 salla_functions 为准。若之后修改了发布快照涵盖的应用配置,需重新打开发布流程刷新,函数部署本身无需重新保存。
测试与发布:在演示商店用 salla_functions action=preview 运行;也可在 Portal 预览面板选择演示商店、输入真实记录 ID、保存并预览,预览日志可见,不要泄露机密。已保存的函数不会直接到达商户商店,只有应用发布后才生效。公开应用由代理通过 app_publish action=validate 校验各分节并保存草稿,校验通过后将 Portal 发布链接(https://portal.salla.partners/apps/{app_id}/publish)交给合作伙伴一键提交,代理不代为提交;私有应用在合作伙伴确认后用 salla_private_apps action=publish(confirm: true),商户合作伙伴的应用通常立即上线。
发布前安全检查:扫描已保存内容,不得硬编码令牌、机密或 API 密钥,不得在预览日志中输出调试数据或商户个人数据,不得有过宽的外部请求;令牌与 OAuth 处理应放在后端,Webhook 签名验证见 salla-webhooks。检查清单还包括响应在 5 秒总预算内(单次内部异步调用低于 2 秒)、所有路径返回 Resp.success().setData(...)、不使用 npm 或不支持的核心模块、使用 globalThis.crypto、已在演示商店用真实记录 ID 预览测试通过。
限制:资料未提供价格、具体平台支持范围或更多细节。