2017-07-11 5 views
0

SKUによってMagento 2の在庫をAPI経由で別のサイトに更新しようとしています。Magento 2の在庫をSKU別サイトのAPI経由で1つのサイトからAPI

私のマシン(localhost)で動作しますが、サーバ上で動作していません。

なぜ、私のコードを見てください。ここで

は私のPHPコードです:

public function setStock($sku = '',$stock = 0){ 
    $_catalogProductURL = 'https://www.atomicgolf.shop/index.php/rest/V1/integration/admin/token/'; 
    $adminUrl = self::$_catalogProductURL; 
    $ch = curl_init(); 
    $data = array("username" => "admin5", "password" => "admin55555"); 

    $data_string = json_encode($data); 
    $ch = curl_init($adminUrl); 
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, array(
      'Content-Type: application/json', 
      'Content-Length: ' . strlen($data_string)) 
    ); 
    $token = curl_exec($ch); 
    $token = json_decode($token); 

    //Use above token into header 
    $headers = array("Authorization: Bearer $token","Content-Type: application/json"); 

    $skus = array(
     $sku => $stock 
    ); 

    foreach ($skus as $_sku => $_stock) { 
     //$requestUrl='https://www.atomicgolf.shop/index.php/rest/V1/products/' . $_sku . '/stockItems/1'; 
     $requestUrl='https://www.atomicgolf.shop/index.php/rest/V1/products/' . $_sku . '/stockItems/1'; 

     $sampleProductData = array(
      "qty" => $_stock, 
      "is_in_stock" => ($_stock > 0 ? true : false) 
     ); 
     $productData = json_encode(array('stockItem' => $sampleProductData)); 

     $ch = curl_init(); 
     curl_setopt($ch, CURLOPT_URL, $requestUrl); 
     curl_setopt($ch, CURLOPT_POSTFIELDS, $productData); 
     curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "PUT"); 
     curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 
     curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
     curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
     $response = curl_exec($ch); 
     curl_close($ch); 
     var_dump($response); 

     unset($productData); 
     unset($sampleProductData); 
    } 
} 
+0

magento 2.1.7でlocalhostで動作しますが、ホスティングでmagento 2.1.5では動作しません。そのデータベースの在庫(qty)を更新することができます。あるサイトから別のサイトを更新するために使用します。 –

答えて

0

このコードは、ローカルホストとホスティングの両方で動作することができます。問題がある場合は、magento htaccessから原因がある可能性があります。

+0

最初のルートディレクトリで.htaccessを確認してください。 –

関連する問題