Как получить количество продуктов в поиске Akeneo PIM API - PullRequest
0 голосов
/ 01 апреля 2020

Я новичок в API-интерфейсе Akeneo PIM и в настоящее время использую соединитель "fetch" для получения информации о продуктах и ​​категориях через API.

Мне удалось получить доступ, работающий нормально, и я могу принести назад информацию о продукте, основанную на фильтрах, но я изо всех сил пытаюсь выяснить, сколько продуктов на самом деле возвращается.

Согласно документации API, есть параметр запроса с именем with_count, и если для него установлено значение true можно увидеть количество продукта в ответе.

Я установил значение true в запросе:

http://example.com/api/rest/v1/product-models?with_count=true&pagination_type=search_after&limit=1&search={"brand":[{"operator":"IN","value":["brand_fred_perry"]}],"department":[{"operator":"IN","value":["department_polo_shirts"]}]}

Но я не вижу его в ответе:

{
   "_links":{
      "self":{
         "href":"http://example.com/api/rest/v1/product-models?with_count=true\u0026pagination_type=search_after\u0026limit=1\u0026search=%7B%22brand%22:%5B%7B%22operator%22:%22IN%22,%22value%22:%5B%22brand_fred_perry%22%5D%7D%5D,%22department%22:%5B%7B%22operator%22:%22IN%22,%22value%22:%5B%22department_polo_shirts%22%5D%7D%5D%7D"
      },
      "first":{
         "href":"http://example.com/api/rest/v1/product-models?with_count=true\u0026pagination_type=search_after\u0026limit=1\u0026search=%7B%22brand%22:%5B%7B%22operator%22:%22IN%22,%22value%22:%5B%22brand_fred_perry%22%5D%7D%5D,%22department%22:%5B%7B%22operator%22:%22IN%22,%22value%22:%5B%22department_polo_shirts%22%5D%7D%5D%7D"
      },
      "next":{
         "href":"http://example.com/api/rest/v1/product-models?with_count=true\u0026pagination_type=search_after\u0026limit=1\u0026search=%7B%22brand%22:%5B%7B%22operator%22:%22IN%22,%22value%22:%5B%22brand_fred_perry%22%5D%7D%5D,%22department%22:%5B%7B%22operator%22:%22IN%22,%22value%22:%5B%22department_polo_shirts%22%5D%7D%5D%7D\u0026search_after=qtTUjg%3D%3D"
      }
   },
   "_embedded":{
      "items":[
         {
            "_links":{
               "self":{
                  "href":"http://example.com/api/rest/v1/product-models/aw19m3600106"
               }
            },
            "code":"aw19m3600106",
            "family":"default",
            "family_variant":"default_size",
            "parent":null,
            "categories":[
               "fred_perry_polo_shirts",
               "fred_perry",
               "polo_shirts"
            ],
            "values":{
               "brand":[
                  {
                     "locale":null,
                     "scope":null,
                     "data":"brand_fred_perry"
                  }
               ],
               "color":[
                  {
                     "locale":null,
                     "scope":null,
                     "data":"color_burgundy"
                  }
               ],
               "department":[
                  {
                     "locale":null,
                     "scope":null,
                     "data":"department_polo_shirts"
                  }
               ],
               "name":[
                  {
                     "locale":null,
                     "scope":null,
                     "data":"Fred Perry M3600 Burgundy Polo Shirt"
                  }
               ]
            },
            "created":"2020-03-26T08:40:24+00:00",
            "updated":"2020-03-26T08:40:24+00:00",
            "associations":{
               "PACK":{
                  "products":[

                  ],
                  "product_models":[

                  ],
                  "groups":[

                  ]
               },
               "SUBSTITUTION":{
                  "products":[

                  ],
                  "product_models":[

                  ],
                  "groups":[

                  ]
               },
               "UPSELL":{
                  "products":[

                  ],
                  "product_models":[

                  ],
                  "groups":[

                  ]
               },
               "X_SELL":{
                  "products":[

                  ],
                  "product_models":[

                  ],
                  "groups":[

                  ]
               }
            }
         }
      ]
   }
}

В документации API также сказано, что я должен видеть «current_page» в ответе, но, как вы можете видеть выше, его там нет ...

EDIT: Оказывается, я не вижу его при настройке от "pagination_type" до "search_after".

Может кто-нибудь помочь?

1 Ответ

0 голосов
/ 01 апреля 2020

pagination_type "search_after" несовместимо с параметром with_count.

Поскольку вам не нужно извлекать большое количество продуктов, вы можете безопасно использовать "page" pagination_type или удалить этот параметр, так как он является значением по умолчанию, и вы должны вернуть счетчик продуктов .

Вот раздел документации API, который объясняет это: https://api.akeneo.com/documentation/pagination.html

...