Знижки через API
API знижок дозволяє читати налаштовані в Skynum правила знижок і бонусів. Це потрібно сайтам, касовим сценаріям, CRM або зовнішнім сервісам, які мають розуміти, які правила діють для товарів, категорій і груп контрагентів.
Повʼязані інструкції:
- Програма лояльності;
- Бонусна програма;
- Фіксована знижка;
- Накопичувальна знижка;
- Спеціальна ціна;
- Товари через API;
- Контрагенти через API.
Endpoint-и
| Метод | Endpoint | Призначення |
|---|---|---|
| GET | /v1/discounts | отримати список знижок |
| GET | /v1/discounts/:id | отримати одну знижку |
Створення, оновлення й видалення знижок через API V1 не описані.
Загальні поля
У відповіді API для знижки повертаються:
| Поле | Призначення |
|---|---|
id | ID знижки. |
name | Назва знижки. |
active | Чи активна знижка. |
kind | Тип знижки. |
start_time | Дата початку дії. |
end_time | Дата завершення дії. |
only_products | Товари, на які діє правило. |
only_categories | Категорії, на які діє правило. |
only_group_contragents | Групи контрагентів, для яких діє правило. |
discounts_aggregation | Налаштування агрегації знижок у компанії. |
created_at | Дата створення. |
updated_at | Дата оновлення. |
Склад полів залежить від kind.
Типи знижок
Код representer-а обробляє такі типи:
kind | Що повертається додатково |
|---|---|
bonus | blocking_discounts, bonus_entry_ratio, bonus_pay_ratio, bonus_max_pay |
cumulative | levels |
special | use_fixed_price, fixed_price, typeprice |
fixed | fixed_rate |
Бонусна програма
Для kind = bonus API повертає:
bonus_entry_ratio- коефіцієнт нарахування бонусів;bonus_pay_ratio- коефіцієнт оплати бонусами;bonus_max_pay- максимальна частка оплати бонусами;blocking_discounts- знижки, які блокуються цим правилом.
Накопичувальна знижка
Для kind = cumulative повертається levels.
Рівні приводяться до числових значень. Це дозволяє зовнішній системі бачити пороги та відсотки накопичувальної знижки.
Спеціальна ціна
Для kind = special повертається:
use_fixed_price;fixed_price, якщо використовується фіксована ціна;typeprice, якщо спеціальна ціна береться з певного типу ціни.
typeprice може посилатися як на системну ціну, так і на додаткову ціну.
Фіксована знижка
Для kind = fixed повертається:
fixed_rate- відсоток фіксованої знижки.
Обмеження за товарами, категоріями та групами контрагентів
У відповіді можуть бути масиви:
only_products- товари зid,title,code,sku;only_categories- категорії зid,title,code;only_group_contragents- групи контрагентів зid,title,code.
Якщо масив порожній, це означає, що в цьому конкретному полі немає обмеження.
API знижок показує налаштовані правила. Остаточний розрахунок знижки в документі залежить від логіки Skynum, товарів, контрагента, активності правил, періоду дії та налаштувань агрегації.
Чеклист
Перед використанням знижок у зовнішній системі перевірте:
- які
kindреально використовує компанія; - чи потрібно зовнішній системі лише показувати правила або самостійно розраховувати ціну;
- чи враховуються групи контрагентів;
- чи враховуються обмеження за товарами й категоріями;
- що робити, якщо у Skynum змінилася активність або період дії знижки;
- як зовнішня система обробляє бонусні програми.
Підсумок
API знижок потрібен для читання правил лояльності й спеціальних цін. Для запису документів із фактичними цінами використовуйте Документи через API.