[英]Array does not work in GetCompetitivePricingForASINSample Amazon MWS PHP
[英]Amazon MWS (PHP) - How does the request work
我試圖在PHP中為活動列表提取報告。
我已經取得了進步,但是,我無法理解它是如何工作的,並且沒有任何東西可以解釋它。
例如,在PHP庫提供的示例中,我看到了很多XML文件。 當您運行RequestReportResponse
示例時,是否會生成XML文件,或者XML文件是否根據值和函數告訴RequestReportResponse
要執行的操作?
我問,因為,使用MWS Scratchpad - 我選擇所有必要的字段,提交它然后刷新我的賣家中心部分的亞馬遜報告頁面,它顯示一個待處理的報告。
我只是詢問XML內容如何影響報告或報告如何影響XML。
您的問題的答案分為兩部分。
第1部分 - 調用Amazon API
大多數MWS請求不需要將任何文件(無論是純文本還是XML)發送到亞馬遜。 例如,發送RequestReport
所需的所有參數都可以(並且必須)作為常規參數發送。 如果你提交了一個文件,我不確定亞馬遜會做什么,因為我從未嘗試過。 但話又說回來......你為什么這樣?
其中一個需要發送文件的調用是SubmitFeed
調用,其中該文件是要提交的實際提要。 如果亞馬遜希望它是純文本或XML,則取決於您提交的Feed類型。
第2部分 - 處理亞馬遜的API響應
當您從Amazon的API獲取信息時,它通常采用XML格式(有一些調用可能會返回純文本)。 您需要解碼此數據才能獲取信息。
為了使它更清晰,我將概述一個典型的過程:
從亞馬遜獲取所有商家信息的過程:
RequestReport
調用。 沒有附加XML 解碼您正在獲取的XML(它是RequestReportResponse
)。 如果一切順利,您將獲得RequestReportId
作為響應的一部分,亞馬遜將開始處理您的請求。
亞馬遜可能需要幾分鍾才能真正創建報告,如果是非常復雜或大的請求,或者在高活動時間內,實際上可能需要一個小時或更長時間。 所以我們需要找出我們提出的請求何時實際完成。
使用GetReportRequestList
調用Poke Amazon API,使用ReportRequestIdList.Id.1={YourRequestIdHere}
詢問您的請求的狀態。 這也不需要XML附件。
解碼您正在獲取的XML。 (它是一個GetReportRequestListResponse
)
如果其ReportProcessingStatus
不是_DONE_
,請等待至少45秒,然后從步驟3開始重復。如果報告實際完成,您將在響應中看到有效的GeneratedReportId
。 如果缺少,則需要執行額外的GetReportList
調用以查找其ID。
使用ReportId={YourGeneratedReportIdHere}
調用GetReport
以最終獲取您的報告
解碼你得到的任何東西。 根據您請求的報告類型,響應可能是XML或純文本。
在亞馬遜商城網絡服務報告API部分參考(版本2009-01-01)中詳細解釋了此過程(並使用漂亮的流程圖)
最后回答有關從亞馬遜MWS獲取活動列表的問題:三個呼叫都不需要您將XML發送到亞馬遜。 您從亞馬遜收到的數據將采用XML格式(如果您請求純文本報告,則可能是例外步驟6)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.