让你的 AI Agent 连接 App Store Server API

提供客户交易标识或通知时间范围,让 AI 将解码后的记录整理为客服或投递调查摘要。

30 个工具 Custom credential

试试这些 App Store Server API 任务

将提示词复制到已安装 oo Skill 的 Agent,补充页面链接和原始笔记后执行。

oo Skill App Store Server API

解读客户购买历史

读取交易历史和订阅状态,整理客服摘要。

/oo App Store Server API: 读取此连接中[客户交易 ID]的 App Store 交易历史和订阅状态,总结购买、续订及报告的当前状态,不修改订阅。

调查通知投递

读取指定时间段的通知历史,整理投递失败供调查。

/oo App Store Server API: 读取 App Store [开始时间]至[结束时间]的通知历史,包含失败记录,按通知类型归纳并总结投递问题。

开始使用 App Store Server API

  1. 安装 OOMOL

    在 Agent 中配置 oo CLI 和 oo Skill。

    安装 OOMOL →
  2. 连接 App Store Server API

    使用应用内购买密钥、Issuer ID、Key ID、Bundle ID 和对应环境连接。

    连接 App Store Server API →
  3. 向 Agent 交代任务

    使用 /oo,说明要读取的页面、修改的内容和保存位置。

    连接指南 →

选择你的 Agent

  • 一个 App Store Connect 应用内购买私钥及标识、应用 Bundle ID,以及沙盒或生产环境。
  • 请使用应用内购买密钥,不要使用 App Store Connect API 密钥。

App Store Server API 工具

App Store Server API 提供应用的购买历史、订阅组和通知记录,将客户交易与报告的订阅状态及服务器投递尝试关联起来。

读取购买与订阅

获取交易历史、详情、退款和订阅状态。

读取通知历史

获取通知记录和测试通知投递结果。

30 个工具

Get Transaction History

列出某位客户在你的 App 中的内购交易,默认最旧的在前,从 Apple 返回的 JWS 签名负载解码而来。把 sort 设为 DESCENDING 可让最新的交易排在前面。每页最多返回 20 条交易。

app_store_server.get_transaction_history

Get Transaction Info

按标识符读取单条内购交易,从 Apple 返回的 JWS 签名负载解码而来。

app_store_server.get_transaction_info

Get App Transaction Info

读取某位客户的应用下载交易,由 Apple 返回的 JWS 签名负载解码得到。它记录客户首次获取该应用的时间以及所在平台。

app_store_server.get_app_transaction_info

Look Up Order Id

根据客户 App Store 收据中的订单 ID 查询其背后的内购交易,用于确认该订单真实有效且属于你的 App。Apple 只在生产环境提供该端点,因此在 sandbox 连接上调用会失败。

app_store_server.look_up_order_id

Set App Account Token

为某笔交易设置或替换 app account token,从而把在你的 App 之外完成的购买与你自有服务中的客户关联起来。会覆盖已设置的 token。

app_store_server.set_app_account_token

Finish Transaction

告知 App Store 你的服务器已完成某笔交易的内容交付。仅在客户已获得内容后调用;该操作不可撤销。已完结的交易仍会出现在 get_transaction_history 的结果中,因此不要把它从历史中消失当作确认。

app_store_server.finish_transaction

Get All Subscription Statuses

读取客户在你的 App 中每个自动续期订阅的状态,按订阅组分组,并从 Apple 返回的 JWS 签名负载中解码出各项订阅的最新交易和续期信息。

app_store_server.get_all_subscription_statuses

Extend Subscription Renewal Date

延长某位客户当前有效的自动续期订阅的续期日期,用于补偿服务中断或活动取消。该延期无法回退,Apple 会就新的续期日期向客户发送邮件。

app_store_server.extend_subscription_renewal_date

Extend Renewal Date For All Active Subscribers

延长某个产品下所有有效订阅的续期日期,可选择只对部分店面生效。App Store 会异步处理该请求,请轮询 get_subscription_renewal_date_extension_status 获取结果。该延期无法撤回。

app_store_server.extend_renewal_date_for_all_active_subscribers

Get Subscription Renewal Date Extension Status

查询 App Store 对某个产品全部有效订阅者发起的续期日期延长请求的处理进度。

