バックグラウンド
ライブおよびテストの Magento ストアがあります。Magento ストアの WSDL から MagentoApi C# クラスを生成します。
問題
API クラスを介して問題なく製品の数量を更新できます。API からフィールドを設定しようとしてStock Availability
いますが、値は変更されません。
コード
[Test]
public void UpdateIsInStockField()
{
MagentoStoreConfig storeConfig = GetTestMagentoStore();
var magentoApiRepo = new MagentoApiRepository(storeConfig);
catalogInventoryStockItemEntity magentoProduct = magentoApiRepo.GetProductFromSku(new[] { "SKU-123456" });
var productUpdated = new catalogInventoryStockItemUpdateEntity
{
is_in_stock = 0,
manage_stock = 0,
use_config_manage_stock = 0,
qty = new Random().Next(50, 100).ToString(CultureInfo.InvariantCulture)
};
magentoApiRepo.UpdateStockQuantity(magentoProduct.product_id, productUpdated);
}
結果
Magento ストアの管理セクションから、製品の数量値が変更されますが、Stock Availability
値は変更されていません。
ここで Magento API リファレンス ガイド に概説されている手順に従って、manage_stock
とを設定しています。use_config_manage_stock