Amazon MWS 上傳數據 (三) 提交請求


前面介紹了設置服務和構造請求,現在介紹提交請求。

上傳數據,查詢上傳操作的工作狀態,和處理上傳操作返回的報告操作使用的Amazon API 分別為:SubmitFeed(),FeedSubmissionListRequest(),GetFeedSubmissionResult().

  • SubmitFeed()-- 提交請求,代碼示例:
 1  #region AmazonSubmitFeed
 2         /// <summary>
 3         /// 提交請求
 4         /// </summary>
 5         public void AmazonSubmitFeed(string fileName, string feedType)
 6         {
 7             MarketplaceWebServiceClient service = GetService();
 8             SubmitFeedRequest request = GetSubmitFeedRequest(fileName, feedType);
 9             try
10             {
11                 SubmitFeedResponse response = service.SubmitFeed(request);
12             }
13             catch (MarketplaceWebServiceException ex)
14             {
15                 #region Log Error
16 
17                 #endregion 
18             }
19         }
20         #endregion


大家可以看到上面先調用設置服務的方法,隨后通過GetSubmitFeedRequest(fileName, feedType);構造請求,最后是提交請求,返回的response中有我們需要的feedSubmmissionId,我們需要將其保存下來。

  • GetFeedSubmissionList()--查詢上傳操作的工作狀態,代碼示例:
 1  #region FeedSubmissionList
2 /// <summary> 3 /// 提交請求 4 /// </summary> 5 public void FeedSubmissionList(string feedSubmmissionId) 6 { 7 MarketplaceWebServiceClient service = GetService(); 8 GetFeedSubmissionListRequest request = FeedSubmissionListRequest(feedSubmmissionId); 9 10 try 11 { 12 GetFeedSubmissionListResponse response = service.GetFeedSubmissionList(request); 13 } 14 catch (MarketplaceWebServiceException ex) 15 { 16 #region Log Error 17 18 #endregion 19 } 20 } 21 #endregion


上面的示例中我們通過調用GetFeedSubmissionList接口得到處理結果,處理結果有很多種,經常遇到的有_SUBMITTED_,_IN_PROGRESS_,_DONE_

其中_SUBMITTED_表示已收到請求,但尚未開始處理。

_IN_PROGRESS_表示請求正在處理。

_DONE_表示請求已處理。

注意:當結果FeedProcessingStatus==_DONE_時,並不代表我們上傳操作被Amazon 服務器接受了,僅僅代表此次操作已經完成,不代表此次操作成功。

FeedProcessingStatus 枚舉可以在官網查到 http://docs.developer.amazonservices.com/zh_CN/feeds/Feeds_FeedProcessingStatus.html#Feeds_FeedProcessingStatus

  • GetFeedSubmissionResult()--得到處理報告,示例代碼:

 

 1  #region FeedSubmissionResult
 2         /// <summary>
 3         /// 提交請求
 4         /// </summary>
 5         public void FeedSubmissionResult(string feedSubmmissionId)
 6         {
 7             MarketplaceWebServiceClient service = GetService();
 8             GetFeedSubmissionResultRequest request = FeedSubmissionResultRequest(feedSubmmissionId);
 9 
10             try
11             {
12                 GetFeedSubmissionResultResponse response = service.GetFeedSubmissionResult(request);
13             }
14             catch (MarketplaceWebServiceException ex)
15             {
16                 #region Log Error
17 
18                 #endregion
19             }
20         }
21         #endregion

上面的代碼中,調用GetFeedSubmissionResult接口,將處理報告以xml(上一節構造請求的時候,已經設置)的形式保存在本地。

處理報告會有比較仔細的提示,告訴我們出錯的什么地方,只要按此修改即可。

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM