Good Day,在这个场景中需要帮助。我们有一个客户有一个Magento版本1.9的系统,我无法访问。他们要求我们创建一个移动应用程序,我们使用PHP Laravel 5.1作为代理rest api来调用Magento的SOAP api V2。其中一项服务是将产品添加到购物车中。我用过这个参考http://www.magentocommerce.com/api/soap/checkout/cartProduct/cart_product.add.html但不幸的是,当我呼叫服务时,我收到了这个错误
"One item of products do not have identifier or sku"
以下是php代码的片段:
$data = array_add($data, 'product_id', $request->json('product_id'));
$data = array_add($data, 'sku', $request->json('sku'));
$data = array_add($data, 'qty', $request->json('qty'));
$data = array_add($data, 'options', $request->json('options'));
$data = array_add($data, 'bundleOption', $request->json('bundleOption'));
$data = array_add($data, 'bundleOptionQty', $request->json('bundleOptionQty'));
$data = array_add($data, 'links', $request->json('links'));
try {
$result = $client->shoppingCartProductAdd($sessionId,$cartId,$data);
if ($result) {
return $this->respond([
'message' => 'Product Successfully added to Cart.'
]);
}
} catch (SoapFault $e) {
$message = $e->getMessage();
return $this->respondInternalError($message);
}
这是Json请求
{"product_id":"13","sku":"Warm-Welcome-Coat","qty":"5","options":"","bundleOption":"","bundleOptionQty":"","links":""}
当我使用api调用产品列表时,我确信该产品是存在的。我尝试过这个解决方案->Magento SOAP API v2 shoppingCartProductAdd错误"一项产品没有标识符或sku",但它对我无效。
我刚刚解决了这个问题。我的数据数组的格式似乎不正确,因为Magento的样本表明:
$result = $proxy->shoppingCartProductAdd($sessionId, 10, array(array(
'product_id' => '4',
'sku' => 'simple_product',
'qty' => '5',
'options' => null,
'bundle_option' => null,
'bundle_option_qty' => null,
'links' => null
)));
而我的示例中的$data只是一个数组。