Пошук товарів

Базова адреса для функцій роботи з даним розділом /search/.

Примітка

Зверніть увагу, щоб передавати марку чи модель, що містить символ слеша, наприклад FORD ASIA / OZEANIA необхідно виконати encodeURIComponent( encodeURIComponent( “FORD ASIA / OZEANIA” ) )

Агрегація по акціям

GET /search/products/aggregations/advertisements

Приклад відповіді:

{
  "advertisements": [
    {
      "uuid": "81CB005056AC66D611E893D80F3F6BAB",
      "name": ""
      "products_count": 1
    }
  ]
}

Агрегація по вузлам нижнього рівня

GET /search/products/aggregations/end_nodes

Агрегація по брендам

GET /search/products/aggregations/brands

Приклад відповіді:

{
  "brands": [
    {
      "name": "BILSTEIN",
      "products_count": 1
    },
    {
      "name": "SACHS",
      "products_count": 1
    },
    {
      "name": "SOLGY",
      "products_count": 1
    },
    {
      "name": "WENDER PARTS",
      "products_count": 1
    }
  ]
}

Агрегація по складальних вузлах

GET /search/products/aggregations/nodes

Історія пошуку по товарах

GET /search/products/history

Примітка

Вертає тільки останні 10 результатів пошуку. Вказувати кількість не можна.

Приклад відповіді:

{
  "history": [
    {
      "searched_at": "2018-03-09T14:31:19Z",
      "search_string": "втулка",
      "car_model": "",
      "not_found": false,
      "is_vin": false
    }
  ]
}

Пропозиція пошуку

GET /search/products/suggest
Параметр Опис
q Пошукова фраза. Наприклад &q=115 906 или &q=амортизатор передній.”
products_as Формат товарів які повертаються. Можливі варіанти: obj, arr. За замовчуванням, obj.

Приклад відповіді для пошукової фрази ?q=амортизатор:

{
  "suggests": {
    "BFA9000C2947F7AE11E245286A5796C5": {
      "special_offer": false,
      "default_image": "photo\v\k\o\x\s\e64ca621.jpeg",
      "new_product": false,
      "tools": false,
      "brand": "OE GERMANY",
      "promos": [],
      "article": "800334",
      "promotion": true,
      "name": "Подушка амортизатора (переднього) + підшипник Renault Master 10- (в середині 543207065R)"
    },
    "A63088BF6C8848434031B39FB738D059": {
      "special_offer": false,
      "default_image": "photo\u\h\m\h\b\9a8fcd82.jpeg",
      "new_product": false,
      "tools": false,
      "brand": "SOLGY",
      "promos": [],
      "article": "211125",
      "promotion": false,
      "name": "Амортизатор (передній) Renault Laguna II 01- (Газ)"
    }
  },
  "search": {
    "hits": 2849
  }
}

Дерево товарних груп

GET /search/products/groups

Приклад відповіді:

