創建自用源碼庫

您可以創建自己的源碼庫來連接新蛋商城的API 系統。您的代碼須用新蛋商城建議的格式來創建並標記請求,這樣您也可以順利解析XML格式的回覆。您可以通過下列步驟來連接新蛋商城的API 系統:

步驟1- 使用正確的新蛋商城的API URL

步驟2- 在請求URL中指定正確的參數值

步驟3- 指定正確的HTTP請求方式以及可接受的XML/Json內容類別型

步驟4- 在請求中附上正確的API Key 和Secret Key(參考上面的認證例子)

步驟5- 按照規定創建請求內容,然後提交HTTP請求

步驟6- 正確解析回覆

請求格式

新蛋商城API 系統支援通過調用Restful服務操作來處理查詢/更新的請求。查詢請求是簡單的HTTP請求, 分別使用URL或者HTTP主體中帶有查詢參數的GET或者POST方法來實現。而更新請求則是分別使用URL或者HTTP主體中帶有更新參數的PUT或者DELETE方法來實現。

為了防止協力廠商竊取您與新蛋的通訊資訊,新蛋商城API要求使用安全超文字傳輸協定HTTPS。

創建HTTP請求

為了創建新蛋商城查詢/更新的API 請求,您首先需要創建一個格式正確的請求URL。您可以參考您想要使用的API 服務的URL範本(請參照API參考部分)。

下表列出的是在您HTTP請求中可能會使用的值。

名稱 是否必填? 描述
Request URL 您正在使用的新蛋商城API服務端點
Request Method API服務所要求的GET/POST或者PUT/DELETE方法
Body Content-type 在請求文件主體中內容為XML/Json格式,預設為XML格式
Response Content-type 回應內容為XML/Json格式,預設為XML格式
Authentication header 格式:Anthorization:{api-key}

經授權的API服務商提供的API key

SecretKey header 格式:Secretkey:{secretkey}

經授權的API服務商提供的金鑰

RAW body 通過請求文件主體傳遞參數。內容格式應該符合API服務的規範

註:API參考部分對於每個API功能都包含了重要內容供您參考

例如:

GET Https://api.newegg.com/marketplace/ordermgmt/orderstatus/orders/{ordernumber}?sellerid={sellerid}
Authorization: 720ddc067f4d115bd544aff46bc75634
SecretKey: 21EC2020-3AEA-1069-A2DD-08002B30309D
Content-Type: application/xml
Accept: application/xml

HTTP方法 – 指定使用的請求方法

認證 – 表明這個服務需要認證才能使用

請求格式 – 在請求主體中請求參數採用的格式

回應格式 – 回應內容所支援的格式

頻率限制 – API請求限制

請求參數

URL參數 – 請求URL中的必填參數

請求參數 – 一些在請求主體中指定的參數。格式必須是XML或者Json;您可以從上面的相關請求資訊裡的“請求格式”中獲取可支援的類型。

註:請確保您的請求URL全都是小寫(除Seller ID)並且不能包含任何空格或者分行符號。

錯誤請求

如果您使用以下類型提交了一個不合理的請求,新蛋商城API會返回一個錯誤請求提示(HTTP 狀態碼:400)

  • 非法請求主體。例如格式不正確的XML,不正確的標記或者是資料類型

示例:XML, Response

<?xml version="1.0" encoding="utf-8"?>
<Errors>
  <Error>
    <Code>CE003</Code>
    <Message>XML parsing error. The 'NeweggAPIRequest1' start tag on line 1 position 2 does not match the end tag of 'NeweggAPIRequest'. Line 1, position 451.</Message>
  </Error>
</Errors>

示例:Json, Response

[
    {
        "Code": "CE003",
        "Message": "XML parsing error. The 'NeweggAPIRequest1' start tag on line 1 position 2 does not match the end tag of 'NeweggAPIRequest'. Line 1, position 451."
    }
]
  • 業務驗證失敗。無效的資料請求或者與業務需求不匹配。有關詳細的錯誤代碼和資訊,請參考每章節後的“請求失敗錯誤資訊”部分。

示例:XML, Response

<?xml version="1.0" encoding="utf-8" ?>
<Errors>
  <Error>
    <Code>SO011</Code>
    <Message>Only unshipped orders can be shipped. The order status is currently Closed</Message>
  </Error>
