Модифікації через API
Модифікації через API використовують для товарів, у яких облік ведеться за варіантами: розміром, кольором, обʼємом, моделлю або іншими характеристиками. Модифікація належить конкретному товару й має власний код, SKU, видимість, ціни та характеристики.
Якщо товар ведеться з модифікаціями, у документах і звітах важливо працювати з конкретною модифікацією, а не тільки з товаром. Інакше інтеграція може показати загальний товар, але не той варіант, який реально продається або є на залишку.
Endpoint-и
| Метод | Endpoint | Призначення |
|---|---|---|
| GET | /v1/modifications/:id | отримати одну модифікацію |
| POST | /v1/modifications | створити модифікацію |
| PUT | /v1/modifications/:id | оновити модифікацію |
| DELETE | /v1/modifications/:id | видалити модифікацію |
Окремого спискового endpoint-а для модифікацій немає. Список модифікацій товару можна отримати через товари, якщо товар ведеться з модифікаціями.
Отримання модифікації
GET /v1/modifications/:id повертає одну модифікацію.
Додаткові параметри:
| Параметр | Призначення |
|---|---|
with_images | Додати світлини модифікації. |
with_features | Додати характеристики модифікації. |
Поля у відповіді
| Поле | Що означає |
|---|---|
id | ID модифікації. |
product_id | ID товару, до якого належить модифікація. |
title | Назва модифікації. |
visible_in_shop | Видимість модифікації в інтернет-магазині. |
shopwire_status | Статус модифікації для інтеграцій інтернет-магазинів. |
use_prices | Чи використовує модифікація власні ціни. |
code | Код модифікації. |
sku | Артикул модифікації. |
price_min | Ціна мінімум. |
price_supply | Ціна прихідна. |
price_retail | Ціна роздрібна. |
price_wholesale | Ціна гуртова. |
price_promo | Ціна перекреслена. |
custom_prices | Додаткові ціни модифікації. |
images | Світлини, якщо передано with_images=true. |
features | Характеристики, якщо передано with_features=true. |
created_at | Дата створення. |
updated_at | Дата оновлення. |
Створення модифікації
Для створення модифікації потрібен обʼєкт modification і поле product_id.
{
"modification": {
"product_id": "product-id",
"barcode": "SHOES-BLACK-42",
"sku": "SHOES-42-BLACK",
"visible_in_shop": true,
"use_prices": true,
"price_retail": 2500
}
}
Поля для запису
| Поле | Призначення |
|---|---|
product_id | Товар, до якого належить модифікація. Обовʼязковий для створення. |
barcode | Код модифікації. У відповіді повертається як code. |
sku | Артикул модифікації. |
visible_in_shop | Видимість модифікації в інтернет-магазині. |
shopwire_status | Статус модифікації для інтеграцій інтернет-магазинів. |
availability_in_shop | Доступність модифікації в інтернет-магазині. |
use_prices | Використовувати власні ціни модифікації. |
price_min | Ціна мінімум. |
price_supply | Ціна прихідна. |
price_retail | Ціна роздрібна. |
price_wholesale | Ціна гуртова. |
price_promo | Ціна перекреслена. |
custom_prices | Додаткові ціни. |
features | Характеристики модифікації. |
Характеристики модифікації
Характеристики передаються у features.
{
"modification": {
"features": [
{
"parent": "feature-id",
"child": "feature-value-id"
}
]
}
}
У відповіді характеристика містить:
| Поле | Що означає |
|---|---|
feature_id | ID характеристики. |
feature_title | Назва характеристики. |
value_id | ID значення, якщо характеристика має значення з довідника. |
value | Значення характеристики. |
datatype | Тип значення характеристики. |
Ціни модифікації
Якщо use_prices=true, модифікація використовує власні ціни. Якщо власні ціни не використовуються, для сценаріїв продажу й синхронізації орієнтуйтеся на ціни товару.
Системні ціни модифікації:
| Поле API | Ціна в Skynum |
|---|---|
price_supply | Ціна прихідна |
price_retail | Ціна роздрібна |
price_wholesale | Ціна гуртова |
price_min | Ціна мінімум |
price_promo | Ціна перекреслена |
Додаткові ціни передаються у custom_prices, де ключем є ID додаткової ціни.
Оновлення модифікації
PUT /v1/modifications/:id оновлює модифікацію. product_id під час оновлення не змінює приналежність модифікації до товару.
{
"modification": {
"sku": "SHOES-42-BLACK-NEW",
"price_retail": 2600
}
}
Видалення модифікації
Endpoint:
DELETE /v1/modifications/:id
Не використовуйте видалення модифікацій як звичайний сценарій синхронізації. Якщо модифікація вже брала участь у документах, залишках, продажах, резервах або звітах, видалення може бути неможливим або небажаним для обліку.
Чеклист
Перед синхронізацією модифікацій перевірте:
- чи товар у Skynum ведеться з модифікаціями;
- яка система є головною для коду й SKU модифікації;
- чи використовує модифікація власні ціни;
- які характеристики потрібні для модифікації;
- чи потрібні світлини модифікацій у відповіді;
- як інтеграція обробляє видалені або неактивні варіанти;
- чи передаються
product_idіmodification_idу документах, де це потрібно.
Повʼязані матеріали
Підсумок
API модифікацій відповідає за конкретні варіанти товару. Каталог товарів синхронізуйте через Товари через API, а залишки конкретних модифікацій отримуйте через Звіти через API.