小程序代管

授权 / 上传代码 / 审核 / 发布

微盈云作为微信第三方平台 / 支付宝 ISV 持有 component_appid, 接入方通过 SMP 可以代下游卖家完成"授权 → 上传代码 → 提交审核 → 发布"全流程。 所有接口的 X-Service-Codeminiprogram

完整流程

diagram
1. POST /v1/miniprogram/authorize  ──得到授权 URL
2. 用户扫码授权
3. GET /v1/miniprogram/authorize/callback/:platform  ──完成绑定
4. POST /v1/miniprogram/:platform/commit             ──上传代码
5. POST /v1/miniprogram/:platform/submit-audit       ──提交审核
6. GET  /v1/miniprogram/:platform/audit-status/:id   ──轮询 / 异步通知
7. POST /v1/miniprogram/:platform/release            ──发布上线

1. 发起授权

POST/v1/miniprogram/authorize
ts
const r = await smp("POST", "/v1/miniprogram/authorize", "miniprogram", {
  platform: "wechat",                       // wechat | alipay
  redirectUri: "https://your.domain/auth/callback",
  tenantId: "tenant_xxx",                   // 可选,关联接入方系统中的卖家
});
// r.authUrl: PC 扫码用
// r.mobileAuthUrl: 手机内嵌授权用(仅 wechat)
// r.state: 不透明 token,回调时回传

2. 处理授权回调

用户在微信 / 支付宝 完成授权后,会被跳回 redirectUri,URL query 带 auth_codestate。接入方把它们转手交给 SMP 即可完成绑定:

GET/v1/miniprogram/authorize/callback/{platform}?auth_code=...&state=...

3. 列出已授权小程序

GET/v1/miniprogram/authorizers
GET/v1/miniprogram/authorizers/{appId}
DELETE/v1/miniprogram/authorizers/{appId}

4. 列出可用代码模板

GET/v1/miniprogram/templates?platform=wechat&tenant_id=...

返回 { mode, templates: [...] }mode = upstream 是直接拉自微信第三方平台已添加的模板;mode = manual 是 wxenv admin 手工录入的(用于 mock 或代填场景)。

5. 提交代码

POST/v1/miniprogram/{platform}/commit
ts
await smp("POST", "/v1/miniprogram/wechat/commit", "miniprogram", {
  authorizerAppId: "wx...",
  templateId: "...",
  templateVersion: "1.0.0",        // 可选
  extJson: JSON.stringify({
    extEnable: true,
    extAppid: "wx...",              // 卖家小程序 appid
    ext: { /* 自定义业务变量 */ },
    window: { /* 微信支持的覆盖项 */ },
  }),
  userVersion: "1.0.0",
  userDesc: "首次发布",
});

6. 提交审核

POST/v1/miniprogram/{platform}/submit-audit
ts
const r = await smp("POST", "/v1/miniprogram/wechat/submit-audit", "miniprogram", {
  authorizerAppId: "wx...",
  itemList: [
    { address: "pages/index/index", title: "首页", tag: "电商" }
  ],
  feedbackInfo: "...",
  feedbackMedia: "<mediaId>",
});
// r.auditId — 后续用于查状态

7. 查询审核状态

GET/v1/miniprogram/{platform}/audit-status/{auditId}?authorizerAppId=...
ts
// { auditId, status: "pending" | "approved" | "rejected", reason? }

8. 发布

POST/v1/miniprogram/{platform}/release
ts
await smp("POST", "/v1/miniprogram/wechat/release", "miniprogram", {
  authorizerAppId: "wx...",
});

辅助接口

GET/v1/miniprogram/{platform}/versions
GET/v1/miniprogram/{platform}/baseinfo
POST/v1/miniprogram/{platform}/experience
POST/v1/miniprogram/{platform}/rollback
POST/v1/miniprogram/{platform}/members

异步通知

审核通过 / 驳回时,SMP 会向 platform 配置的 config.miniprogram.audit_notify_url 推送结果(如有配置)。 详见异步通知