$client = new SoapClient($host . '/api/v2_soap/?wsdl');
$session = $client->login($apiUser, $apiKey);
$result = $client->catalogInventoryStockItemMultiUpdate($session, 'sku_id1',
array('qty' => 1), null, 'sku');
$result = $client->catalogInventoryStockItemMultiUpdate($session, 'sku_id1',
array('qty' =>2), null, 'sku');如何使用函数catalogInventoryStockItemMultiUpdate()或其他决策调用多个函数一个请求?
示例仅用于soap v1,而不是soap v2。
发布于 2016-04-14 00:37:29
为那些从谷歌那里得到它的人回答这个问题。v2 Magento没有多功能。v1 API可以这样做。
下面是API v1文档中的代码,演示了如何同时进行多个调用:
$client = new SoapClient('http://magentohost/soap/api/?wsdl');
// If somestuff requires api authentification,
// then get a session token
$session = $client->login('apiUser', 'apiKey');
$result = $client->call($session, 'somestuff.method');
$result = $client->call($session, 'somestuff.method', 'arg1');
$result = $client->call($session, 'somestuff.method', array('arg1', 'arg2', 'arg3'));
$result = $client->multiCall($session, array(
array('somestuff.method'),
array('somestuff.method', 'arg1'),
array('somestuff.method', array('arg1', 'arg2'))
));
// If you don't need the session anymore
$client->endSession($session);请求仍然必须一个接一个地创建和排队,但至少您可以节省一个接一个发送请求所需的时间。
在我所拥有的工具中,我使用v1和v2 api的组合来进行批量更新和选择性更新。WSI API可能可以完成您所需的一切,只是不兼容v1。
https://stackoverflow.com/questions/34456538
复制相似问题