app_store_server.get_subscription_renewal_date_extension_status

Get Refund History

列出 App Store 为你的 app 中某个客户退款的内购交易,按时间从新到旧排列,由 Apple 返回的 JWS 签名负载解码得到。每页最多返回 20 笔交易。

app_store_server.get_refund_history

Send Consumption Information

在收到 CONSUMPTION_REQUEST 通知后发送某笔内购的消耗信息,以便 App Store 对客户的退款请求作出裁定。Apple 要求在收到通知后 12 小时内作出响应。适用于不经过 Advanced Commerce API 的 App Store 内购。

app_store_server.send_consumption_information

Send Consumption Information V1

在收到 CONSUMPTION_REQUEST 通知后,为某笔内购发送第 1 版消耗信息。Apple 记录的这一结构适用于通过 Advanced Commerce API 完成的购买;普通的 App Store 内购请使用 send_consumption_information。

app_store_server.send_consumption_information_v1

Request Test Notification

请求 App Store 向你为应用配置的 App Store Server Notifications URL 发送一条 TEST 通知,并返回标识本次尝试的令牌。若所选环境没有配置通知 URL,调用会失败。

app_store_server.request_test_notification

Get Test Notification Status

读取测试通知的投递结果,并从 Apple 返回的 JWS 签名负载中解码出通知负载。在 Apple 完成首次投递尝试之前,会返回 404。

app_store_server.get_test_notification_status

Get Notification History

列出某个时间范围内 App Store 尝试向你的服务器投递的 App Store Server Notifications,并对每条通知负载进行解码。历史记录在生产环境覆盖过去 180 天,在沙盒覆盖过去 30 天,每页最多返回 20 条记录。

app_store_server.get_notification_history

Upload Retention Image

为挽留信息上传一张 PNG 图片:FULL_SIZE 图片显示在信息正文上方,BULLET_POINT 图片用作要点图标。图片上传后处于 PENDING 状态,需经 Apple 审核后才能展示;可用 get_retention_image_list 查看状态。每个 App 最多保存 2000 张图片,同一个标识符只能上传一次。只有处于 APPROVED 状态的图片和文案才会展示给用户;沙盒环境会立即批准上传内容。Retention Messaging API 的访问权限由 Apple 按开发者账号授予;未开通时这些端点会返回不带错误体的 404。

app_store_server.upload_retention_image

Get Retention Image List

列出本连接对应 App 和环境下为挽留信息上传的所有图片,包括用途和审核状态。只有处于 APPROVED 状态的图片和文案才会展示给用户;沙盒环境会立即批准上传内容。Retention Messaging API 的访问权限由 Apple 按开发者账号授予;未开通时这些端点会返回不带错误体的 404。

app_store_server.get_retention_image_list

Delete Retention Image

删除一张已上传的挽留图片。若仍有文案引用该图片,Apple 会以 403 拒绝,请先删除文案;图片不存在时返回 404。Retention Messaging API 的访问权限由 Apple 按开发者账号授予;未开通时这些端点会返回不带错误体的 404。

app_store_server.delete_retention_image

Upload Retention Message

上传一条挽留信息的文案:标题、正文,可选一张全尺寸图片以及带图标的要点列表。文案上传后处于 PENDING 状态,需经 Apple 审核;可用 get_retention_message_list 查看状态。计划用作换档方案或促销优惠信息的文案不要带 image 和 bulletPoints。每个 App 最多保存 2000 条文案,同一个标识符只能上传一次。只有处于 APPROVED 状态的图片和文案才会展示给用户;沙盒环境会立即批准上传内容。Retention Messaging API 的访问权限由 Apple 按开发者账号授予;未开通时这些端点会返回不带错误体的 404。

app_store_server.upload_retention_message

Get Retention Message List

列出本连接对应 App 和环境下为挽留信息上传的所有文案及其审核状态。带图片的文案还要求图片处于 APPROVED 状态,可用 get_retention_image_list 查看。Retention Messaging API 的访问权限由 Apple 按开发者账号授予;未开通时这些端点会返回不带错误体的 404。

app_store_server.get_retention_message_list

Delete Retention Message

