Поиск

API Octopart предоставляет три типа запросов для поиска компонентов. Выбор подходящего зависит от того, что именно вы знаете о нужном компоненте.

Запрос

Используйте, когда...

supMultiMatch

У вас есть один или несколько точных MPN или SKU, и вы хотите получить точное совпадение для каждого

supSearchMpn

У вас есть один MPN, и вы хотите получить ранжированные результаты совпадения по MPN

supSearch

Вы выполняете поиск по ключевому слову, описанию или частичному номеру компонента

Сопоставление MPN

supMultiMatch – Batch Exact Match

supMultiMatch принимает список MPN или SKU и возвращает наилучшее совпадение для каждого. Это правильный выбор, если вы знаете номера компонентов и хотите найти несколько компонентов в рамках одного запроса.

query MatchParts {
  supMultiMatch(queries: [{ mpn: "LM358DR" }, { mpn: "LM339MX" }]) {
    hits
    parts {
      mpn
      manufacturer {
        name
      }
      sellers {
        company {
          name
        }
        offers {
          inventoryLevel
          prices {
            price
            currency
            quantity
          }
        }
      }
    }
  }
}

Каждый элемент в queries может включать собственный limit, чтобы управлять количеством найденных компонентов, возвращаемых для этого MPN.

supSearchMpn – Поиск по одному MPN

supSearchMpn принимает одну строку запроса и возвращает ранжированные результаты совпадения по MPN. Используйте его, когда ищете по одному компоненту за раз.

query FindByMpn {
  supSearchMpn(q: "LM358", limit: 5) {
    hits
    results {
      part {
        mpn
        manufacturer {
          name
        }
      }
    }
  }
}

Поиск по ключевым словам

supSearch выполняет более широкий поиск по описаниям компонентов, спецификациям и категориям. Используйте его, когда у вас нет точного MPN, например при поиске по типу компонента и электрическим характеристикам.

query FindCapacitors {
  supSearch(q: "100nF 50V 0402 ceramic", limit: 3) {
    hits
    results {
      part {
        mpn
        shortDescription
        manufacturer {
          name
        }
        sellers(includeBrokers: false) {
          company {
            name
          }
          offers {
            clickUrl
            inventoryLevel
            prices {
              price
              currency
              quantity
            }
          }
        }
      }
    }
  }
}

Строка q сопоставляется с описаниями компонентов, категориями и индексированными атрибутами. Для фильтрации по атрибутам (например, точная емкость или номинальное напряжение) используйте параметр filters — см. доступные атрибуты фильтрации.

Фильтрация результатов

Фильтр наличия на складе

Передайте inStockOnly: true, чтобы исключить компоненты, которых нет в наличии ни у одного дистрибьютора. Фильтр применяется на уровне компонента — компонент считается доступным, если он есть в наличии хотя бы у одного дистрибьютора.

supSearch(q: "LM339", limit: 10, inStockOnly: true) { ... }

Только авторизованные продавцы

Передайте authorizedOnly: true в поле sellers, чтобы вернуть только авторизованных дистрибьюторов, исключив брокеров и продавцов серого рынка.

sellers(authorizedOnly: true) {
  company { name }
  offers { inventoryLevel }
}

Фильтрация по дистрибьютору

Используйте options.filters.distributor_id, чтобы ограничить результаты конкретными дистрибьюторами. Можно передать либо числовой идентификатор дистрибьютора, либо его имя:

query MultiMatch {
  supMultiMatch(
    queries: [{ mpn: "FH12-5S-1SH(55)", limit: 2 }]
    options: { filters: { distributor_id: ["Digi-Key", "Mouser"] } }
  ) {
    hits
    parts {
      mpn
      sellers {
        company { name }
        offers {
          prices { price currency }
        }
      }
    }
  }
}

Полный список идентификаторов дистрибьюторов доступен по адресу octopart.com/api/v4/values.

Note: Этот фильтр определяет, предложения каких дистрибьюторов будут показаны в ответе, — он не исключает компоненты, продаваемые другими дистрибьюторами. Если вам нужны в результате только указанные дистрибьюторы, отфильтруйте массив sellers в своем приложении.

Регион и валюта

Многие дистрибьюторы показывают разные уровни складских остатков в зависимости от страны покупателя. По умолчанию API использует US и USD, если страна и валюта не указаны.

Передайте country и currency на уровне запроса, чтобы получить результаты, соответствующие региону:

query GBMatch {
  supMultiMatch(
    country: "GB"
    currency: "GBP"
    queries: [{ mpn: "LM358DR", limit: 3 }]
  ) {
    parts {
      sellers(authorizedOnly: true) {
        company { name }
        offers { inventoryLevel }
      }
    }
  }
}

Коды стран соответствуют стандарту ISO 3166 alpha-2; коды валют соответствуют стандарту ISO 4217.

Обратите внимание, что многие дистрибьюторы осуществляют поставки в несколько стран или не разделяют складские остатки по странам, поэтому country и currency не являются жестким фильтром — они влияют на то, какие предложения отображаются и какие цены показываются.

Подстановочные символы

Если сопоставление по частичному номеру компонента возвращает слишком много результатов, подстановочные символы помогут сузить поиск:

Подстановочный символ

Соответствует

*

Любой последовательности символов (включая пустую)

?

Любому одному символу

По умолчанию подстановочные символы в начале и в конце добавляются автоматически — поэтому 74LS25 и *74LS25* возвращают одинаковые результаты.

Если вы явно добавляете любой подстановочный символ, автоматические подстановочные символы not добавляются. Это полезно для поиска по префиксу:

lv40    → matches anything containing "lv40" (wildcards added automatically)
lv40*   → matches only parts starting with "lv40"

Note: Поскольку неалфавитно-цифровые символы, такие как - и ., нормализуются поисковой системой, lv40* также может вернуть компоненты вроде lv-4000.

Неожиданные MPN в результатах

При использовании сопоставления MPN вы можете иногда получать компоненты, чьи MPN выглядят иначе, чем тот, который вы искали. Это ожидаемое поведение, связанное с тем, как поисковая система токенизирует и индексирует номера компонентов.

Неалфавитно-цифровые символы (например, - и .) игнорируются при построении поискового индекса. Затем сопоставление выполняется с использованием триграмм (последовательностей из трех символов). Например, поиск по ASV-18432MHZ-EJ-T также может вернуть ASV-18.432MHZ-EJ-T, потому что оба значения токенизируются в один и тот же набор триграмм.

If an exact character match is requiredЧтобы этого избежать, сравните возвращенные MPN с вашим входным значением и отфильтруйте результаты в своем приложении.

Ключевые поля ответа

Поле

Расположение

Описание

mpn

part

Номер детали производителя

manufacturer.name

part

Наименование производителя

sellers

part

Список продавцов с предложениями

company.name

sellers

Название дистрибьютора или брокера

inventoryLevel

offers

Количество на складе (см. Inventory для специальных кодов)

prices

offers

Многоуровневые ценовые диапазоны с price, currency и quantity

clickUrl

offers

Прямая ссылка на предложение на сайте дистрибьютора

factoryLeadDays

offers

Срок получения с завода в днях для каждого предложения дистрибьютора

estimatedFactoryLeadDays

part

Оценочный срок поставки с завода, рассчитанный на основе предложений доверенных дистрибьюторов

similarParts

part

Функционально эквивалентные альтернативные компоненты

 

AI-LocalizedЛокализовано с помощью ИИ
Если вы обнаружили проблему, выделите текст/изображение и нажмитеCtrl + Enter, чтобы отправить нам свой отзыв.
Контент