管理商品商店状态。商店是价格、可用性、本地化和优惠的权威来源。读取立即生效。写入通过商品商店状态计划进行:创建草稿,计算可审阅的差异,然后应用。在计划被应用之前,任何内容都不会到达商店。
MCP 和 rc CLI(参见 revenuecat-cli 技能)使用相同的计划/应用模型。优先使用可用的界面。请参考 MCP 工具模式(或 rc commands --schemas --json)以获取确切参数。
每个项目最多有一个活动的(非终端的)计划。在创建新计划之前先列出计划;如果因已有计划正在进行而导致创建失败,请获取该计划,描述其待处理内容,并与用户决定是继续还是丢弃。
读取
始终使用 get-product-store-state(CLI:rc products show <product-id> --store-state)。切勿从 get-product、list-products 或 offering 数据推断商店价格、可用性或试用——那些是 RevenueCat 目录,而非商店状态。展示响应中的警告。
前提条件
商店状态写入需要连接到 RevenueCat 项目的商店凭证(App Store Connect API 密钥,或具有 Manage store presence 权限的 Google Play 服务账号)以及具有项目写入权限的 RevenueCat 登录。如果写入因凭证或权限错误而失败,请报告缺少什么以及如何修复(仪表板应用设置中的商店凭证),而不是重试。
应用前确认
应用会写入生产商店,并可能改变实时客户看到和支付的内容。在展示计划差异且用户明确确认之前,切勿调用 apply。
计划成功后:
用平实语言总结 summary 和每个 plan_items[*].diff(每个字段的之前 → 之后)。
报告每个警告(severity、field、message)。如果任何 plan_items[*].warnings 的 severity 为 blocker,切勿应用。修复期望状态,更新计划,并重新计划,直到没有条目级 blocker。
可选分享仪表板审阅 URL: https://app.revenuecat.com/projects/{project_id}/product-catalog/product-editor/review-changes?plan_id={plan_id}
等待明确批准。逐个确认每个商品的变更,或作为一份清晰逐项列出的批量确认——切勿将不相关的变更合并到一次确认中。
只有在那之后才调用 apply,且仅当 actions 包含 apply 时。
读取不需要确认。将商品提交给 Apple 审核是一项单独的需要确认的写入(submit-products-to-store)。
推荐的写入流程(MCP)
先检查。在决定期望变更之前,对现有商品使用 get-product-store-state。
创建草稿计划。使用 create-product-store-state-plan,每个商品一个 desired_states 条目。
使用 product_id 定位现有 RevenueCat 商品,或传入 create_revenuecat_product(app_id、store_identifier、type、display_name 和 title——当用户只给了一个名称时,两者都使用它)。
设置 store 为 app_store、play_store、rc_billing 或 test_store,并填充匹配的 store_state。
将价格、可用性、本地化和(如果用户提供了)审核截图放入期望状态。不要调用 create-product-prices、upload-product-store-state-screenshot 或 equalize-subscription-prices。
App Store 订阅:将要保留的价格发送到 territory_prices,并包含 common.pricing.equalize_missing_subscription_prices 及该 base_territory,以便在应用时填充缺失的 Apple 区域。不要为 App Store 一次性商品发送该字段。
App Store 审核截图:省略 screenshot,以便 apply 可以上传空白占位符,除非用户提供了图像。
RC Billing / Test Store:定价为 common.pricing.currency_prices(仅创建;更新现有货币会被拒绝)。
计划。plan-product-store-state-plan,然后轮询 get-product-store-state-plan,直到状态为 planned、planned_and_finished 或 plan_errored。
与用户审阅。遵循应用前确认。如果计划失败,请报告 error_message / 每个条目的错误及审阅 URL;不要应用。
应用。apply-product-store-state-plan。然后轮询 get-product-store-state-plan,直到 applied 或 apply_errored。报告每个商品的 apply_status 及任何 apply_error_message。如果应用因商店在计划后发生变化而失败,请告知用户并从最新状态开始新计划。
准备好后提交审核。仅限 App Store:应用成功后,变更已在 App Store Connect 中,但尚未提交给 Apple。为刚应用的商品提供 submit-products-to-store(确认写入)。对 Play Store、RC Billing 和 Test Store 跳过此步骤。
要放弃草稿或已计划的计划,使用 discard-product-store-state-plan。要更改草稿,使用 update-product-store-state-plan,然后再次计划。
CLI 等效命令
有关安装、认证和模式发现,请参见 revenuecat-cli 技能。映射:
读取:rc products show <product-id> --store-state
创建 + 计算差异:rc products store plan <app-id> --file <csv|json>
重新显示已保存的计划:rc products store show <plan-id>
应用 / 丢弃:rc products store apply <plan-id> / rc products store discard <plan-id>
CLI 应用等待完成(无单独轮询)。在应用前仍要展示计划差异并等待确认。使用 rc commands --schemas --json 确认确切标志。
请勿将这些 MCP 工具用于写入
这些可能仍出现在 MCP 目录中。它们写入单个商品,没有可预览的计划。优先使用上述计划工具。
set-product-store-state
get-product-store-state-operation
create-product-prices
upload-product-store-state-screenshot
equalize-subscription-prices