如何通过App Store Connect API获取每小时销量/营收数据
如何通过App Store Connect API获取每小时销量/营收数据
嘿,我来帮你梳理下怎么用App Store Connect API程序化拿到每小时的销量和营收数据~
首先得搞定API访问的前置准备:
- 先在App Store Connect里创建一个API密钥,一定要确保这个密钥关联的用户角色有销售与趋势数据访问权限,不然连API的权限都拿不到哦。
- 接下来要生成JWT(JSON Web Token)做身份认证,这是App Store Connect API唯一的鉴权方式。JWT得包含三个部分:头部(指定加密算法,一般用ES256)、载荷(要填你的密钥ID、Issuer ID,还有过期时间,最长不能超过20分钟),最后用你生成的私有密钥对整个JWT签名。
然后就是核心的API请求环节了:
你要调用的是Sales and Trends的销售报告API,用GET方法发起请求,请求头里必须带上Authorization: Bearer 你的JWT令牌。
请求时要指定几个关键参数:
- 报告类型选
SALES - 维度(frequency)设为
HOUR,这样就能拿到每小时粒度的数据 - 还要指定目标应用ID、查询的时间范围(比如具体某一天),以及你需要的指标,比如
units(销量)、proceeds(营收)这些。
给你举个curl请求的示例(你可以根据自己的需求调整参数):
curl -H "Authorization: Bearer 你的JWT令牌" \ "https://api.appstoreconnect.apple.com/v1/salesReports?filter[reportType]=SALES&filter[frequency]=HOUR&filter[adamId]=你的应用ID&filter[reportDate]=2024-05-20&filter[metric]=units,proceeds"
API返回的是CSV格式的报告内容,每一行对应一个小时的销售数据,里面包含了时间、地区、销量、营收这些你需要的信息,你可以用编程语言的CSV解析库来提取和处理这些数据。
最后提醒你几个小细节:
- 小时维度的销售数据不是实时的,一般有3-6小时的延迟,别刚过整点就急着拉数据哦;
- 如果请求返回权限错误,回去检查下API密钥对应的角色权限是不是没开对;
- JWT的有效期最多20分钟,长期用的话建议写个小脚本自动生成有效的JWT。
备注:内容来源于stack exchange,提问作者Khashayar




