使用Python操作Magento2 API

目前测试了几个Magento的python库,就下面这个好用一点:


不过这个库也是只支持默认的操作方法,更多操作需要自己开发。不过目前来看已经够用了.
使用这个Python操作Magento2的API非常方便,看看这个github上的演示吧:

查找产品

所有
response = client.search_product({'searchCriteria': ''})

github上写的这个方法实际是用问题的,正确的,查找所有产品的方法应该是:

response = client.search_product({'searchCriteria': '[]'})
按创建时间,返回一条数据
response = client.search_product({'searchCriteria[sortOrders][0][field]': 'created_at', 'searchCriteria[pageSize]': '1'})
Magento API 创建产品
data = {
    "product": {
        "name": 'Perfume Antonio Banderas',
        "sku": 'PAB',
        'type_id': 'simple',
        'attribute_set_id': '4',
        'price': '100000'
    }
}
response = client.create_product(data)
创建客户账号
data = {
    "customer": {
        "email": "janedoe@jd.com",
        "firstname": "Jane",
        "lastname": "Doe",
        "addresses": [{
            "defaultShipping": True,
            "defaultBilling": True,
            "firstname": "Jane",
            "lastname": "Doe",
            "region": {
                "regionCode": "NY",
                "region": "New York",
                "regionId": 43
            },
            "postcode": "10755",
            "street": ["123 Oak Ave"],
            "city": "Purchase",
            "telephone": "512-555-1111",
            "countryId": "US"
        }]
    },
    "password": "Password1"
}
response = client.create_customer(data)

更多的API操作,建议翻一下代码,我写两个演示上没有的:

Magento2 REST API 更新产品属性
    data = {
        "product": {
            "sku": sku,
            "custom_attributes": [{
                "attribute_code": type_name,
                 "value": type_value
                    }]
                }
        }
response = client.update_product(sku,data)
分页查找所有产品
response = client.search_product({'searchCriteria[filter_groups][0][filters][0][field]': 'category_id', 
                                'searchCriteria[filter_groups][0][filters][0][value]': '24', 
                                'searchCriteria[filter_groups][0][filters][0][condition_type]': 'eq', 
                                'searchCriteria[pageSize]': '100',
                                'searchCriteria[currentPage]':'2'
                                })

上面这段代码,是查找分类ID为24下的所有产品。并按100个产品为一页,当前是第二页.

更多有趣的内容等你发掘,并希望您在这里分享。