検索
Octopart API には、部品を見つけるための 3 つのクエリがあります。どれを選ぶべきかは、探している部品について何を把握しているかによって決まります。
クエリ |
使用する場面... |
|
1 つ以上の正確な MPN または SKU があり、それぞれについて正確に一致する結果が欲しい場合 |
|
単一の MPN があり、順位付けされた MPN 一致結果が欲しい場合 |
|
キーワード、説明、または部分的な部品番号で検索する場合 |
MPN Matching
supMultiMatch – Batch Exact Match
supMultiMatch は MPN または SKU のリストを受け取り、それぞれについて最適な一致を返します。部品番号が分かっていて、1 回のリクエストで複数の部品を検索する必要がある場合に適しています。
query MatchParts {
supMultiMatch(queries: [{ mpn: "LM358DR" }, { mpn: "LM339MX" }]) {
hits
parts {
mpn
manufacturer {
name
}
sellers {
company {
name
}
offers {
inventoryLevel
prices {
price
currency
quantity
}
}
}
}
}
}
queries の各要素には、その MPN に対して返される一致部品数を制御するための独自の limit を含めることができます。
supSearchMpn – Single MPN Search
supSearchMpn は単一のクエリ文字列を受け取り、順位付けされた MPN 一致結果を返します。1 回に 1 つの部品を検索する場合に使用します。
query FindByMpn {
supSearchMpn(q: "LM358", limit: 5) {
hits
results {
part {
mpn
manufacturer {
name
}
}
}
}
}
Keyword Search
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 パラメータを使用してください。利用可能なフィルタ属性 を参照してください。
結果のフィルタリング
在庫ありフィルタ
在庫を持つディストリビュータが 1 社もない部品を除外するには、inStockOnly: true を渡します。このフィルタは部品レベルで適用されます。つまり、1 社でも在庫があれば、その部品は在庫ありと見なされます。
supSearch(q: "LM339", limit: 10, inStockOnly: true) { ... }
正規販売店のみ
sellers フィールドに対して authorizedOnly: true を渡すと、ブローカーやグレーマーケット販売業者を除外し、正規ディストリビュータのみを返します。
sellers(authorizedOnly: true) {
company { name }
offers { inventoryLevel }
}
ディストリビュータで絞り込み
結果を特定のディストリビュータに限定するには、options.filters.distributor_id を使用します。ディストリビュータの数値 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 }
}
}
}
}
}
ディストリビュータ ID の完全な一覧は、octopart.com/api/v4/values で確認できます。
地域と通貨
多くのディストリビュータは、購入者の国に応じて異なる在庫数を提供します。国と通貨が指定されていない場合、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 は厳密なフィルタではない点に注意してください。これらは、どのオファーが表示されるかや、その価格に影響します。
ワイルドカード
部分的な部品番号一致で結果が多すぎる場合、ワイルドカードを使って検索を絞り込めます。
ワイルドカード |
一致内容 |
|
任意の文字列(空文字を含む) |
|
任意の 1 文字 |
デフォルトでは、先頭と末尾にワイルドカードが自動的に追加されます。したがって、74LS25 と *74LS25* は同じ結果を返します。
ワイルドカードを 1 つでも明示的に追加すると、自動ワイルドカードは not 追加されません。これは前方一致検索に便利です。
lv40 → matches anything containing "lv40" (wildcards added automatically)
lv40* → matches only parts starting with "lv40"
結果に予期しない MPN が含まれる場合
MPN matching を使用すると、検索したものとは異なるように見える MPN を持つ部品が返ることがあります。これは、検索エンジンが部品番号をトークン化してインデックス化する方法によるもので、想定される動作です。
- や . などの英数字以外の文字は、検索インデックス作成時に無視されます。その後、一致判定はトライグラム(3 文字の並び)を使用して行われます。たとえば、ASV-18432MHZ-EJ-T を検索すると、両方が同じトライグラム集合にトークン化されるため、ASV-18.432MHZ-EJ-T も返る場合があります。
If an exact character match is required返された MPN を入力値と比較し、アプリケーション側で結果をフィルタリングしてください。
主要なレスポンスフィールド
フィールド |
場所 |
説明 |
|
|
メーカー部品番号 |
|
|
メーカー名 |
|
|
オファーを持つ販売業者の一覧 |
|
|
ディストリビュータ名またはブローカー名 |
|
|
在庫数量(特別なコードについては Inventory を参照) |
|
|
|
|
|
を含む段階価格の価格ブレーク。ディストリビュータのサイト上のオファーへの直接リンク |
|
|
各ディストリビュータオファーごとの、工場からの調達に必要な日数 |
|
|
信頼できるディストリビュータのオファーから算出された推定工場リードタイム |
|
|
機能的に同等な代替部品 |