按清晰的步骤迁移域名组合
导入、试运行、批准确切计划,然后分批执行;你可以暂停、重试和回滚。
批量操作的设计原则是:在有人查看并批准确切计划之前,不会发生任何更改。你需要一个具备 portfolios:read、portfolios:write、portfolios:execute 和 approvals:request 权限的连接,以及计划执行的操作所需的小屋权限范围。
导入清单
POST /workspaces/{id}/portfolios 接受带有 item_key,domain,source_url,world_handle,template_id,content_language 表头的 CSV,或以 items[] 提交的相同字段,最多 1000 行,并附带 preserve_existing_mx: true。每一行都会单独检查:域名会被规范化,重复项和不安全的 URL 会被阻止,来源中发现的文本会作为不可信数据存储。此时不会执行其他操作。
准备并阅读试运行计划
POST /workspaces/{id}/bulk-plans 接受你希望执行的操作(create_draft、apply_import、set_dna、publish 和域名相关步骤)、预算上限,以及 rollout_batches,例如 [5, 95]:先用五个项目试运行,再执行剩余项目。响应是一份不可更改的清单及其 plan_hash。使用 GET /bulk-plans/{plan_id} 阅读计划,查看每个项目的每个步骤、它会更改什么,以及如何回滚。DNS 步骤只会修改网站记录,保留现有邮件记录。计划会在 24 小时后过期。
请所有者批准
POST /workspaces/{id}/approvals 绑定确切的 plan_hash、各项上限和到期时间,并返回一个 approval_url。只有所有者才能在浏览器中作出决定;他们需要再次登录,并确认所展示的哈希。更改过的计划绝不能复用批准,令牌也绝不能作出批准。
运行、观察并控制进度
- 向
POST /bulk-plans/{plan_id}/execute提供plan_hash和approval_id,即可启动该批准允许的唯一一次运行。试运行批次先执行;continue启动剩余批次。 - 通过
GET /bulk-runs/{run_id},或job.updated和job.item.updatedwebhook 观察进度。 - 使用
pause、resume、cancel和retry控制运行(已经完成的步骤不会重复)。只要运行写入的内容尚未再次更改,rollback就能撤销这些写入。
注册、已发送的消息和已经过去的 DNS 传播过程无法撤销,也绝不会被报告为已回滚。撤销令牌会在下一个步骤阻止新工作。
目前可用的功能
导入、验证、试运行计划和批准在所有环境中均可使用。在开发和测试环境中,执行功能通过模拟的域名、DNS 和证书提供商完成端到端运行;在生产环境中,该功能会保持关闭,直到真实提供商的连接就绪。GET /capabilities 以 bulk.execute 报告这一能力。