2016-12-09 5 views
2

может кто-нибудь, пожалуйста, помогите мне избавиться от этого сообщения - Один пункта продукции не имеет идентификатора или номер здесь мои коды -Magento 1,9 - SOAP V1 - Один элемента продукции не имеет идентификатора или номер

$proxy = new SoapClient('http://www.testdomain.com/api/soap/?wsdl'); 
$sessionId = $proxy->login('myapi', '[email protected]'); 

//$quoteId = $proxy->call($sessionId, 'cart.create', array('default')); 


$arrProducts = array(
    array(
     "product_id" => 12, 
     "qty" => 1, 
     "options" => array(   
      "267" => 653, 
      "268" => array('date' => '12/8/2016'), 
     ) 
    ), 
    array(
     "sku" => 20707, 
     "quantity" => 4, 
     "store_id" => 1 
    ) 
); 
try { 
     $resultCartProductAdd = $proxy->call(
      $sessionId, 
      "cart_product.add", 
      array(
       991, 
       array($arrProducts) 
      ) 
     ); 
} catch (SoapFault $e) { 
    $message = $e->getMessage(); 
    print_r($message); 
} 

Я пробовал все приведенные здесь примеры - http://devdocs.magento.com/guides/m1x/api/soap/checkout/cartProduct/cart_product.add.html, но не смог добиться успеха, любая помощь была бы действительно оценена, спасибо.

+0

Возможно, идентификатор должен быть указан во втором массиве. –

+0

Я пробовал, но не работал –

ответ

4

Наконец я решил как -

$proxy = new SoapClient('http://www.testdomain.com/api/soap/?wsdl'); 
$sessionId = $proxy->login('apitest', '[email protected]'); 

//$quoteId = $proxy->call($sessionId, 'cart.create', array('default')); 


$arrProducts = array(
    array(
     "product_id" => 12, 
     "quantity" => 1, 
     "options" => array(   
      "267" => 653, 
      "268" => array('date' => '12/8/2016'), 
     ), 
    "sku" => 20707, 
     "quantity" => 4, 
     "store_id" => 1 
    ) 
); 
try { 
     $resultCartProductAdd = $proxy->call(
      $sessionId, 
      "cart_product.add", 
      array(
       985, 
       $arrProducts 
      ) 
     ); 
    print_r($resultCartProductAdd); 
} catch (SoapFault $e) { 
    $message = $e->getMessage(); 
    print_r($message); 
} 

Я обновил $ arrProducts массив и решить мою проблему. Надеюсь, это поможет другим, спасибо.