删除一条已上传的挽留文案。文案不存在时返回 404。请先让你的 Get Retention Message 端点不再返回该标识符,之后再用 delete_retention_image 删除它用到的图片。Retention Messaging API 的访问权限由 Apple 按开发者账号授予;未开通时这些端点会返回不带错误体的 404。

app_store_server.delete_retention_message

Configure Default Retention Message

设置 App Store 为某个订阅产品在某个 locale 下展示的默认挽留信息,并替换之前配置的默认信息。只有纯文本或带图片的文本类文案可以作为默认信息,且文案及其图片都必须处于 APPROVED 状态。产品在某个 locale 下没有默认信息时,该 locale 不会展示任何挽留信息;默认信息同时也是你的实时端点失败时的兜底。Retention Messaging API 的访问权限由 Apple 按开发者账号授予;未开通时这些端点会返回不带错误体的 404。

app_store_server.configure_default_retention_message

Get Default Retention Message

读取某个订阅产品在某个 locale 下配置为默认挽留信息的文案。未配置默认信息时 messageIdentifier 为 null。Retention Messaging API 的访问权限由 Apple 按开发者账号授予;未开通时这些端点会返回不带错误体的 404。

app_store_server.get_default_retention_message

Delete Default Retention Message

移除某个订阅产品在某个 locale 下的默认挽留信息,之后 App Store 在该处不再展示挽留信息。即使原本没有配置默认信息也会成功。Retention Messaging API 的访问权限由 Apple 按开发者账号授予;未开通时这些端点会返回不带错误体的 404。

app_store_server.delete_default_retention_message

Configure Retention Realtime Url

为本连接所在环境注册你的 Get Retention Message 端点 URL,并替换之前注册的 URL。设置后,每当订阅者进入取消流程,App Store 都会调用该端点并展示你选择的信息。生产环境的 URL 只有在你的端点通过沙盒性能测试后才会被接受 (否则 Apple 返回 403)。Retention Messaging API 的访问权限由 Apple 按开发者账号授予;未开通时这些端点会返回不带错误体的 404。

app_store_server.configure_retention_realtime_url

Get Retention Realtime Url

读取本连接所在环境注册的 Get Retention Message 端点 URL。未注册时 realtimeUrl 为 null。Retention Messaging API 的访问权限由 Apple 按开发者账号授予;未开通时这些端点会返回不带错误体的 404。

app_store_server.get_retention_realtime_url

Delete Retention Realtime Url

注销本连接所在环境的 Get Retention Message 端点 URL。之后在该环境中 App Store 只展示默认信息,直到重新注册 URL。Retention Messaging API 的访问权限由 Apple 按开发者账号授予;未开通时这些端点会返回不带错误体的 404。

app_store_server.delete_retention_realtime_url

Initiate Retention Performance Test

启动 Apple 对沙盒中已注册的 Get Retention Message 端点的性能测试,以一个有效的沙盒订阅作为样本购买。只有通过该测试,configure_retention_realtime_url 才会接受生产环境的 URL。返回请求标识符和测试参数;测试会持续返回的 totalDuration 时长。仅在 environment 为 sandbox 的连接上可用;Apple 只在沙盒主机上提供性能测试端点。Retention Messaging API 的访问权限由 Apple 按开发者账号授予;未开通时这些端点会返回不带错误体的 404。

app_store_server.initiate_retention_performance_test

Get Retention Performance Test Results

读取由 initiate_retention_performance_test 启动的沙盒性能测试结果:测试进行中为 PENDING,之后为 PASS 或 FAIL,并附带测得的响应时间、成功率和失败计数。仅在 environment 为 sandbox 的连接上可用;Apple 只在沙盒主机上提供性能测试端点。Retention Messaging API 的访问权限由 Apple 按开发者账号授予;未开通时这些端点会返回不带错误体的 404。

app_store_server.get_retention_performance_test_results

常见问题

为什么需要选择沙盒或生产环境?

交易属于一个环境,沙盒和 TestFlight 购买与生产购买需要使用各自对应的连接。

客户摘要需要什么标识?

提供客户在应用中的交易标识。历史和订阅状态操作支持交易、原始交易或应用交易标识。

客服摘要会修改订阅吗?

不会。读取历史和状态不会延长续订日期,也不会提交消费信息,它们是单独操作。

连接 App Store Server API

关于 App Store Server API ↗