2016-09-27 144 views
0

儘管我在請求標題(967)中設置了Compavility版本,但在進行調用時(GeteBayDetails在這種情況下),響應版本高於我需要並且需要的版本(979)。這些適用於我目前正在開發的應用程序,甚至API測試工具。有什麼我失蹤了嗎?或者響應中的版本標籤與可兼容性級別無關?Ebay API版本覆蓋?

部首:

X-EBAY-API-SITEID:212 
X-EBAY-API-COMPATIBILITY-LEVEL:967 
X-EBAY-API-CALL-NAME:GeteBayDetails 

身體:

<?xml version="1.0" encoding="utf-8"?> 
    <GeteBayDetailsRequest xmlns="urn:ebay:apis:eBLBaseComponents"> 
    <RequesterCredentials> 
     <eBayAuthToken>...</eBayAuthToken> 
    </RequesterCredentials> 
    </GeteBayDetailsRequest> 

而響應:

<?xml version="1.0" encoding="UTF-8"?> 
<GeteBayDetailsResponse 
    xmlns="urn:ebay:apis:eBLBaseComponents"> 
    <Timestamp>2016-09-27T11:21:41.341Z</Timestamp> 
    <Ack>Failure</Ack> 
    <Errors> 
    <ShortMessage>Nieznany błąd.</ShortMessage> 
    <LongMessage>Nieznany błąd.</LongMessage> 
    <ErrorCode>17460</ErrorCode> 
    <SeverityCode>Error</SeverityCode> 
    <ErrorClassification>RequestError</ErrorClassification> 
    </Errors> 
    <Version>979</Version> 
    <Build>E979_INTL_API_18061441_R1</Build> 
</GeteBayDetailsResponse> 

PS。據我所知,由於新版本的API,請求失敗。之前就像魅力一樣工作。這就是爲什麼我想堅持967.

回答

0

你所看到的是正常的行爲,因爲響應將始終包含最新的API架構,可以爲您的請求提供服務。對於給定的特定請求,我遇到很多調用,其中沒有適用的執行請求的模式和執行模式之間的差異。此外,返回的「可以爲API請求提供服務的最新模式版本」行爲是,您可以如何確定是否可以安全地提升兼容級別,因爲支持定期下降。

當然,當API的發佈說明中響應的模式低於最新的模式時,您知道您處於某種情況,您必須更改代碼以反映已棄用或已更改的內容在可以爲您的特定請求提供服務的最後一個模式的支持結束之前。

這個eBay DTS文章提到這個Information in the API Response 以及通過eBay API模式版本化過程。

此外,請務必在XML POST請求使用標記指定的請求本身的API架構的版本,而不僅僅是HTTP頭與爲GeteBayDetails API文檔的例子調用代碼:

<?xml version="1.0" encoding="utf-8"?> 
<GeteBayDetailsRequest xmlns="urn:ebay:apis:eBLBaseComponents"> 
    <!-- Call-specific Input Fields --> 
    <DetailName> DetailNameCodeType </DetailName> 
    <!-- ... more DetailName values allowed here ... --> 
    <!-- Standard Input Fields --> 
    <ErrorLanguage> string </ErrorLanguage> 
    <MessageID> string </MessageID> 
    <Version> string </Version> 
    <WarningLevel> WarningLevelCodeType </WarningLevel> 
</GeteBayDetailsRequest> 

希望這會有幫助