</Errors>

示例:Json, Response

[
    {
        "Code": "SO011",
        "Message": "Only unshipped orders can be shipped. The order status is currently Closed"
    }
]

為了能在您自己的程式上正確的解析錯誤資訊,請參考“示例代碼”部分的“錯誤請求的異常處理”模組。

代碼示例

請註,這些示例只是示範如何使用新蛋商城API功能和資源。並不包含比如每種程式設計語言所需要的驗證/安全等額外需求。

C#代碼示例

下述代碼示範了如何使用.NET和C#語言對賣家 A006 的新蛋商品 9SIA00600000023 進行庫存數量的查詢。

  • 創建一個類(Class)來對API回覆進行反序列化(De-serialize)

示例:C#,Inventory response entity(庫存回覆)

public class InventoryResult
{
    public string SellerID { get; set; }
    public string ItemNumber { get; set; }
    public int AvailableQuantity { get; set; }
    public string Active { get; set; }
    public string SellerPartNumber { get; set; }
    public string ShipByNewegg { get; set; }
}
  • 獲取有效庫存數量

示例:C#,Get Item Inventory(獲取現有商品庫存)

Console.WriteLine(string.Format("Newegg Marketplace API - Get Inventory request at:{0}", DateTime.Now.ToString()));
Console.WriteLine("");
Console.WriteLine("*********************************************************************");
Console.WriteLine("");
try
{
  InventoryResult inventoryResult = null;

  //Determine the correct Newegg Marketplace API endpoint to use.
  // Please make sure your request URL is all in lower case
  string endpoint = @"https://api.newegg.com/marketplace/contentmgmt/item/inventory?sellerid={0}";
  endpoint = String.Format(endpoint, "A006");

  //Create an HttpWebRequest
  System.Net.HttpWebRequest request =
      System.Net.WebRequest.Create(endpoint) as HttpWebRequest;

  //Remove proxy
  request.Proxy = null;

  //Specify the request method
  request.Method = "POST";

  //Specify the xml/Json request and response content types.
  request.ContentType = "application/xml";
  request.Accept = "application/xml";

  //Attach authorization information
  request.Headers.Add("Authorization", "your API-key here");
  request.Headers.Add("Secretkey", "your secretkey here");

  //Construct the query criteria in the request body
  string requestBody = @"
  <ContentQueryCriteria>
  <Type>1</Type>
  <Value>A006ZX-35833</Value>
  </ContentQueryCriteria>";

  byte[] byteStr = Encoding.UTF8.GetBytes(requestBody);
  request.ContentLength = byteStr.Length;

  using (Stream stream = request.GetRequestStream())
  {
      stream.Write(byteStr, 0, byteStr.Length);
  }

  //Parse the response
  using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
  {
      if (response.StatusCode != HttpStatusCode.OK)
      {
    Console.WriteLine(String.Format("Code:{0}.Error:{1}",
        response.StatusCode.ToString(), response.StatusDescription));

    return;
      }

      using (Stream responseStream = response.GetResponseStream())
      {
    XmlSerializer serializer =
        new XmlSerializer(typeof(InventoryResult));
    inventoryResult =
        serializer.Deserialize(responseStream) as InventoryResult;
      }
  }

  string sellerID = inventoryResult.SellerID;
  string itemNumber = inventoryResult.ItemNumber;
  int availableQuantity = inventoryResult.AvailableQuantity;

  string message = String.Format("SellerID:{0} ItemNumber:{1} Availble Quantity:{2} \r\n Active:{3} SellerPartNumber:{4} ShipByNewegg:{5}",
      inventoryResult.SellerID,
      inventoryResult.ItemNumber,
      inventoryResult.AvailableQuantity,
      inventoryResult.Active,
      inventoryResult.SellerPartNumber,
      inventoryResult.ShipByNewegg);

  Console.WriteLine(message);
}
catch (WebException we)//Error Handling for Bad Request
{
  if (((WebException)we).Status == WebExceptionStatus.ProtocolError)
  {
      WebResponse errResp = ((WebException)we).Response;
      using (Stream respStream = errResp.GetResponseStream())
      {
    StreamReader reader = new StreamReader(respStream);
    Console.WriteLine(String.Format("{0}", reader.ReadToEnd()));
      }
  }
}
catch (Exception ex)//unhandle error
{
  Console.WriteLine(string.Format("exception: at time:{0}", DateTime.Now.ToString()));
  Console.WriteLine(ex.Message + "---->");
  Console.WriteLine(ex.StackTrace.ToString());
}

