目前测试了几个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个产品为一页,当前是第二页.
更多有趣的内容等你发掘,并希望您在这里分享。