Magento使用Node JS / soap包

时间:2017-02-28 11:11:02

标签: javascript node.js magento soap

我正在尝试使用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,但我也尝试使用日期,但这也没有成功。

提前致谢。

1 个答案:

答案 0 :(得分:0)

对我来说,最简单的解决方案就是准确映射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) => { ... }