Console.WriteLine("");
Console.WriteLine("*********************************************************************");
Console.WriteLine("");
Console.WriteLine("Please input any key to exit……");
Console.ReadLine();

錯誤請求的異常處理(狀態碼=400)

try
{
//Your code here
}
catch (WebException we)//Error Handling for Bad Request
{
  if (((WebException)we).Status == WebExceptionStatus.ProtocolError)
  {
      WebResponse errResp = ((WebException)we).Response;
      using (Stream respStream = errResp.GetResponseStream())
      {
    StreamReader reader = new StreamReader(respStream);
    Console.WriteLine(String.Format("{0}", reader.ReadToEnd()));
      }
  }
}

Java示例

下述代碼示範了如何通過Java來檢索新蛋商城API系統中的訂單資訊。

/*
 * To change this template, choose Tools | Templates
 * And open the template in the editor.
 */
package marketplaceapi_java_demo;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.security.cert.X509Certificate;
import java.util.Calendar;
import javax.net.ssl.HostnameVerifier;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.SSLSession;
import javax.net.ssl.TrustManager;
import javax.net.ssl.X509TrustManager;

public class MarketplaceAPI_Java_Demo {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws Exception{
        GetOrderInfo();
    }
    
    private static void GetOrderInfo() throws Exception{
        
        System.out.println("[" + Calendar.getInstance().getTime() + "]Newegg Marketplace API - GetOrderInfo:");
        System.out.println("-----------------------------------");
            
        String requestUrl = "https://api.newegg.com/marketplace/ordermgmt/order/orderinfo?sellerid=A006";
        
        try {
            
            // Create a trust manager that does not validate certificate chains
            TrustManager[] trustAllCerts = new TrustManager[] {new X509TrustManager() {
                    public java.security.cert.X509Certificate[] getAcceptedIssuers() {
                        return null;
                    }
                    public void checkClientTrusted(X509Certificate[] certs, String authType) {
                    }
                    public void checkServerTrusted(X509Certificate[] certs, String authType) {
                    }
                }
            };
                
            // Install the all-trusting trust manager
            SSLContext sc = SSLContext.getInstance("SSL");
            sc.init(null, trustAllCerts, new java.security.SecureRandom());

            HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
            
             // Create all-trusting host name verifier
            HostnameVerifier allHostsValid = new HostnameVerifier() {
                public boolean verify(String hostname, SSLSession session) {
                    return true;
                }
            };
   
            // Install the all-trusting host verifier
            HttpsURLConnection.setDefaultHostnameVerifier(allHostsValid);
                
            URL url = new URL(requestUrl);
            
            HttpsURLConnection httpsConnection = (HttpsURLConnection)url.openConnection();

            //javax.net.ssl. = false;
            //Set accepted format in response message:application/xml|application/json
            httpsConnection.setRequestProperty("Accept", "application/xml");
            //Set the accepted format in request body:application/xml|application/json
            httpsConnection.setRequestProperty("content-type", "application/xml");
            //Set the request method:GET|PUT|POST
            httpsConnection.setRequestMethod("PUT");
            
            //Set authorization key
            httpsConnection.setRequestProperty("Authorization", "720ddc067f4d115bd544aff46bc75634");
            //Set secret-key
            httpsConnection.setRequestProperty("SecretKey", "21EC2020-3AEA-1069-A2DD-08002B30309D");
            
            httpsConnection.setDoInput(true);
            httpsConnection.setDoOutput(true);
            
            String requestStr = "<NeweggAPIRequest>"
                    + "<OperationType>GetOrderInfoRequest</OperationType>"
                    + "<RequestBody>"
                    + "<PageIndex>1</PageIndex>"
                    + "<PageSize>10</PageSize>"
                    + "<RequestCriteria>"
                    + "<OrderNumberList>"
                    + "<OrderNumber>159243598</OrderNumber>"
                    + "<OrderNumber>41473642</OrderNumber>"
                    + "</OrderNumberList>"
                    + "<Status>1</Status>"
                    + "<Type>1</Type>"
                    + "<OrderDateFrom>2011-01-01 09:30:47</OrderDateFrom>"
                    + "<OrderDateTo>2011-12-17 09:30:47</OrderDateTo>"
                    + "<OrderDownloaded>0</OrderDownloaded>"
                    + "</RequestCriteria>"
                    + "</RequestBody>"
                    + "</NeweggAPIRequest>";
            
            byte[] requestBody = requestStr.getBytes();
            
            //Set content-length
            httpsConnection.setRequestProperty("Content-Length", String.valueOf(requestBody.length));
            
            OutputStream outStream = httpsConnection.getOutputStream();
            outStream.write(requestBody);
            outStream.close();
            
            InputStreamReader inputReader = new InputStreamReader(httpsConnection.getInputStream());
            BufferedReader reader = new BufferedReader(inputReader);
            
            String responseBody = "";
            
            while(reader.ready()){
                responseBody += reader.readLine();
            }
            
            reader.close();
            inputReader.close();
            
            System.out.println("[" + Calendar.getInstance().getTime() + "]Response Message:");
            System.out.println("-----------------------------------");
            System.out.println(responseBody);
            
        } catch (MalformedURLException ex) {
            System.out.println("Illegal request URI:" + ex.getMessage());
        }
        catch(Exception e){
            System.out.println("Exception:" + e.getMessage());
            //Error Handling for Bad Request
            InputStreamReader errorReader = new InputStreamReader(httpsConnection.getErrorStream());
            BufferedReader bufferReader = new BufferedReader(errorReader);
            
            String errorMsg = "";
            
            while(bufferReader.ready()){
            	errorMsg += bufferReader.readLine();
            }
            
            bufferReader.close();
            errorReader.close();
            
            System.out.println(errorMsg);
        }
        
    }
}

