{
  "openapi": "3.0.0",
  "info": {
    "version": "1.0.0",
    "title": "Rocket Listing"
  },
  "servers": [
    {
      "url": "https://listing.retailrocket.ru/"
    }
  ],
  "tags": [
    {
      "name": "Listing",
      "x-displayName": "Листинг общих страниц"
    },
    {
      "name": "Category",
      "x-displayName": "Листинг на странице категории"
    }
  ],
  "paths": {
    "/catalog/v3/partners/{partnerId}/products": {
      "get": {
        "tags": ["Listing"],
        "summary": "Получение списка товаров",
        "description": "Данный метод позволяет получить персонализированный список товаров для общих страниц сайта",
        "operationId": "get_catalog_v3_partners_products",
        "responses": {
          "200": {
            "description": "Успешный ответ со списком товаров",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contentId": {
                      "type": "string",
                      "description": "Идентификатор взаимодействия для пагинации"
                    },
                    "products": {
                      "type": "array",
                      "description": "Массив товаров",
                      "items": {
                        "type": "object",
                        "properties": {
                          "longProductId": {
                            "type": "integer",
                            "nullable": true,
                            "description": "Числовой идентификатор товара"
                          },
                          "stringProductId": {
                            "type": "string",
                            "nullable": true,
                            "description": "Строковый идентификатор товара"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Ошибка валидации параметров"
          }
        },
        "parameters": [
          {
            "in": "path",
            "name": "partnerId",
            "schema": {
              "type": "string",
              "default": "59908d02c7d013ce40de715a"
            },
            "required": true,
            "description": "Идентификатор партнера"
          },
          {
            "in": "query",
            "name": "loadSize",
            "schema": {
              "type": "number",
              "default": 20
            },
            "required": true,
            "description": "Количество запрашиваемых товаров (не более 300)"
          },
          {
            "in": "query",
            "name": "linkName",
            "schema": {
              "type": "string",
              "default": "session"
            },
            "required": true,
            "description": "Название сессии посетителя"
          },
          {
            "in": "query",
            "name": "linkValue",
            "schema": {
              "type": "string",
              "default": "a83642d5-da3b-4831-beed-e4bc182fec17"
            },
            "required": true,
            "description": "Идентификатор сессии посетителя"
          },
          {
            "in": "query",
            "name": "stockId",
            "schema": {
              "type": "string",
              "default": "Москва"
            },
            "required": false,
            "description": "Идентификатор склада"
          },
          {
            "in": "query",
            "name": "contentId",
            "schema": {
              "type": "string"
            },
            "required": false,
            "description": "Идентификатор взаимодействия (используется при пагинации)"
          }
        ]
      }
    },
    "/category/v2/partners/{partnerId}/products": {
      "post": {
        "tags": ["Category"],
        "summary": "Листинг на странице категории",
        "description": "Метод для получения списка товаров на странице категории с поддержкой фильтров и сортировок.\n\nПри обычном порядке использования сначала выполняется запрос без выбора значений фильтров. В ответе возвращаются все найденные значения фильтров и доступные сортировки. После может быть выполнен запрос с выбором некоторых найденных значений фильтров и сортировок.\n\n**Пагинация:** Если страница реализует пагинацию, вместо `loadSize` используйте `pageSize` и `page`.\n\n**Важно:** При загрузке страницы категории параметр `contentId` не передаётся. Он используется только при подгрузке следующей порции товаров — тогда в запрос передается значение `contentId` из предыдущего ответа API.",
        "operationId": "post_category_v2_partners_products",
        "parameters": [
          {
            "in": "path",
            "name": "partnerId",
            "schema": {
              "type": "string",
              "default": "59908d02c7d013ce40de715a"
            },
            "required": true,
            "description": "Идентификатор партнера"
          },
          {
            "in": "query",
            "name": "loadSize",
            "schema": {
              "type": "number",
              "default": 10
            },
            "required": false,
            "description": "Количество запрашиваемых товаров. Используется при бесконечной прокрутке"
          },
          {
            "in": "query",
            "name": "pageSize",
            "schema": {
              "type": "number",
              "default": 20
            },
            "required": false,
            "description": "Количество товаров на странице. Используется при пагинации вместо loadSize"
          },
          {
            "in": "query",
            "name": "page",
            "schema": {
              "type": "number",
              "default": 1
            },
            "required": false,
            "description": "Номер запрашиваемой страницы. Используется при пагинации вместе с pageSize"
          },
          {
            "in": "query",
            "name": "categoryId",
            "schema": {
              "type": "integer",
              "default": 366
            },
            "required": false,
            "description": "Идентификатор категории (для интеграции через XML-файл)"
          },
          {
            "in": "query",
            "name": "categoryPath",
            "schema": {
              "type": "string",
              "default": "Товары для дома/Кухня/Вилки"
            },
            "required": false,
            "description": "Путь категории (для интеграции через Product API)"
          },
          {
            "in": "query",
            "name": "linkName",
            "schema": {
              "type": "string",
              "default": "session"
            },
            "required": true,
            "description": "Название сессии посетителя"
          },
          {
            "in": "query",
            "name": "linkValue",
            "schema": {
              "type": "string",
              "default": "4234321"
            },
            "required": true,
            "description": "Идентификатор сессии посетителя"
          },
          {
            "in": "query",
            "name": "stockId",
            "schema": {
              "type": "string",
              "default": "1"
            },
            "required": false,
            "description": "Идентификатор склада"
          },
          {
            "in": "query",
            "name": "sorting",
            "schema": {
              "type": "string",
              "enum": ["relevance", "popularity"],
              "default": "relevance"
            },
            "required": false,
            "description": "Вариант сортировки (relevance — по релевантности, popularity — по популярности)"
          },
          {
            "in": "query",
            "name": "contentId",
            "schema": {
              "type": "string",
              "default": "61010bd1-4ed1-4fac-9699-3b8ea39d5f00"
            },
            "required": false,
            "description": "Идентификатор взаимодействия пользователя с типом страницы. Не передаётся при первой загрузке, используется при пагинации"
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "properties": {
                  "filters": {
                    "type": "array",
                    "description": "Массив выбранных фильтров. При первом запросе передаётся пустой массив",
                    "default": [],
                    "items": {
                      "type": "object",
                      "properties": {
                        "filterId": {
                          "type": "string",
                          "description": "Идентификатор фильтра"
                        },
                        "selectedValueIds": {
                          "type": "array",
                          "description": "Массив выбранных значений фильтра",
                          "items": {
                            "type": "string"
                          }
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Успешный ответ со списком товаров, фильтрами и сортировками",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "contentId": {
                      "type": "string",
                      "description": "Идентификатор взаимодействия пользователя с типом страницы"
                    },
                    "products": {
                      "type": "array",
                      "description": "Массив объектов с идентификаторами товаров",
                      "items": {
                        "type": "object",
                        "properties": {
                          "longProductId": {
                            "type": "integer",
                            "nullable": true,
                            "description": "Числовой идентификатор товара (используется при целочисленных ID)"
                          },
                          "stringProductId": {
                            "type": "string",
                            "nullable": true,
                            "description": "Строковый идентификатор товара (используется при строковых ID)"
                          }
                        }
                      }
                    },
                    "filters": {
                      "type": "array",
                      "description": "Массив доступных фильтров",
                      "items": {
                        "type": "object",
                        "properties": {
                          "filterId": {
                            "type": "string",
                            "description": "Идентификатор фильтра"
                          },
                          "filterName": {
                            "type": "string",
                            "description": "Название фильтра"
                          },
                          "filterType": {
                            "type": "string",
                            "description": "Тип фильтра"
                          },
                          "values": {
                            "type": "array",
                            "description": "Доступные значения фильтра",
                            "items": {
                              "type": "object",
                              "properties": {
                                "valueId": {
                                  "type": "string",
                                  "description": "Идентификатор значения"
                                },
                                "valueName": {
                                  "type": "string",
                                  "description": "Название значения"
                                },
                                "count": {
                                  "type": "integer",
                                  "description": "Количество товаров с данным значением"
                                }
                              }
                            }
                          }
                        }
                      }
                    },
                    "sortings": {
                      "type": "array",
                      "description": "Массив доступных сортировок",
                      "items": {
                        "type": "object",
                        "properties": {
                          "sortingId": {
                            "type": "string",
                            "description": "Идентификатор сортировки"
                          },
                          "sortingName": {
                            "type": "string",
                            "description": "Название сортировки"
                          }
                        }
                      }
                    },
                    "selectedSortingId": {
                      "type": "string",
                      "description": "Идентификатор выбранной сортировки"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Ошибка валидации параметров"
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {}
  },
  "x-readme": {
    "explorer-enabled": true,
    "proxy-enabled": true
  }
}
