JUST.PARTS
Поиск
ИзбранноеКорзина
Пользователь

API проценки автозапчастей JUST.PARTS — документация

API проценки

Автоматическое получение цен, остатков, сроков поставки и аналогов

API для автоматической проценки автозапчастей

Метод возвращает предложения автозапчастей по артикулу: цены с учётом действующих скидок, доступное количество, склад и срок поставки. При необходимости в ответ включаются предложения аналогов.

Доступ и авторизация

Для выполнения запросов необходимо создать API-ключ в личном кабинете. Передавайте полученный ключ в заголовке X-API-Key. Тип содержимого запроса — application/json. Ключ следует хранить на сервере вашей системы.

POSThttps://just.parts/api3/quotes

Адрес метода: https://just.parts/api3/quotes. Запрос отправляется методом POST с телом в формате JSON.

Пример cURL
curl -X POST "https://just.parts/api3/quotes" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $API_KEY" \
  -d '{"items":[{"article":"ARTICLE","brand":"BRAND"}],"includeAnalogues":true,"sort":"price_asc"}'
API_KEY — ваш секретный API-ключ.

Запрос проценки

Отправьте JSON с массивом items. Каждый элемент содержит артикул и, при необходимости, бренд. Артикул должен содержать не менее трёх символов после нормализации.

ПолеТипОписание
itemsмассивОбязательное поле. От 1 до 10 позиций.
items[].articleстрокаАртикул для поиска, допускается частичное совпадение.
items[].brandстрокаНеобязательный фильтр по бренду.
includeAnaloguesbooleanИскать аналоги. По умолчанию false.
sortстрокаprice_asc (по умолчанию), days_asc или quantity_desc.
JSON запроса
{
  "items": [
    { "article": "ARTICLE", "brand": "BRAND" },
    { "article": "ARTICLE2" }
  ],
  "includeAnalogues": true,
  "sort": "price_asc"
}

Ответ API

Для каждой позиции запроса в results возвращаются подходящие товары. В offers содержатся предложения исходного товара, а в offersAnalogues — плоский список предложений аналогов. Цены указываются в рублях с учётом персональной скидки пользователя или скидки на бренд.