錯誤請求的異常處理(狀態碼=400)

try
{
//Your code here
}
catch(Exception e){
  System.out.println("Exception:" + e.getMessage());
  //Error Handling for Bad Request
  InputStreamReader errorReader = new InputStreamReader(httpsConnection.getErrorStream());
  BufferedReader bufferReader = new BufferedReader(errorReader);

  String errorMsg = "";

  while(bufferReader.ready()){
    errorMsg += bufferReader.readLine();
  }

  bufferReader.close();
  errorReader.close();

  System.out.println(errorMsg);
}

PHP示例

下述代碼示範了如何在windows作業系統下用PHP curl模組來訪問新蛋商城API系統。

  1. 下載php_curl.dll
  2. 編輯php.ini並申請擴展:Extension=php_curl.dll
  3. 重啟Apache伺服器

示例:PHP,Get order status (獲取訂單狀態)

GET:

<?php
 
// Request Newegg API! REST Web Service using
// HTTP POST with curl. PHP4/PHP5
// Allows retrieval of HTTP status code for error reporting
 
error_reporting(E_ALL);
 
$SellerID = 'A006';
// The POST URL and parameters
// Please make sure your request URL is all in lower case
$request = 'https://api.newegg.com/marketplace/ordermgmt/orderstatus/orders/12345678?sellerid='.$SellerID;
 
$header_array =array('Content-Type:application/xml',
'Accept:application/xml',
'Authorization: your API-key here',
'SecretKey: your secretkey here');

