在庫
API の在庫情報と octopart.com
API から返される在庫データは、octopart.com に表示される内容と異なる場合があります。これには 2 つの理由があります。
-
Data freshness – API は、定期的に取り込まれる販売代理店のデータフィードから在庫情報を返します。octopart.com では、一部の販売代理店についてライブの販売代理店データを使用しているため、より新しい在庫変動が反映されることがあります。
-
Country defaulting – octopart.com は、ユーザーの IP アドレスから国を判別し、その地域に適したオファーを表示します。API は、US パラメータが指定されていない場合、デフォルトで
countryを使用します。米国以外の地域を照会する場合は、必ずcountry(必要に応じてcurrencyも)パラメータを明示的に指定してください。
在庫データの照会
在庫情報は、レスポンス内の 2 つのレベルに分かれています。
-
SupPart– 集計フィールドtotalAvailとavgAvailは、すべての販売者の在庫を要約したものです -
SupOffer–inventoryLevelフィールドは、特定の販売者による特定のオファーの在庫数量を示します
query InventoryCheck {
supSearchMpn(q: "LM358DR", limit: 2) {
results {
part {
mpn
totalAvail
avgAvail
sellers(includeBrokers: false) {
company {
name
}
isAuthorized
offers {
inventoryLevel
updated
}
}
}
}
}
}
updated の SupOffer フィールドには、販売代理店のフィードから在庫データを最後に受信した時刻が表示され、データの鮮度を評価するのに役立ちます。
inventoryLevel特殊コード
inventoryLevel は通常、在庫ユニット数を表す 0 以上の整数を返します。販売代理店が正確な数量を提供できない場合は、代わりに負の特殊コードが返されます。
コード |
意味 |
|
Non-Stocked – その販売代理店はこの部品を取り扱っていません |
|
Yes – 在庫ありですが、数量は提供されていません |
|
Unknown – 数量値が提供されなかったか、その値が有効な整数ではありませんでした |
|
RFQ – 見積もりについては販売代理店にお問い合わせください |
totalAvail と avgAvail
totalAvail は、すべての販売代理店の在庫合計です。avgAvail は販売代理店あたりの平均値です。どちらのフィールドも SupPart にあります。
ブローカー在庫は、これらの値に特有の形で影響します。標準の販売代理店に在庫がなくても、1 社以上のブローカーが inventoryLevel > 0 または inventoryLevel == -2 を持っている場合、totalAvail は 1 に設定されます。ブローカーの実際の数量が数値として加算されることはなく、ブローカー在庫の存在だけが示されます。
これは、標準の販売代理店在庫がない状態で totalAvail が 1 になっている場合、文字どおりの在庫数ではなく、ブローカーのオファーを確認すべきことを示すシグナルであることを意味します。
アプリケーション内で販売代理店とブローカーを区別するには、SupPartSeller の isBroker フィールドを使用してください。
sellers(includeBrokers: true) {
company { name }
isAuthorized
isBroker
offers {
inventoryLevel
}
}