Magento 使用 Node JS/soap 包过滤 SOAP v2

问题描述 投票:0回答:1

我正在尝试使用 Magento SOAP v2 (Magento 1) 的过滤器,但我的代码似乎不起作用。我尝试了几种使用数组构建对象的方法,但它们似乎都不会影响返回的结果。

有人可以向我解释正确的方法吗?

我想要做的是提取所有发票,但例如带有特定发票 ID 或日期的发票。

Magento 官方文档链接: http://devdocs.magento.com/guides/m1x/api/soap/sales/salesOrderInvoice/sales_order_invoice.list.html

这是我当前的代码:

   const filter = {
        'complex_filter': [
                {
                    key: 'invoice_id',
                    value: {
                        key: 'eq',
                        value: '94'
                    } 
                }
            ]
        };


    client.salesOrderInvoiceList(res, filter, function(error, result) {
        console.log(result.result)
    });

在上面的示例中,我只尝试使用发票 ID 的过滤器,但我也尝试过使用日期,但也没有成功。

提前致谢。

javascript node.js magento soap magento-soap-api
1个回答
1
投票

对我来说,最简单的解决方案是精确映射到 XML 文档的外观(如果这是由 PHP SoapClient 完成的)。

const args = {
    sessionId: session_id,
    storeView: store_id,
    filters: {
        complex_filter: {
            complexObjectArray: {
                key: 'created_at',
                value: {
                    key: 'from',
                    value: '2017-01-01'
                }
            }
        }
    }
};

client.catalogProductList(args, (err, result) => { ... }
© www.soinside.com 2019 - 2024. All rights reserved.