{
  "groups": [
    {
      "name": "ДВИГАТЕЛЬ",
      "path": "ДВИГАТЕЛЬ",
      "products_count": 2,
      "default_image": "photo\e\s\c)b4e343.jpeg",
      "children": [
        {
          "name": "Кривошипношатунный механизм",
          "path": "ДВИГАТЕЛЬ/Кривошипношатунный механизм",
          "products_count": 2,
          "default_image": "photo\e\s\c)b4e343.jpeg",
          "children": [
            {
              "name": "Шатун, составляющие",
              "path": "ДВИГАТЕЛЬ/Кривошипношатунный механизм/Шатун, составляющие",
              "products_count": 2,
              "default_image": "photo\e\s\c)b4e343.jpeg",
              "children": [
                {
                  "name": "Вкладыш нижней головки шатуна",
                  "path": "ДВИГАТЕЛЬ/Кривошипношатунный механизм/Шатун, составляющие/Вкладыш нижней головки шатуна",
                  "products_count": 2,
                  "default_image": "photo\e\s\c)b4e343.jpeg",
                  "children": null
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "ШАССИ",
      "path": "ШАССИ",
      "products_count": 1,
      "default_image": null,
      "children": [
        {
          "name": "Колёса, шины",
          "path": "ШАССИ/Колёса, шины",
          "products_count": 1,
          "default_image": null,
          "children": [
            {
              "name": "Подшипник ступицы, ступица колеса",
              "path": "ШАССИ/Колёса, шины/Подшипник ступицы, ступица колеса",
              "products_count": 1,
              "default_image": null,
              "children": null
            }
          ]
        }
      ]
    }
  ]
}

Пошук товарів по каталогу

GET /search/products
Параметр Опис
q Пошукова фраза. Наприклад &q=115 906 или &q=амортизатор передній.”
search_mode Тип пошуку. Точне співпадіння strict, часткове співпадіння partial або розширений пошук extended. За замовчуванням, розширений пошук.
group Фільтр по товарній групі, необхідно передавати path групи.
gf Фільтр по параметрах груп каталога. Доступний не для всіх товарів, а тільки для тих, які знаходяться в групі каталога &gf=Максимальна напруга:58V.
save Прапорець збереження запиту в історію пошуку. За замовчуванням, True. Збереженнявимагає заповненого значення параметра q.
available Фільтр “В наявності”, приймає 1 или 0. За замовчуванням, показувати всі товари.
brands Вказівка по яким брендам виконувати фільтрацію: &brands=SOLGY&brands=SACHS.
nodes Фільтрація по збірковому вузлу: &nodes=Легкові автомобілі/Підвіска.
end_nodes Фільтрація по швидкій групі: &end_nodes=Кронштейн кріплення глушника.
new_arrival Фільтр по новому поступленню, необхідно передавати ID нового поступлення.
advertisement Фільтр по рекламним акціям, необхідно передати ID рекламної акції.
cars Фільтр по автомобілям, наприклад &cars=BMW&cars=MERCEDES-BENZ>SPRINTER 2-t.
new_product Показувати тільки нові товари, приймає 1 або 0. За замовчуванням, показувати всі товари.
promo Показувати тільки акційні товари, приймає 1 або 0. За замовчуванням, показувати всі товари.
tools Показувати тільки інстурументи і обладнання, приймає 1 або 0. За замовчуванням, показувати всі товари.
warehouses ID складів по яким вертати залишки: &warehouses=816D000C2999A7E611E6EC6B4A1915AF&warehouses=ACF9000C2947F7AE11E28A2B02C4AD32. Значення all верне залишки по всім складам. За замовчуванням, вертає залишки для основного складу.
currency Валюта, в якій повертати ціни для товарів. За замовчуванням, валюта договору.
products_as Формат товарів які повертаються. Можливі варіанти: obj, arr. За замовчуванням, obj.
special_offer Фільтр спеціальних пропозицій, приймає 1 або 0. За замовчуванням, показувати всі товари.

Приклад пошуку амортизатора по бренду SACHS:

https://api.bm.parts/search/products?q=амортизатор&brands=SACHS

Приклад пошуку всіх запчастин на SPRINTER 2-t по бренду SOLGY:

https://api.bm.parts/search/products?brands=SOLGY&cars=MERCEDES-BENZ>SPRINTER 2-t

Приклад запиту:

https://api.bm.parts/search/products?q=115 906+амортизатор&brands=SACHS
&warehouses=816D000C2999A7E611E6EC6B4A1915AF&warehouses=ACF9000C2947F7AE11E28A2B02C4AD32
&currency=A358000C2947F7AE11E23F5617780B16
&page=2

Приклад відповіді:

{
  "products": {
    "9D909508CD2293B6499E68280D31A49B": {
      "in_wishlist": true,
      "name": "Амортизатор (задний) Ford Kuga 08- ",
      "default_image": "https://cdn.bm.parts/photo/52x52/w/d/a/d/d/e393c33f.jpeg",
      "brand": "SACHS",
      "article": "115 906",
      "promotion": false,
      "promos": [],
      "new_product": false,
      "special_offer": false,
      "tools": false,
      "highlight": null,
      "price": 1103.836,
      "currency_name": "ГРН",
      "available": true,
      "in_cart": null,
      "found_by": null,
      "highlight": null,
      "in_stocks": [
        {
          "uuid": "816D000C2999A7E611E6EC6B4A1915AF",
          "name": "Київ Борщагівка",
          "short_name": null,
          "has_reserves": false
          "quantity": "-",
          "contract_quantities": [
            {
              "f": 1,
              "quantity": "-"
            }
          ]
        },
        {
          "uuid": "ACF9000C2947F7AE11E28A2B02C4AD32",
          "name": "Луцьк",
          "short_name": "Лцк",
          "has_reserves": false
          "quantity": "2",
          "contract_quantities": [
            {
              "f": 1,
              "quantity": "2"
            }
          ]
        }
      ],
      "in_others": {
        "uuid": "-",
        "name": "На других",
        "has_reserves": false
        "quantity": "-"
      },
      "in_waiting": {
        "uuid": "-",
        "name": "Ожидается",
        "quantity": "-"
      },
      "in_cart": null
    }
  }
}

Приклад пошуку подушка двигуна по бренду TURK в розділі Легкові автомобілі/ДВИГУН, котрий підходить на все авто марки MAZDA:

Приклад запиту:

https://api.bm.parts/search/products?q=Подушка%20двигателя&brands=TURK
&nodes=Легковые%20автомобили%2FДВИГАТЕЛЬ&cars=MAZDA

Приклад відповіді:

{
  "products": [
    {
      "in_wishlist": true,
      "uuid": "BFFFE731B99BB1874FD3DE71C51C1E5E",
      "special_offer": false,
      "default_image": "photo\h\t\n\x\z\f2c6e885.jpeg",
      "brand": "TURK",
      "article": "6682400217",
      "promotion": false,
      "new_product": false,
      "tools": false,
      "promos": [],
      "name": "Подушка двигателя MB 609-811D",
      "price": "241.38",
      "in_stocks": [
        {
          "uuid": "ACF9000C2947F7AE11E28A2B02C4AD32",
          "name": "Луцьк",
          "short_name": "Лцк",
          "has_reserves": false
          "quantity": "> 20",
          "contract_quantities": [
            {
              "f": 1,
              "quantity": "> 20"
            }
          ]
        }
      ],
      "in_others": {
        "uuid": "-",
        "name": "На других",
        "has_reserves": false
        "quantity": "> 20"
      },
      "in_waiting": {
        "uuid": "-",
        "name": "Ожидается",
        "quantity": "-"
      },
      "available": true,
      "currency_name": "ГРН",
      "in_cart": null,
      "found_by": "Знайдено за Артикулом<span>TURK <span class="found_by">т</span>0528</span>"
    }
  ],
  "headers": [
    {
      "warehouse": "Луцьк",
      "short_name": "Лцк",
      "labels": [
        "ДАГ"
      ]
    }
  ],
  "search": {
    "hits": 1
  }
}

Пропозиція пошуку

GET /search/suggests
Query Parameters:
 
  • q – Пошуковий запит
  • products_as – Формат товарів які повертаються. Можливі варіанти: obj, arr. За замовчуванням, obj.

У відповіді доступний JSON ключ type, котрий може приймати значення vehicle або products.

Приклад відповіді і структура для пошукової фрази ?q=амортизатор з типом відповіді products:

{
  "type": "products",
  "products": [
    {
      "uuid": "A1F5A9799060000A403C42439AC94AF5",
      "special_offer": false,
      "default_image": "photo\v\k\o\x\s\e64ca621.jpeg",
      "new_product": false,
      "tools": false,
      "brand": "OE GERMANY",
      "promos": [],
      "article": "800334",
      "promotion": true,
      "name": "Подушка амортизатора (переднього) + підшипник Renault Master 10- (в середині 543207065R)"
    },
    {
      "uuid": "8A8AA852B98D2C6144D408EACD793D41",
      "special_offer": false,
      "default_image": "photo\h\f\k\c\l\37e01502.jpeg",
      "new_product": false,
      "tools": false,
      "brand": "GSP",
      "promos": [],
      "article": "518926",
      "promotion": true,
      "name": "Підшипник амортизатора (переднього) опорний VW Caddy/Passat B7/Golf V 03-"
    },
  "hits": 2896
}
JSON ключ Значення
type Типи відповіді products
products.uuid UUID Товару
products.article Артикул товару
products.brand Бренд товару
products.name Назва товару
products.promotion Вказує чи товар акційний
products.new_product Вказує чи товар Новинка
products.tools Вказує чи товар Інструмент
products.default_image Зображення товару
hits К-сть знайдених товарів

Приклад відповіді і структура для пошукової фрази ?q=WV1ZZZ2KZ7X006849 з типом відповіді vehicle:

{
  "vehicle": {
    "brand": "VOLKSWAGEN", 
    "name": "Caddy", 
    "ssd": "$*...", 
    "vehicle_id": "0", 
    "catalog_code": "VW1221"
  },
  "found_by": "vin"
}
JSON ключ Значення
type Типи відповіді vehicle
vehicle.brand Марка автомобіля
vehicle.name Модель автомобіля
vehicle.ssd Ключ безпеки
vehicle.vehicle_id ID автомобіля
vehicle.catalog_code Код каталогу, в якому знайдено авто

Агрегація по моделям для марки авто

GET /search/products/aggregations/car/(string: car_name)/models
Query Parameters:
 
  • car_name – Назва автомобільного бренду

Приклад відповіді для авто VW:

{
  "models": [
    {
      "name": "CRAFTER 30-35 автобус (2E_)",
      "products_count": 3
    },
    {
      "name": "CRAFTER 30-50 c бортовой платформой/ходовая часть (2F_)",
      "products_count": 3
    },
    {
      "name": "CRAFTER 30-50 фургон (2E_)",
      "products_count": 3
    },
    {
      "name": "LT 28-35 I c бортовой платформой/ходовая часть (281-363)",
      "products_count": 1
    }
  ]
}

Агрегація по двигунам для моделі

GET /search/products/aggregations/car/(string: car_name)/model/(string: model_name)
Query Parameters:
 
  • car_name – Назва автомобільного бренду
  • model_name – Назва моделі

Приклад відповіді для запиту по бренду VW и моделі CRAFTER 30-35 автобус (2E_):

{
  "engines": [
    {
      "name": "2.0 TDI",
      "products_count": 3
    },
    {
      "name": "2.0 TDI 4motion",
      "products_count": 3
    },
    {
      "name": "2.5 TDI",
      "products_count": 3
    }
  ]
}

Фільтри товарної групи

GET /search/products/groups/(path: group_path)/filters
Query Parameters:
 
  • group_path – path товарної групи

Приклад відповіді:

{
  "filters": [
    {
      "name": "Допуск",
      "values": [
        {
          "products_count": 1,
          "value": "4.5"
        },
        {
          "products_count": 5,
          "value": "505 01"
        }
      ]
    },
    {
      "name": "API",
      "values": [
        {
          "products_count": 2,
          "value": "0"
        },
        {
          "products_count": 2,
          "value": "CD"
        },
        {
          "products_count": 185,
          "value": "CF"
        }
      ]
    }
  ]
}