API каталога2026-11Предпросмотр

Варианты

Один вариант товара — размер, цвет или модель телефона, — привязанный к SKU продавца, который мы покупаем, и к варианту, который продаёт ваш магазин.

Вариант — это то, что указано в позиции заказа. Его уровень запасов показывает, сколько можно продать.

Объект Variant

idstring
Начинается с var_.
skustring
SKU продавца в нашем прочтении. То, что мы покупаем.
label, options
Значения опций — одной строкой и по названию опции.
costmoney
Сколько продавец берёт за одну единицу в CN¥ по последним данным.
pricemoney
Ваша цена продажи.
in_stockboolean
Может ли продавец его продать, по последним данным.
unitsinteger
Сколько мы покупаем на каждую проданную вами: набор из 3 в вашем магазине — это покупка 3.
weight_ginteger
Указанный вами вес одной единицы в упаковке, используется для оценки доставки.
external_variant_idstring|null
Вариант вашего магазина. Заказ на него покупает этот SKU; заказ на несопоставленный вариант отклоняется.
variant
{
  "id": "var_41hz",
  "product": "prd_8f2k",
  "sku": "5187209554",
  "label": "Black / M",
  "options": { "Color": "Black", "Size": "M" },
  "image": "https://media.ninjabuy.com/listings/weidian-7750970856/sku-black.webp",
  "cost": { "amount": "38.00", "currency": "CNY" },
  "price": { "amount": "49.99", "currency": "USD" },
  "in_stock": true,
  "units": 1,
  "weight_g": 180,
  "external_variant_id": "gid://shopify/ProductVariant/44100231",
  "updated_at": "2026-11-04T09:20:03Z"
}

Список вариантов товара

GET/v1/products/{id}/variants

Все варианты с себестоимостью, вашей ценой, остатком и сопоставлением.

Область доступаproducts:read

Параметры пути

idstringобязательно
ID товара.

Параметры запроса

limit, cursor
Pagination

Ошибки

СтатусТипКогда
404not-foundВ этом аккаунте нет такого товара.
curl "https://www.ninjabuy.com/api/v1/products/prd_8f2k/variants" \
  -H "Authorization: Bearer $NINJABUY_API_KEY" \
  -H "NinjaBuy-Version: 2026-11"
Response 200
HTTP/2 200 OK

{
  "data": [
    {
      "id": "var_41hz",
      "product": "prd_8f2k",
      "sku": "5187209554",
      "label": "Black / M",
      "options": { "Color": "Black", "Size": "M" },
      "image": "https://media.ninjabuy.com/listings/weidian-7750970856/sku-black.webp",
      "cost": { "amount": "38.00", "currency": "CNY" },
      "price": { "amount": "49.99", "currency": "USD" },
      "in_stock": true,
      "units": 1,
      "weight_g": 180,
      "external_variant_id": "gid://shopify/ProductVariant/44100231",
      "updated_at": "2026-11-04T09:20:03Z"
    },
    {
      "id": "var_41j0",
      "product": "prd_8f2k",
      "sku": "5187209555",
      "label": "Black / L",
      "options": { "Color": "Black", "Size": "M" },
      "image": "https://media.ninjabuy.com/listings/weidian-7750970856/sku-black.webp",
      "cost": { "amount": "38.00", "currency": "CNY" },
      "price": { "amount": "49.99", "currency": "USD" },
      "in_stock": false,
      "units": 1,
      "weight_g": 180,
      "external_variant_id": null,
      "updated_at": "2026-11-04T09:20:03Z"
    }
  ],
  "has_more": false,
  "cursor": null
}

Получение варианта

GET/v1/variants/{id}

Один вариант.

Область доступаproducts:read

Параметры пути

idstringобязательно
ID варианта.

Ошибки

СтатусТипКогда
404not-foundВ этом аккаунте нет такого варианта.
curl "https://www.ninjabuy.com/api/v1/variants/var_41hz" \
  -H "Authorization: Bearer $NINJABUY_API_KEY" \
  -H "NinjaBuy-Version: 2026-11"
Response 200
HTTP/2 200 OK

{
  "id": "var_41hz",
  "product": "prd_8f2k",
  "sku": "5187209554",
  "label": "Black / M",
  "options": { "Color": "Black", "Size": "M" },
  "image": "https://media.ninjabuy.com/listings/weidian-7750970856/sku-black.webp",
  "cost": { "amount": "38.00", "currency": "CNY" },
  "price": { "amount": "49.99", "currency": "USD" },
  "in_stock": true,
  "units": 1,
  "weight_g": 180,
  "external_variant_id": "gid://shopify/ProductVariant/44100231",
  "updated_at": "2026-11-04T09:20:03Z"
}

Изменение варианта

PATCH/v1/variants/{id}

Задайте цену, число единиц на продажу, вес или вариант магазина, которому он соответствует. Отправляйте только то, что меняется.

Область доступаproducts:write

Параметры пути

idstringобязательно
ID варианта.

Тело

pricemoney
Необязательно. Ваша цена продажи.
unitsinteger
Необязательно. От 1 до 50.
weight_ginteger
Необязательно. Вес одной единицы в упаковке, в граммах.
external_variant_idstring|null
Необязательно. Сопоставьте с вариантом в вашем магазине или null, чтобы снять сопоставление.

Ошибки

СтатусТипКогда
404not-foundВ этом аккаунте нет такого варианта.
409invalid-stateЭтот вариант магазина уже соответствует другому SKU.
curl -X PATCH "https://www.ninjabuy.com/api/v1/variants/var_41hz" \
  -H "Authorization: Bearer $NINJABUY_API_KEY" \
  -H "NinjaBuy-Version: 2026-11" \
  -H "Content-Type: application/json" \
  -d '{
    "units": 2,
    "price": { "amount": "89.99", "currency": "USD" }
  }'
Response 200
HTTP/2 200 OK

{
  "id": "var_41hz",
  "product": "prd_8f2k",
  "sku": "5187209554",
  "label": "Black / M",
  "options": { "Color": "Black", "Size": "M" },
  "image": "https://media.ninjabuy.com/listings/weidian-7750970856/sku-black.webp",
  "cost": { "amount": "38.00", "currency": "CNY" },
  "price": { "amount": "89.99", "currency": "USD" },
  "in_stock": true,
  "units": 2,
  "weight_g": 180,
  "external_variant_id": "gid://shopify/ProductVariant/44100231",
  "updated_at": "2026-11-04T09:20:03Z"
}