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

Базова адреса для функцій роботи з даним розділом /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": "втулка"
    }
  ]
}

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

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

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

{
  "suggests": {
    "BFA9000C2947F7AE11E245286A5796C5": {
      "name": "11541 Амортизатор",
      "default_image": "",
      "brand": "MONROE",
      "article": "11541"
    },
    "A63088BF6C8848434031B39FB738D059": {
      "name": "Сайлентблок амортизатора (заднего/нижний) VW Caddy 03- (12x37x40) (амортизатор Kayaba)",
      "default_image": "photo\g\z\a\w\x\d4a469c4.jpeg",
      "brand": "SV",
      "article": "TEA-106"
    },
    "A358000C2947F7AE11E23F6078EDBDF3": {
      "name": "Амортизатор (передний) MB 207-310",
      "default_image": "photo\f\x\u\e\v\15a5ea12.jpeg",
      "brand": "KYB",
      "article": "443170"
    },
    "A4BD474A9CC42C404E80CF5AF844AC99": {
      "name": "Амортизатор (передний) VW T4",
      "default_image": "",
      "brand": "YSP",
      "article": "V2065-F"
    }
  },
  "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": None
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "name": "ШАССИ",
      "path": "ШАССИ",
      "products_count": 1,
      "default_image": None,
      "children": [
        {
          "name": "Колёса, шины",
          "path": "ШАССИ/Колёса, шины",
          "products_count": 1,
          "default_image": None,
          "children": [
            {
              "name": "Подшипник ступицы, ступица колеса",
              "path": "ШАССИ/Колёса, шины/Подшипник ступицы, ступица колеса",
              "products_count": 1,
              "default_image": None,
              "children": None
            }
          ]
        }
      ]
    }
  ]
}

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

GET /search/products
Параметр Опис
q Пошукова фраза. Наприклад &q=115 906 или &q=амортизатор передній.”
search_mode Тип пошуку. Точне співпадіння strict, часткове співпадіння partial або розширений пошук extended. За замовчуванням, розширений пошук.
group Фільтр по товарній групі, необхідно передавати path групи.
save Прапорець збереження запиту в історію пошуку. За замовчуванням, True. Збереженнявимагає заповненого значення параметра q.
available Фільтр “В наявності”, приймає 1 или 0. За замовчуванням, показувати всі товари.
brands Вказівка по яким брендам виконувати фільтрацію: &brands=SOLGY&brands=SACHS.
nodes Фільтрація по збірковому вузлу: &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": {
      "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,
      "in_stocks": [
        {
          "uuid": "816D000C2999A7E611E6EC6B4A1915AF",
          "name": "Київ Борщагівка",
          "short_name": null,
          "quantity": "-",
          "contract_quantities": [
            {
              "f": 1,
              "quantity": "-"
            }
          ]
        },
        {
          "uuid": "ACF9000C2947F7AE11E28A2B02C4AD32",
          "name": "Луцьк",
          "short_name": "Лцк",
          "quantity": "2",
          "contract_quantities": [
            {
              "f": 1,
              "quantity": "2"
            }
          ]
        }
      ],
      "in_others": {
        "uuid": "-",
        "name": "На других",
        "quantity": "-"
      },
      "in_waiting": {
        "uuid": "-",
        "name": "Ожидается",
        "quantity": "-"
      }
    }
  }
}

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

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

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

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

{
  "products": [
    {
      "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": "Лцк",
          "quantity": "> 20",
          "contract_quantities": [
            {
              "f": 1,
              "quantity": "> 20"
            }
          ]
        }
      ],
      "in_others": {
        "uuid": "-",
        "name": "На других",
        "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",
  "suggests": {
    "BFA9000C2947F7AE11E245286A5796C5": {
      "name": "11541 Амортизатор",
      "default_image": "",
      "brand": "MONROE",
      "article": "11541"
    },
    "A63088BF6C8848434031B39FB738D059": {
      "name": "Сайлентблок амортизатора (заднего/нижний) VW Caddy 03- (12x37x40) (амортизатор Kayaba)",
      "default_image": "photo\g\z\a\w\x\d4a469c4.jpeg",
      "brand": "SV",
      "article": "TEA-106"
    }
  },
  "hits": 2896
}
JSON ключ Значення
type Типи відповіді products
suggests.[product_uuid] UUID Товару
suggests.[product_uuid].article Артикул товару
suggests.[product_uuid].brand Бренд товару
suggests.[product_uuid].name Назва товару
suggests.[product_uuid].default_image Зображення товару
hits К-сть знайдених товарів

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

{
  "vehicle": {
    "brand": "VOLKSWAGEN", 
    "name": "Caddy", 
    "ssd": "$*...", 
    "vehicle_id": "0", 
    "catalog_code": "VW1221"
  }
}
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"
        }
      ]
    }
  ]
}