在Amazon MWS中,不同的Feed Submission请求可能会返回相同的submission ID,这可能会导致一些问题,例如无法识别特定的提交或跟踪提交的状态。为了解决这个问题,可以使用以下方法:
以下是一个示例代码片段,展示如何在Amazon MWS的请求中添加自定义标识符:
import time
import hashlib
# Generate a unique identifier
unique_id = hashlib.sha1(str(time.time()).encode('utf-8')).hexdigest()
# Create a feed submission request with the unique identifier
feed_submission_request = {
'FeedType': 'product',
'FeedContent': '... ',
'Merchant': 'YOUR_MERCHANT_ID',
'MarketplaceId': 'YOUR_MARKETPLACE_ID',
'PurgeAndReplace': False,
'UniqueIdentifier': unique_id
}
# Submit the feed and get the submission ID
response = mws_client.submit_feed(**feed_submission_request)
submission_id = response['SubmitFeedResponse']['SubmitFeedResult']['FeedSubmissionInfo']['FeedSubmissionId']
在上面的示例中,我们使用了时间戳和哈希函数来生成唯一的标识符。
以下是一个示例代码片段,展示如何通过其他属性来跟踪提交的状态:
# Get the list of feed submission IDs
response = mws_client.get_feed_submission_list()
feed_submissions = response['GetFeedSubmissionListResponse']['GetFeedSubmissionListResult']['FeedSubmissionInfo']
# Find the latest submission with the desired properties
desired_feed_type = 'product'
latest_submission = None
for submission in feed_submissions:
if submission['FeedType'] == desired_feed_type:
if latest_submission is None or submission['SubmittedDate'] > latest_submission['SubmittedDate']:
latest_submission = submission
# Use the latest submission ID
if latest_submission:
submission_id = latest_submission['FeedSubmissionId']
# Do something with the submission ID
在上面的示例中,我们获取了所有的提交,并根据所需的属性(例如FeedType)找到了最新的提交。
通过以上方法,您可以在Amazon MWS中解决返回的feed submission IDs不唯一的问题,并确保能够正确地跟踪和处理提交。