0

API を使用して、Sears マーケットプレイスの在庫を更新したいと考えています。

"在庫管理: この API 呼び出しは、PUT メソッドを使用してアイテムの在庫レベルを管理します。エラーを回避するために、在庫の更新は、正常に処理されたアイテムに対してのみ行う必要があります。注: 在庫は自動減分されないため、注文を受けて処理する際に在庫を更新します。」

PUT URL:https://seller.marketplace.sears.com/SellerPortal/api/inventory/fbm-lmp/v6?email={emailaddress}&password={password}

XSD: https://seller.marketplace.sears.com/SellerPortal/s/schema/rest/inventory/import/v6/store-inventory.xsd?view=markup

サンプル XML: https://seller.marketplace.sears.com/SellerPortal/s/schema/samples/rest/inventory/import/v6/store-inventory.xml?view=markup

API ドキュメント:
http://searsmarketplace.force.com/articles/FAQ/XML-How-do-I-update-inventory?retURL=%2Fapex%2FknowledgeProduct%3Fc%3DContent%26k%3D&popup=false

次のスクリプトを作成しましたが、正しく動作しません:

$xml = '<?xml version="1.0" encoding="UTF-8"?>
    <store-inventory
        xmlns="http://seller.marketplace.sears.com/catalog/v2"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://seller.marketplace.sears.com/SellerPortal/s/schema/rest/inventory/import/v2/store-inventory.xsd">
        <item item-id="10">
            <locations>
                <location location-id="21">
                    <quantity>20</quantity>
                    <pick-up-now-eligible>false</pick-up-now-eligible>
                </location>
            </locations>
        </item>
    </store-inventory>';

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_URL, "https://seller.marketplace.sears.com/SellerPortal/api/inventory/fbm-lmp/v6?email={email}&password={pass}"); 
curl_setopt($ch, CURLOPT_PORT, 443);
curl_setopt($ch, CURLOPT_PUT, 1); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_POSTFIELDS,array($xml));
$http_result = curl_exec($ch);
if($http_result){
    echo $http_result;
}else{
    echo curl_error($ch);
}

curl_close($ch); 

curl_error:

Seller.marketplace.sears.com:443 への接続で不明な SSL プロトコル エラーが発生しました

どこが間違っていますか?

4

1 に答える 1

-2

あなたはこれを試すことができます:

curl_setopt($ch, CURLOPT_FAILONERROR,1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
curl_close($ch);
于 2013-03-12T09:47:06.723 に答える