Zapasy
Stan magazynowy API a octopart.com
Dane magazynowe zwracane przez API mogą różnić się od tego, co widzisz na octopart.com. Są ku temu dwa powody:
-
Data freshness – API zwraca stany magazynowe z regularnie pobieranych strumieni danych dystrybutorów. octopart.com korzysta dla niektórych dystrybutorów z danych na żywo, co może odzwierciedlać nowsze zmiany stanów magazynowych.
-
Country defaulting – octopart.com wykrywa kraj użytkownika na podstawie adresu IP i wyświetla oferty odpowiednie dla danego regionu. API domyślnie używa US, jeśli nie określono parametru
country. Jeśli wysyłasz zapytanie dla regionu innego niż USA, zawsze jawnie przekazuj parametrcountry(i opcjonalniecurrency).
Wysyłanie zapytań o dane magazynowe
Informacje o stanach magazynowych są rozłożone na dwa poziomy odpowiedzi:
-
SupPart– pola zbiorczetotalAvailiavgAvailpodsumowują stan magazynowy u wszystkich sprzedawców -
SupOffer– poleinventoryLevelpodaje ilość w magazynie dla konkretnej oferty od konkretnego sprzedawcy
query InventoryCheck {
supSearchMpn(q: "LM358DR", limit: 2) {
results {
part {
mpn
totalAvail
avgAvail
sellers(includeBrokers: false) {
company {
name
}
isAuthorized
offers {
inventoryLevel
updated
}
}
}
}
}
}
Pole updated w SupOffer pokazuje, kiedy dane magazynowe zostały ostatnio odebrane z feedu dystrybutora, co pomaga ocenić ich aktualność.
inventoryLevel Kody specjalne
inventoryLevel zwykle zwraca nieujemną liczbę całkowitą oznaczającą liczbę sztuk w magazynie. Gdy dystrybutor nie może podać dokładnej ilości, zamiast tego zwracany jest ujemny kod specjalny:
Kod |
Znaczenie |
|
Non-Stocked – dystrybutor nie oferuje tej części |
|
Yes – produkt jest dostępny, ale nie podano ilości |
|
Unknown – nie podano wartości ilości albo wartość nie była prawidłową liczbą całkowitą |
|
RFQ – skontaktuj się z dystrybutorem, aby uzyskać wycenę |
totalAvail i avgAvail
totalAvail to suma stanów magazynowych u wszystkich dystrybutorów; avgAvail to średnia na dystrybutora. Oba pola znajdują się w SupPart.
Stany magazynowe brokerów wpływają na te wartości w specyficzny sposób: jeśli żaden standardowy dystrybutor nie ma towaru na stanie, ale co najmniej jeden broker ma inventoryLevel > 0 lub inventoryLevel == -2, wtedy totalAvail jest ustawiane na 1. Rzeczywista ilość u brokera nigdy nie jest dodawana liczbowo – sygnalizowana jest jedynie obecność zapasu u brokera.
Oznacza to, że totalAvail równe 1 przy braku stanów magazynowych u standardowych dystrybutorów jest sygnałem, aby sprawdzić oferty brokerów, a nie dosłowną liczbą sztuk.
Aby odróżnić dystrybutorów od brokerów w swojej aplikacji, użyj pola isBroker w SupPartSeller:
sellers(includeBrokers: true) {
company { name }
isAuthorized
isBroker
offers {
inventoryLevel
}
}