Запасы

Запасы в API и на octopart.com

Данные о наличии, возвращаемые API, могут отличаться от того, что вы видите на octopart.com. На это есть две причины:

  • Data freshness – API возвращает данные о наличии из регулярно загружаемых каналов данных дистрибьюторов. octopart.com для некоторых дистрибьюторов использует данные в реальном времени, которые могут отражать более недавние изменения складских остатков.

  • Country defaulting – octopart.com определяет страну пользователя по его IP-адресу и показывает предложения, соответствующие региону. API по умолчанию использует US, если не указан параметр country. Если вы выполняете запрос для региона за пределами США, всегда явно передавайте параметр country (и при необходимости currency).

Запрос данных о наличии

Информация о наличии распределена по двум уровням ответа:

  • 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 обычно возвращает неотрицательное целое число, обозначающее количество единиц на складе. Когда дистрибьютор не может предоставить точное количество, вместо него возвращается отрицательный специальный код:

Код

Значение

-1

Non-Stocked – у дистрибьютора нет этой позиции

-2

Yes – в наличии, но количество не указано

-3

Unknown – значение количества не было предоставлено либо оно не являлось корректным целым числом

-4

RFQ – обратитесь к дистрибьютору для получения ценового предложения

totalAvail и avgAvail

totalAvail — это сумма остатков по всем дистрибьюторам; avgAvail — это среднее значение на одного дистрибьютора. Оба поля находятся в SupPart.

Наличие у брокеров влияет на эти значения особым образом: если у обычных дистрибьюторов товара нет, но один или несколько брокеров имеют inventoryLevel > 0 или inventoryLevel == -2, тогда totalAvail устанавливается в 1. Фактическое количество у брокера никогда не добавляется численно — сигнализируется только сам факт наличия у брокера.

Это означает, что значение totalAvail, равное 1, при отсутствии остатков у обычных дистрибьюторов служит сигналом проверить предложения брокеров, а не буквальным количеством единиц.

Чтобы различать дистрибьюторов и брокеров в вашем приложении, используйте поле isBroker в SupPartSeller:

sellers(includeBrokers: true) {
  company { name }
  isAuthorized
  isBroker
  offers {
    inventoryLevel
  }
}

 

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