我想过滤掉所有具有特定的订单。
此处来自country_id
回复的示例:
json
以下是我尝试的内容:
{
"items": [{
"total_qty_ordered": 3,
"updated_at": "2018-01-10 15:59:05",
"weight": 0,
"billing_address": {
"city": "Schaffhausen",
"country_id": "CH"
}
}]
}
它不起作用,因为url = (
"http://<host>/rest/V1/orders"
"?searchCriteria[filter_groups][0][filters][0][field]=country_id"
"&searchCriteria[filter_groups][0][filters][0][value]=CH"
)
位于嵌套实体中。
因此,我尝试将country_id
替换为country_id
,但它也无效。
答案 0 :(得分:0)
这是搜索条件的json结构..
{
"search_criteria": {
"filter_groups": [
{
"filters": [
{
"field": "attribute_name",
"value": [string|int|float],
"condition_type": [string]; optional
}
more entries
]
}
more entries
],
"current_page": [int] page number; optional
"page_size": [int] number of items on a page; optional
"sort_orders": [ optional
{
"field": "attribute_name",
"direction": [int] -1 or 1
}
more entries
]
}
}
答案 1 :(得分:0)
用于搜索的默认REST API仅搜索sales_order
表中可用的列。
您无法使用country_id
进行搜索,您会收到类似未找到列的错误。要使其正常工作,您必须自定义方法getList
magento/module-sales/Model/OrderRepository.php
通过创建自定义模块,或者您可以构建自定义API以根据country_id
正确的网址
http:/host/index.php/rest/V1/orders?searchCriteria[filter_groups][0][filters][0][field]=country_id&searchCriteria[filter_groups][0][filters][0][value]=US&searchCriteria[filter_groups][0][filters][0][conditionType]=eq
方法:GET
标题:
Content-Type : application/json
Authorization : Bearer <TOKEN>