请求App Store Connect API详细订阅报告时报错:无效供应商编号
解决App Store Connect API订阅详细报告的“Invalid vendor number”错误
问题描述
调用App Store Connect API获取每日详细订阅报告时,请求始终返回错误:
Invalid vendor number specified. Try again.
请求代码如下:
("https://api.appstoreconnect.apple.com/v1/salesReports" + "?filter[frequency]=DAILY" + "&filter[reportDate]=" + entry.Key + "&filter[reportType]=SUBSCRIBER" + "&filter[reportSubType]=DETAILED" + "&filter[vendorNumber]=" + vendorNumber);
但使用相同的vendorNumber调用每日销售汇总报告时可正常返回数据,请求代码:
("https://api.appstoreconnect.apple.com/v1/salesReports" + "?filter[frequency]=DAILY" + "&filter[reportDate]=" + entry.Key + "&filter[reportSubType]=SUMMARY" + "&filter[reportType]=SALES" + "&filter[vendorNumber]=+ vendorNumber");
已核对官方文档确认参数组合合法,且使用管理员账号的供应商编号,仍无法定位问题。
可能的解决方案
检查供应商编号的订阅报告权限
供应商编号可能仅被授权访问销售报告,未开通订阅报告权限。登录App Store Connect,进入【用户和访问】->【供应商】页面,确认该供应商编号已勾选“订阅报告”相关权限选项。验证请求参数的编码与格式
- 确保
reportDate格式为YYYY-MM-DD,且为已产生订阅数据的历史日期(未来日期或无数据日期可能触发异常,虽错误信息指向供应商编号,但需排除此干扰) - 对
vendorNumber进行URL编码(比如使用encodeURIComponent(vendorNumber))后再拼接请求,避免特殊字符导致参数解析错误,引发“无效编号”的误报。
- 确保
确认API密钥的权限范围
检查调用API所用的密钥(Key ID + Issuer ID)是否包含Read Sales and Reports Data权限。进入App Store Connect【用户和访问】->【密钥】页面,确认密钥状态活跃且权限覆盖销售与订阅报告。排查请求拼接的语法问题
打印最终生成的完整URL,手动在Postman或curl中测试,验证是否因代码拼接错误导致vendorNumber传递异常(比如变量未正确赋值、字符串拼接时的空格/符号干扰)。联系苹果开发者支持
若以上排查均无效,可能是苹果后台的供应商编号关联异常。直接联系苹果开发者支持,提供供应商编号、请求详情(脱敏后)和错误日志,请求后台排查权限或数据关联问题。
内容的提问来源于stack exchange,提问作者eric
相关产品推荐
相关产品推荐