try
{ 
  // Get the curl session object
  $session = curl_init($request);
  
  // Set the POST options.
  curl_setopt($session, CURLOPT_HEADER, 1);
  curl_setopt($session,CURLOPT_HTTPHEADER,$header_array);
  curl_setopt($session, CURLOPT_HEADER, false);
  curl_setopt($session, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($session, CURLOPT_SSL_VERIFYPEER, 0);
  
  // Do the POST and then close the session
  $response = curl_exec($session);
  curl_close($session);
  
  print $response;
}
catch (InvalidArgumentException $e)  
{  
  curl_close($session);  
  throw $e;  
}  
catch (Exception $e)  
{  
  curl_close($session);  
  throw $e;  
}  
?>

示例:PHP,Get item inventory(獲取商品庫存數量)

POST:

<?php
 
// Request Newegg API! REST Web Service using
// HTTP POST with curl. PHP4/PHP5
// Allows retrieval of HTTP status code for error reporting
 
error_reporting(E_ALL);
 
$SellerID = 'A006';
// The POST URL and parameters
// Please make sure your request URL is all in lower case
$request = 'https://api.newegg.com/marketplace/contentmgmt/item/inventory?sellerid='.$SellerID;
 
$body = '<ContentQueryCriteria>
   <Type>0</Type>
   <Value>9SIA08I0492622</Value>
  </ContentQueryCriteria>';
 
$header_array =array('Content-Type:application/xml',
'Accept:application/xml',
'Authorization: your API-key here',
'SecretKey: your secretkey here');

try
{ 
  // Get the curl session object
  $session = curl_init($request);
  $putString = stripslashes($body);
  $putData = tmpfile();
  fwrite($putData, $putString);
  fseek($putData, 0);
   
  // Set the POST options.
  curl_setopt($session, CURLOPT_HEADER, 1);
  curl_setopt($session,CURLOPT_HTTPHEADER,$header_array);
  curl_setopt($session, CURLOPT_POST, true);
  curl_setopt($session, CURLOPT_HEADER, false);
  curl_setopt($session, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($session, CURLOPT_POSTFIELDS, $body);
  curl_setopt($session, CURLOPT_SSL_VERIFYPEER, 0);
  curl_setopt($session, CURLOPT_INFILE, $putData);
  curl_setopt($session, CURLOPT_INFILESIZE, strlen($putString));
   
  // Do the POST and then close the session
  $response = curl_exec($session);
  curl_close($session);

  print $response;
}
catch (InvalidArgumentException $e)  
{  
  curl_close($session);  
  throw $e;  
}  
catch (Exception $e)  
{  
  curl_close($session);  
  throw $e;  
}  
?>

示例:PHP,Update inventory and price(更新庫存和價格資訊)

PUT:

<?php
 
// Request Newegg API! REST Web Service using
// HTTP POST with curl. PHP4/PHP5
// Allows retrieval of HTTP status code for error reporting
 
error_reporting(E_ALL);
 
$SellerID = 'A006';
// The POST URL and parameters
// Please make sure your request URL is all in lower case
$request = 'https://api.newegg.com/marketplace/contentmgmt/item/inventoryandprice?sellerid='.$SellerID;
 
$body = '<ItemInventoryAndPriceInfo>
<Type>1</Type>
<Value>A006testitem201201021459</Value>
<Condition>1</Condition>
<Inventory>200</Inventory>
<MSRP>34.98</MSRP>
<SellingPrice>29.92</SellingPrice>
<EnableFreeShipping>1</EnableFreeShipping>
<Active>0</Active>
</ItemInventoryAndPriceInfo>';
 
$header_array =array('Content-Type:application/xml',
    'Accept:application/xml',
    'Authorization: your API-key here',
    'SecretKey: your secretkey here');

try
{ 
  // Get the curl session object
  $session = curl_init($request);
  $putString = stripslashes($body);
  $putData = tmpfile();
  fwrite($putData, $putString);
  fseek($putData, 0);
   
  // Set the POST options.
  curl_setopt($session, CURLOPT_HEADER, 1);
  curl_setopt($session,CURLOPT_HTTPHEADER,$header_array);
  curl_setopt($session, CURLOPT_PUT, true);
  curl_setopt($session, CURLOPT_HEADER, false);
  curl_setopt($session, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($session, CURLOPT_POSTFIELDS, $body);
  curl_setopt($session, CURLOPT_SSL_VERIFYPEER, 0);
  curl_setopt($session, CURLOPT_INFILE, $putData);
  curl_setopt($session, CURLOPT_INFILESIZE, strlen($putString));
   
  // Do the POST and then close the session
  $response = curl_exec($session);
  curl_close($session);
  
  print $response;
}
catch (InvalidArgumentException $e)  
{  
  curl_close($session);  
  throw $e;  
}  
catch (Exception $e)  
{  
  curl_close($session);  
  throw $e;  
}  
?>

下述代碼示範了怎樣在LINUX系統下用pecl http request擴展來訪問新蛋商城API系統。

[root@server ]# cd /root/ ; wget http://pecl.php.net/get/pecl_http-1.6.5.tgz
[root@server ]# tar -zxvf pecl_http-1.6.5.tgz
[root@server ]# cd pecl_http-1.6.5
[root@server ]# phpize
[root@server ]# ./configure
[root@server ]# make
[root@server ]# make test
[root@server ]# make install
[root@server ]# php -i | grep “Configuration File”

Configuration File (php.ini) Path => /usr/local/lib
Loaded Configuration File => /usr/local/lib/php.ini
  • 在 php.ini文件中開啟擴展
[root@server ]# vi /usr/local/lib/php.ini 

And add extension=http.so
  • 重啟Apache伺服器

示例:PHP,Get Item Inventory獲取商品庫存資訊

<?php
  //request url
  // Please make sure your request URL is all in lower case
$url =
 " https://api.newegg.com/marketplace/contentmgmt/item/inventory?sellerid=A006";
    
  //set the api-key & secret-key
  $header_array = array('Authorization' => '{your API-key here}',
                'Secretkey' => '{your secret-key here}');
                 
  //set the body if necessary
  $body = "<ContentQueryCriteria>
  <Condition>1</Condition>
  <Type>0</Type>
  <Value>9SIA0B992342342</Value>
</ContentQueryCriteria>";
  
  $options = array(headers => $header_array);
                
  //create the httprequest object
  //specfiy the request method:HTTP_METH_GET|HTTP_METH_POST|HTTP_METH_PUT
  $httpRequest_OBJ = new httpRequest($url, HTTP_METH_POST, $options);
  
  //add the content type
  $httpRequest_OBJ->setContentType = 'Content-Type: text/xml';
  //add the raw post data
  //$httpRequest_OBJ->setRawPostData ($body);
  $httpRequest_OBJ->setBody ($body);
  
  try
  {
    //send the http request
    $result = $httpRequest_OBJ->send();
  }catch(HttpException $ex)
  {
    if (isset($ex->innerException)){
        echo $ex->innerException->getMessage();
        exit;
    } else {
        echo $ex;
        exit;
    }
  }
  
  $response_code = $httpRequest_OBJ->getResponseCode(); 
  if($response_code == "200")
  {
    //reqeust success
    echo $response_code;
    echo $httpRequest_OBJ->getResponseBody();
  }
  else
  {
    //failure
    echo $response_code;
    echo $httpRequest_OBJ->getResponseBody();
  }  
?>

錯誤請求的異常處理(狀態碼:400)

// Do the POST and then close the session
$response = curl_exec($session);
curl_close($session);

//The error message will be stored in this variable if it’s a bad request
print $response;

Python示例

下述代碼示範了如何運用Python語言訪問新蛋商城API系統。

示例:Python,Get Item Price (獲取商品價格資訊)

import httplib2
#import pyodbc
import string


all_items_location_id=521799450
# whether to print item data retrieved from database 
print_item_data=True

# items data retrieved from database
items=[]

def _put_call(url, xmlfeed):
    h = httplib2.Http(".cache",disable_ssl_certificate_validation=True)
    resp, content = h.request(url, "POST", body=xmlfeed, headers={'content-type':'application/xml','Authorization': 'your API-key here', 'Secretkey':'your secretkey here' } )
    print "response header from Newegg:", resp
    print "response body from Newegg:", content

        
def get_price():
   
    header = '<?xml version="1.0" encoding="UTF-8"?>'
    xmlfeed=[]
    xmlfeed.append(header)
    xmlfeed.append('<ContentQueryCriteria>')
    xmlfeed.append('<Type>1</Type>')
    xmlfeed.append('<Value>TCR8996</Value>')
    xmlfeed.append('</ContentQueryCriteria>')
    xmlfeed=string.join(xmlfeed,'')
    
    print "Get item price:"
    put_call_url = 'https://api.newegg.com/marketplace/contentmgmt/item/price?sellerid=A006'
    _put_call(put_call_url,xmlfeed)

get_price()

錯誤請求的異常處理(狀態碼:400)

def _put_call(url, xmlfeed):
    h = httplib2.Http(".cache",disable_ssl_certificate_validation=True)
    resp, content = h.request(url, "POST", body=xmlfeed, headers={'content-type':'application/xml','Authorization': 'your API-key here', 'Secretkey':'your secretkey here' } )

    print "response header from Newegg:", resp
   #The error message will be stored in this variable if it’s a bad request
    print "response body from Newegg:", content

更新日期:10/15/2018