是否可以设置requestReport的日期范围?
POST /v2/sp/{recordType}/report
{
"segment": {segment},
"reportDate": {reportDate}, <-- here
"metrics": {metrics}
}
Run Code Online (Sandbox Code Playgroud)
还是我需要提出30个请求才能获得一个月的结果?也许快照可以帮助?
其他人在本周的Amazon Advertising报表上遇到麻烦还是我做错了什么?
上周这工作得很好,然后突然我再也找不到报告了。我没有请求报告并且最多在10秒后可用,而是得到了以下响应:
{'reportId': 'snip', 'status': 'IN_PROGRESS', 'statusDetails': 'Report generation is in progress.'}
这与众不同。然后几分钟后,我开始得到这个:
{'reportId': 'snip', 'status': 'IN_PROGRESS', 'statusDetails': 'Report generation job has been submitted.'}
然后最终:
{'code': 'SERVER_IS_BUSY', 'details': 'Server is busy. Try again later.', 'requestId': 'snip'}
身份验证似乎还不错,我想如果不这样做,我将无法请求报告。而且我认为,如果我受到限制,它会告诉我。仅供参考,这是发生在美国和CA商店。
顺便说一句:由于广告API的名称是产品广告API的子集,因此Google广告API很难被Google使用,这是完全不同的。希望亚马逊考虑到他们多久更改一次事物名称,因此也决定重命名该事物。
编辑:只有赞助商产品报告存在此问题。赞助品牌似乎还可以。
我\xe2\x80\x99是一家公司的开发人员,我们多年来一直使用亚马逊出色的产品广告 API (PA-API) 来获取图书信息。我们\xe2\x80\x99当前使用Java SDK和API v5。
\n问题
\n我们为客户提供与我们附属公司的直接链接,以获取不同亚马逊商店上的相关硬拷贝或电子书。为此,我们创建一个以 ISBN(例如 9780399562396)为关键字且没有特定搜索索引的SearchItems 文档请求。过去,我们收到的回复包含两个商品,因此有两个 ASIN,一个用于硬拷贝,一个用于电子书(可通过 itemInfo\xe2\x80\x99s 产品组进行区分)。然而,一段时间以来,我们不得不认识到响应通常只包含一项,即硬拷贝产品。
我已经使用很棒的Scratchpad尝试了不同的方法。
\n问题
\n有趣的是,当我明确包含搜索索引(更多信息请参见此处) \xe2\x80\x9cBooks\xe2\x80\x9d 或 \xe2\x80\x9cKindleStore\xe2\x80\x9d 时,API 正在响应预期的项目(对于带有书籍的“书籍”和对于带有 Kindle 的“KindleStore”)。我们通过查看ItemInfo.Classifications(更多信息在这里)来做到这一点但是,如果我在索引 \xe2\x80\x9cAll\xe2\x80\x9d 或 don\xe2\x80\x99t 指定它时搜索,它只返回一项(通常是硬拷贝)。在我看来这很奇怪\xe2\x80\xa6 API/搜索索引是否应该像这样表现?
此外,我无法弄清楚如何在同一请求中搜索索引,在我看来,这根本不受支持,但我希望至少会返回两个项目\xe2\x80\xa6
\n因此,我想问您是否有人可以解释一下,我们可以通过一个请求检索同一 ISBN 的两个 ASIN(kindle + 硬拷贝书)。当然,可以为每个产品组创建两个单独的请求,但是由于 API 费率与发货商品收入相关,因此我们希望避免不必要的 API 请求。
\n使用和不使用搜索索引的显式用法的一些示例
\n在下面的示例中,我通过执行 SearchItem 请求来查找 ISBN 9780262043649 的书籍的硬拷贝或 kindle。
\na) 具有给定搜索索引的硬拷贝
\n有效载荷
\n{\n "Keywords": "9780262043649",\n …Run Code Online (Sandbox Code Playgroud) 对 API 端点的请求:
POST https://advertising-api-eu.amazon.com/v2/asins/report
官方文档:https :
//advertising.amazon.com/API/docs/en-us/reference/sponsed-products/2/reports
标题:
Authorization: Bearer Atza|xxxxxxxxxxxxxxxxxxxxx
Content-Type: application/json
Amazon-Advertising-API-ClientId: xxxxxxxxxxxxxxxxxxxxxxxxxx
Amazon-Advertising-API-SCOPE: xxxxxxxxxxxxxxxxxxxxxxx
Run Code Online (Sandbox Code Playgroud)
要求:
{
"segment": "query",
"reportDate":"20200201",
"metrics": "campaignName,campaignId,adGroupName,adGroupId,keywordId,keywordText,asin,otherAsin,currency,matchType,attributedUnitsOrdered30d,attributedUnitsOrdered30dOtherSKU,attributedSales30dOtherSKU"
}
Run Code Online (Sandbox Code Playgroud)
回复:
{
"code": "400",
"details": "Missing campaign type",
"requestId": "7Q8PMWM2618KAS0VEG87"
}
Run Code Online (Sandbox Code Playgroud)
题:
我认为错误消息具有误导性(因为我检查了两次文档并且因为我以前使用 API 的经验)。但真正的错误是什么?我如何获得 ASIN 报告?
我正在向亚马逊广告 API 请求一份赞助产品报告。当我发送 POST 时,我收到了 reportID。我输入 reportID 作为 GET 调用的路径的一部分来检索文档。我观察到类型 20 的响应,但是响应的内容是二进制代码(我认为)。
文档表明我应该收到 JSON 响应,但这不是我返回的内容。如何以适当的格式返回文档?
我附上了一张图片以供参考。
我正在沙箱环境中工作,并尝试根据https://advertising.amazon.com/API/docs/v2/reference/reports下载报告 问题是下载的报告是空的。里面不包含任何数据。我们如何从亚马逊广告API下载报告?
我按照描述的步骤操作:https://gist.github.com/dbrent-amazon/ca396a63c1670ee0ec83aad26b0ce55b