Каталог
Дерево
Коды образуют дерево. Каждый уровень добавляет цифры к коду родителя:
| Уровень | Цифр | Пример | Название |
|---|---|---|---|
| Группа | 3 | 009 | КОФЕ, ЧАЙ И СПЕЦИИ |
| Класс | 5 | 00901 | Кофе |
| Позиция | 8 | 00901001 | Кофе |
| Субпозиция | 11 | 00901001001 | Молотый (порошкообразный) кофе |
| Бренд | 14 | 00901001001048 | Maccoffee |
| Код | 17 | 00901001001048023 | в пакет 3в1 20г |
children() возвращает следующий уровень под кодом, а без кода — группы:
ts
const groups = await mxik.children()
groups.items[8] // { code: '009', name: 'КОФЕ, ЧАЙ И СПЕЦИИ', count: 2312 }
const classes = await mxik.children('009')
classes.items[0] // { code: '00901', name: 'Кофе', count: 425 }Каждый элемент — CatalogNode: code, name и count, число кодов внутри. На последнем уровне, у 17-значных кодов, есть ещё штрихкод в internationalCode. У записи «без бренда» в субпозиции name: null.
Результаты приходят страницами, как в поиске. Отфильтровать уровень по названию можно через text:
ts
await mxik.children('00901001001', { text: 'jardin', size: 50 })Чтобы пройти по всем страницам, используйте childrenAll():
ts
for await (const brand of mxik.childrenAll('00901001001'))
console.log(brand.code, brand.name)У 17-значного кода нет потомков, а коды другой длины недопустимы: в обоих случаях children() отклоняется с TypeError.
Справочники
ts
await mxik.stats()
// { groupCount: 117, classCount: 1300, ..., mxikCount: 442337 }
await mxik.units()
// [{ id: 111, name: 'карат' }, { id: 88, name: 'штук (пэт бутылка)' }, ...]
await mxik.taxBenefits()
// [{ id: 100407, nameRu: '...', docNum: 1600, ... }]stats(): сколько в каталоге групп, классов, позиций, субпозиций, брендов и кодов.units(): единицы измерения на языке клиента.taxBenefits(): налоговые льготы с документами, которые их устанавливают, на русском, узбекском (кириллица) и узбекском (латиница). Карточка ссылается на льготу черезlgotaId.