예시 쿼리
지역 변경
많은 유통 파트너사는 사용자의 국가에 따라 서로 다른 재고 수준을 제공합니다. API는 국가와 통화의 기본값으로 미국(US)과 USD를 사용하지만, 이를 재정의하여 해당 지역에 더 적합한 결과를 얻을 수 있습니다.
영국의 쿼리와 비교해 보겠습니다:
query GBMatch {
supMultiMatch(
country: "GB"
currency: "GBP"
queries: [{ mpn: "AR 32 HZL-TT", limit: 3 }]
) {
parts {
sellers(authorizedOnly: true) {
company {
name
}
offers {
inventoryLevel
}
}
}
}
}
... 미국의 쿼리와 비교하면:
query USMatch {
supMultiMatch(
queries: [{ mpn: "AR 32 HZL-TT", limit: 3 }]
) {
parts {
sellers(authorizedOnly: true) {
company {
name
}
offers {
inventoryLevel
}
}
}
}
}
이 경우, 해당 날짜 기준으로 GB로 배송 가능한 부품은 1,370개였습니다. 하지만 미국에서는 배송 가능한 부품이 300개만 보입니다.
많은 유통업체는 여러 국가로 배송하거나 국가별로 재고를 구분하지 않으므로, 입력한 국가와 통화는 엄격한 필터로 사용되지 않습니다.
국가 코드는 ISO 3166(alpha-2) 표준을 따르며, 통화 코드는 ISO 4217 표준을 따릅니다.
특정 공급업체의 정확한 mpn 일치
SupMultiMatch 쿼리 사용:
query MultiMatch {
supMultiMatch(
queries: [{mpn: "FH12-5S-1SH(55)", limit: 2}]
options: {filters: {distributor_id: ["459", "1106", "2401", "2628", "2454", "3261", "12947"]}}
) {
hits
parts {
mpn
name
sellers {
company {
name
}
offers {
prices {
price
currency
}
}
}
}
}
}
이 설정은 지정한 유통업체가 판매하는 부품만 필터링한다는 점에 유의하세요. 유통업체 목록은 여기에서 확인할 수 있습니다. 다른 유통업체도 이 부품을 판매하는 경우, 해당 정보도 함께 표시됩니다. 원한다면 후처리 과정에서 언제든지 이를 걸러낼 수 있습니다.
회사 ID(예: "459") 대신 회사명(예: "Digi-Key")을 지정할 수도 있습니다. 예시는 다음과 같습니다:
query MultiMatch {
supMultiMatch(
queries: [{mpn: "FH12-5S-1SH(55)", limit: 2}]
options: {filters: {distributor_id: ["Digi-Key"]}}
) {
hits
parts {
mpn
name
sellers {
company {
name
}
offers {
prices {
price
currency
}
}
}
}
}
}
가격 정보가 있는 판매자의 부품
다음은 IDE에서 사용할 수 있는 샘플 쿼리입니다:
query FindPrices {
supSearch(q: "AEC-Q100", limit: 3) {
results {
part {
mpn
manufacturer {
name
}
sellers(includeBrokers: false) {
company {
name
}
offers {
clickUrl
inventoryLevel
prices{
price
currency
quantity
}
}
}
}
}
}
}
정확한 부품 일치
supMultiMatch 쿼리를 사용하면 여러 개의 MPN을 입력해 데이터를 가져올 수 있으며, 각 항목에 대해 정확히 일치하는 값을 찾습니다.
query MatchParts {
supMultiMatch(queries: [{mpn: "G3VM-101PR"}]) {
hits
reference
parts {
id
slug
mpn
manufacturer {
name
}
}
}
}
재고 보유 부품만 필터링
검색 시 재고가 있는 부품만 포함하도록 지정할 수 있습니다. 예를 들면 다음과 같습니다:
supSearch(q: "LM339", limit: 1, inStockOnly: true) { ... }
이 필터를 true(으)로 설정하면 no stock at all인 부품은 제외됩니다. 어떤 부품이 단 하나의 유통업체에서만 재고를 가지고 있더라도, 해당 부품은 재고 보유로 간주되어 쿼리 결과에 포함됩니다.
이 필터링은 유통업체 재고를 전혀 고려하지 않으며, 부품 수준에서 적용됩니다.
다음은 직접 시도해볼 수 있는 예제입니다. 이 쿼리는 AEC-Q100를 검색하며, 페이지네이션 start 페이지를 5, inStockOnly를 true(으)로 설정합니다:
query in_stock_filter{
supSearch(q: "AEC-Q100", start: 5, inStockOnly: true) {
results {
part {
mpn
manufacturer {
name
}
sellers(includeBrokers: false) {
company {
name
}
}
}
}
}
}
예상치 못한 MPN 반환
검색이나 매칭 시, MPN이 영숫자가 아닌 문자만 다른 추가 부품이 함께 발견되는 경우가 있습니다. 예를 들어 - 또는 . 같은 경우입니다.
예를 들어, 다음 MPN에 대해 supMultiMatch 쿼리를 수행한다고 가정해 보겠습니다:
ASV-18.432MHZ-EJ-T as well as ASV-1.8432MHZ-E-J-T (and others).
이 동작은 elastic 검색 엔진에서 인덱싱을 위해 부품이 "토큰화"되는 방식 때문입니다.
MPN은 특수 문자를 무시하고 토큰으로 분할됩니다(예: CV 3-200/SPG는 `CV`, `3200`, `SPG`가 될 수 있음).
그런 다음 트라이그램(3글자 조합)을 사용해 매칭이 수행됩니다. 검색은 토큰화된 MPN과 완전히 일치해야 하지만, 부분 일치는 트라이그램에 따라 달라집니다. 예를 들면:
-
Match: "CV 3-20", "CV 320", "00 SPG" - Each part aligns with at least one full token
-
No Match: "CV 3", "CV 3-", "CV 32" - No part of these aligns with any token
와일드카드 사용
부분 부품 번호로 검색할 때 결과가 너무 많이 나오거나, 부품 번호 매칭에 대한 특정 요구사항이 있을 수 있습니다. 이런 경우 검색을 정교화하기 위해 와일드카드를 사용할 수 있습니다.
-
문자
*는 임의의 문자 시퀀스(문자 0개 포함)와 일치합니다. -
문자
?는 임의의 한 문자와 일치합니다.
와일드카드는 부품 번호 내 어디에서나 사용할 수 있습니다. 부품 번호 중간을 찾기 위해 와일드카드를 사용하는 것은 불필요합니다. 앞뒤 와일드카드는 자동으로 추가되기 때문입니다. 예를 들어, *74LS25*는 74LS25와 동일한 결과를 반환합니다.
용어에 하나 이상의 와일드카드를 추가하면, 다른 와일드카드는 더 이상 자동으로 추가되지 않습니다. 이를 이용해 접두사 검색을 수행할 수 있습니다. 예를 들어, lv40는 부품 번호 어디에서든 lv40를 포함하는 부품을 찾고, 반면 lv40*는 lv40로 시작하는 부품만 찾습니다.
부품의 공장 리드 타임
API에서 조회할 수 있는 필드는 두 가지입니다.
-
factoryLeadDaysSupOffer의 는 공장에서 부품을 조달하는 데 걸리는 일수를 반환합니다. -
estimatedFactoryLeadDaysSupPart의 는 신뢰할 수 있는 유통업체 오퍼를 바탕으로 산출된 예상 공장 리드 타임(일)을 반환합니다.
다음은 공인 판매자에 대한 예제 쿼리입니다:
query LeadDaysSearch {
supSearch(q: "IRL3803STRLPBF", limit: 2) {
results {
part {
mpn
estimatedFactoryLeadDays
sellers(authorizedOnly: true) {
offers {
factoryLeadDays
}
}
}
}
}
}
유사 부품
부품을 검색하거나 매칭할 때 similarParts를 반환하도록 지정할 수 있습니다. 이는 사양과 기능 면에서 유사하다고 Nexar가 식별한 부품입니다. 예제 쿼리는 다음과 같습니다:
query SimilarParts {
supSearch(q: "LM339MX", limit: 1) {
hits
results {
part {
id
mpn
name
manufacturer { name }
similarParts {
id
mpn
manufacturer { name }
}
}
}
}
}