Пример ответа
{
  "requestId": "REQUEST_ID",
  "currency": "RUB",
  "sort": "price_asc",
  "results": [
    {
      "article": "ARTICLE",
      "brand": "BRAND",
      "status": "found",
      "totalProducts": 1,
      "products": [
        {
          "code": "PRODUCT_CODE_01",
          "article": "ARTICLE_01",
          "brand": "BRAND",
          "name": "Название товара",
          "offers": [
            {
              "offerId": "own:OFFER_ID_01",
              "type": "own",
              "price": 1500,
              "quantity": 5,
              "stockId": "STOCK_01",
              "stockName": "Склад 1",
              "days": 0,
              "multiplicity": 1
            }
          ],
          "totalOffers": 1,
          "offersAnalogues": [
            {
              "offerId": "provider:OFFER_ID_02",
              "type": "provider",
              "code": "PRODUCT_CODE_02",
              "article": "ANALOG_ARTICLE",
              "brand": "ANALOG_BRAND",
              "name": "Название аналога",
              "price": 1320,
              "quantity": 3,
              "stockId": "PROVIDER_01",
              "stockName": "Поставщик 1",
              "days": 3,
              "multiplicity": 1
            }
          ],
          "totalAnaloguesOffers": 1
        }
      ]
    },
    {
      "article": "ARTICLE2",
      "brand": null,
      "status": "not_found",
      "totalProducts": 0,
      "products": []
    }
  ]
}
ПолеТипОписание
requestIdstringУникальный идентификатор запроса. Формируется сервером для каждого обращения к API. Может использоваться при обращении в техническую поддержку для поиска конкретного запроса.
currencystringВалюта всех цен в ответе. Значение RUB — российский рубль.
sortstringПрименённый способ сортировки предложений. price_asc — по возрастанию цены, days_asc — по увеличению срока поставки, quantity_desc — по убыванию доступного количества.
resultsarrayМассив результатов проценки. Каждому элементу массива items из запроса соответствует отдельный элемент results. Порядок элементов сохраняется в соответствии с порядком переданных артикулов.
results[].articlestringАртикул из соответствующей позиции запроса. Возвращается в нормализованном виде: в верхнем регистре, без пробелов и специальных символов.
results[].brandstring | nullБренд, указанный в соответствующей позиции запроса. Используется для ограничения поиска товаров конкретным производителем. Если бренд не был передан, возвращается null.
results[].statusstringРезультат поиска исходных товаров. found — найдены товары с доступными предложениями. not_found — подходящих товаров с доступными предложениями нет.
results[].totalProductsnumberОбщее количество найденных исходных товаров с доступными предложениями, соответствующих артикулу и указанному бренду. Значение может превышать количество элементов в products, поскольку в ответ включается не более пяти исходных товаров на одну позицию запроса.
results[].productsarrayМассив найденных исходных товаров. Каждый элемент содержит сведения о товаре, его собственные предложения и, если был запрошен поиск аналогов, предложения аналогов. Возвращается не более пяти товаров на одну позицию.
products[].codestringВнутренний код товара в системе JUST.PARTS. Однозначно определяет товар в каталоге. Может использоваться для сопоставления позиций при последующих обращениях к API.
products[].articlestringАртикул найденного товара, указанный в каталоге. Может отличаться от артикула в запросе, поскольку API поддерживает поиск по частичному совпадению.
products[].brandstringНазвание производителя найденного товара. Возвращается полное наименование бренда из каталога JUST.PARTS.
products[].namestringНаименование товара из каталога JUST.PARTS. Содержит описание запчасти, которое может включать её назначение, характеристики или применяемость.
products[].offersarrayМассив доступных предложений по исходному товару. Включает предложения собственных складов JUST.PARTS и внешних поставщиков.
offers[].offerIdstringУникальный идентификатор конкретного предложения. Используется для различения предложений одного товара. Содержит префикс own: для собственного склада или provider: для поставщика и идентификатор записи предложения.
offers[].typestringИсточник предложения. own — товар находится на собственном складе JUST.PARTS. provider — предложение внешнего поставщика.
offers[].pricenumberЦена одной единицы товара в российских рублях. Указывается с учётом действующих скидок пользователя.
offers[].quantitynumberДоступное количество единиц товара по конкретному предложению.
offers[].stockIdstringИдентификатор склада или источника поставки. Используется для различения предложений, которые могут иметь одинаковую цену, но разные сроки и остатки.
offers[].stockNamestringНазвание склада или поставщика. Для собственных складов возвращается название склада либо его код. Для внешних предложений — название поставщика. Если название отсутствует, возвращается «Поставщик».
offers[].daysnumber | nullСрок поставки в днях. Значение 0 означает предложение собственного склада или нулевой срок в данных поставщика. Положительное число указывает срок поставки, переданный системой. Значение null означает, что срок поставки не указан. Поле не является гарантией точной даты получения заказа.
offers[].multiplicitynumberКратность
products[].totalOffersnumberОбщее количество доступных предложений по исходному товару до применения ограничения на количество предложений в ответе. Например, если найдено 15 предложений, totalOffers будет равен 15, а в массив offers попадут не более десяти.
products[].offersAnaloguesarrayОбщий массив предложений товаров-аналогов. Заполняется при includeAnalogues: true. Аналоги определяются отдельно для каждого исходного товара. В ответ включается не более 20 различных товаров-аналогов и не более семи предложений для каждого.
offersAnalogues[].offerIdstringУникальный идентификатор предложения аналога. Формируется по тому же принципу, что и offerId исходного товара: own: для собственного склада, provider: для внешнего поставщика.
offersAnalogues[].typestringИсточник предложения аналога. own — собственный склад JUST.PARTS, provider — внешний поставщик.
offersAnalogues[].codestringВнутренний код товара-аналога в системе JUST.PARTS. Позволяет определить, к какому именно аналогу относится предложение. Один и тот же код может повторяться в нескольких предложениях, если аналог доступен на разных складах или у нескольких поставщиков.
offersAnalogues[].articlestringАртикул товара-аналога. Относится непосредственно к аналогу, а не к исходному товару. Может отличаться от исходного артикула.
offersAnalogues[].brandstringПроизводитель товара-аналога. Может отличаться от производителя исходного товара.
offersAnalogues[].namestringНаименование товара-аналога в каталоге JUST.PARTS. Позволяет идентифицировать предлагаемую замену.
offersAnalogues[].pricenumberЦена одной единицы товара-аналога в рублях с учётом действующих скидок пользователя.
offersAnalogues[].quantitynumberДоступное количество товара-аналога по конкретному предложению.
offersAnalogues[].stockIdstringИдентификатор склада или источника предложения аналога. Позволяет различать предложения одного аналога с разных складов или от разных поставщиков.
offersAnalogues[].stockNamestringНазвание склада или поставщика. Для собственных складов возвращается название склада либо его код. Для внешних предложений — название поставщика. Если название отсутствует, возвращается «Поставщик».
offersAnalogues[].daysnumber | nullСрок поставки аналога в днях по конкретному предложению. Значение 0 означает нулевой срок, null — отсутствие информации о сроке.
offersAnalogues[].multiplicitynumberКратность
products[].totalAnaloguesOffersnumberОбщее количество доступных предложений всех найденных товаров-аналогов до применения ограничений на количество аналогов и предложений. Может превышать количество элементов в offersAnalogues.

Ограничения

Для одного запроса действуют следующие ограничения на количество позиций и предложений.

ОграничениеЗначение
Позиций в одном запросе10
Найденных товаров на позицию5
Предложений одного найденного товара10
Уникальных товаров-аналогов на найденный товар20
Предложений каждого аналога7
Минимальный интервал между разрешёнными запросами1 секунда
Максимум запросов за скользящие 5 минут100

Частотные ограничения применяются суммарно ко всем API-ключам одной учётной записи.

Ошибки и повторные запросы

HTTPЗначение
400Ошибка параметров запроса, некорректный артикул или сортировка.
401API-ключ не передан или недействителен.
403Доступ к API отключён или недостаточно разрешений.
429Превышен интервал или пятиминутная квота запросов.
500Внутренняя ошибка сервера.

При ответе 429 Too Many Requests заголовок Retry-After содержит время ожидания в секундах перед повторным запросом.