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; заказ на несопоставленный вариант отклоняется.
{
"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
Ошибки
| Статус | Тип | Когда |
|---|---|---|
| 404 | not-found | В этом аккаунте нет такого товара. |
curl "https://www.ninjabuy.com/api/v1/products/prd_8f2k/variants" \
-H "Authorization: Bearer $NINJABUY_API_KEY" \
-H "NinjaBuy-Version: 2026-11"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 варианта.
Ошибки
| Статус | Тип | Когда |
|---|---|---|
| 404 | not-found | В этом аккаунте нет такого варианта. |
curl "https://www.ninjabuy.com/api/v1/variants/var_41hz" \
-H "Authorization: Bearer $NINJABUY_API_KEY" \
-H "NinjaBuy-Version: 2026-11"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, чтобы снять сопоставление.
Ошибки
| Статус | Тип | Когда |
|---|---|---|
| 404 | not-found | В этом аккаунте нет такого варианта. |
| 409 | invalid-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" }
}'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"
}