/**
  * Осуществляет поиск детали по указанному номеру, если находит деталь
  * то возвращает массив объектов, если не находит то возвращяет строку
  * При любом отрицательном результате возвращает строку
  * @param string $detailNumber Номер искомой детали
  * @param bool|false $findSubstitutes Запрос с заменами или без
  * (допустимы замены детали на другие детали данного или других изготовителей)
  * @return array|string возвращает массив объектов при положительном результате
  * и строку при любом отрицательном например: деталь не найденна или любая ошибка
  * объекты возвращаемые методом имеют следующую структуру:
  *
  *  public 'priceId' - Внутренний идентификатор прайса
  *  public 'detailNum' - Номер детали
  *  public 'makerName' - Имя производителя
  *  public 'detailName' - Имя/Описание детали
  *  public 'quantity' - Доступное количество
  *  public 'minimum' - Минимальное количество для заказа
  *  public 'region' - Регион
  *  public 'delivery' - Срок доставки
  *  public 'percentSupped' - Вероятность наличия запчастей с этого прайса в процентах
  *  public 'price' - Цена в долларах США
  */
 public function findDetail($detailNumber, $findSubstitutes = false)
 {
     try {
         return $this->_client->FindDetail(['email' => $this->_email, 'password' => $this->_password], ['article' => $detailNumber, 'findSubstitutes' => (bool) $findSubstitutes])->partList;
     } catch (\Exception $e) {
         return $e->getMessage();
     }
 }