Створення та зміна товару через Бітрікс API
Для початку потрібно розібратися, що являє собою товар у концепції Бітрікса.
В основі будь-якого товару чи пропозиції лежить, як і вимагає концепція Бітрікса, інфоблок. Створюючи його не забудьте поставити галочку "Є торговим каталогом", а також "Інфоблок має торгові пропозиції" якщо це передбачається. Створення інфоблоку через API тут ми не розглядатимемо, це окрема тема. Для товарних пропозицій створюється власний інфоблок. Тобто створення товару починається із створення елемента інфоблоку. Але товару ми ще не маємо.
Далі до елементів інфоблоку додається вже власне екземпляр товару, що має характерні саме для товару властивості.
І вже до товару додаються ціни, знижки, залишки по складах і т.д.
Тепер до практики.
Створення товару через API Бітрікса
Спочатку підключаємо потрібні нам модулі
Як писалося вище, перш за все створюємо елемент інфоблоку.
Важливий момент. Для торгових пропозицій інфоблок повинен мати властивістьCML2_LINK(назва може бути іншою) типу "Прив'язка до товарів (SKU)" до якого обов'язково заноситься ID товару, якому належить пропозиція.
Елемент інфоблоку створено. Тепер перетворюємо його на товар. Наприклад поставимо товару загальну кількість і вагу.
Тим самим ми не просто додали значення властивостей, а створили запис у таблиці товарів.
Навіть без ціни ми вже отримали товар у розумінні Бітрікса. Просто він "безцінний" і його не можна продати. Але ж ми розуміємо, що кожен товар повинен мати свою ціну, а можливо і не одну. Тому додаємо їх. Припустимо, що у нас є базова ціна з ID 1. Для інших типів цін порядок такий самий.
Тепер додамо кількість за складами. Приклад для складу з ID 1:
Теперми отримали товар, який має всі ніжні характеристики.
Зміна властивостей товарів через API Бітрікса
При зміні властивостей товарів у Бітрікс потрібно чітко розуміти яку саме його складають. потрібно змінити (елемент інфоблоку, продукт, ціну тощо). Залежно від цього необхідно використовувати ті чи інші методи Бітрікса.
Рекомендуємо при роботі з існуючими товарами використовувати лише методи update, а не add, навіть якщо це дозволено документацією. Звичайно це не стосується випадків коли додається новий склад чи ціна.
Не забуваймо підключати модулі (див. вище).
Робота з елементом инфоблока. Наприклад змінимо опис анонсу.
Робота з продуктом. Змінимо значення зарезервованої кількості товарів.
Зміна ціни. Тут слід зазначити, що з роботі з цінами та інші подібними параметрами товарів ми працюємо немає з товаром, а , у разі, з ціновим пропозицією, що з товаром, але є окремою сутністю. Відновимо ціну з ID 1.
Зробимо те саме для складу з ID 2. При цьому всі пояснення щодо цінової пропозиції актуальні і тут.
Звичайно, про роботу з товарами можна розповідати довго, але для знайомства та початку розуміння принципів управління товарами через Бітрікс API цього, сподіваюся, достатньо.