Usando o Object Manager para operações básicas no Magento 2
O exemplo a seguir deve ser utilizado em um arquivo PHP na raiz da instalação do Magento.
require dirname(__FILE__) . '/app/bootstrap.php';
$bootstrap = \Magento\Framework\App\Bootstrap::create(BP, $_SERVER);
require dirname(__FILE__) . '/abstract.php';
class Getapp extends AbstractApp{
public function run(){
$this->_objectManager->get('Magento\Framework\Registry')->register('isSecureArea', true);
$state = $this->_objectManager->get('Magento\Framework\App\State');
$state->setAreaCode('adminhtml');
$sku = '';
$price = '';
$productRepository = $this->_objectManager->get('\Magento\Catalog\Model\ProductRepository');
$product = $productRepository->get($sku);
$product->setPrice( $price );
$productRepository->save($product);
}
}
/** @var \Magento\Framework\App\Http $app */
$app = $bootstrap->createApplication('Getapp');
$bootstrap->run($app);
Exemplo acima é utilizado para atualizar o preço de um produto pelo SKU.
Você pode utilizar a mesma estrutura para uma atualização em massa via XML, CSV ou até mesmo criar sua própria API com regras especificas.