# moyskad-catalog Генератор ICML для каталога из МойСклад ## Использование 1) Выполните include файла `MoySkladICMLParser.php` 2) Сконфигурируйте парсер ```php $parser = new MoySkladICMLParser( 'login@moysklad', 'password', 'shopname', $options ); ``` 3) Вызовите метод `generateICML` ```php $parser->generateICML(); ``` Смотрите файл `example.php` в качестве простого примера использования парсера. ## Подробная пошаговая инструкция Для автоматической генерации каталога товаров на основе продукции из МС Вам понадобится разместить где-то у себя на сервере небольшой скрипт, который будет заниматься созданием необходимого ICML-файла для retailCRM. Также, после настройки скрипта, необходимо будет добавить задачу в cron. Как всё настроить: 1) Разместите у себя на сервере в какой-нибудь директории два файла `MoySkladICMLParser.php` и `example.php`. 2) Файл `MoySkladICMLParser.php` ни в коем случае не изменять и не переименовывать! Любое изменение данного файла будет расцениваться как кастомизация скрипта генерации и за его дальнейшую работоспособность мы ответственность не несём. 3) Далее требуется внести необходимые настройки в файл `example.php` (файл можно переименовать, расширение `.php` оставить): a) вместо `login@moysklad` ввести логин для входа в систему МойСклад (логин сотрудника, для входа в систему управления складом); b) вместо `password` ввести пароль; c) `shopname` заменить на название Вашего магазина (или любое другое название); d) в строке `'file' => 'test.xml'`, заменить `test.xml` на любое другое название (например, `catalog.xml`, расширение файла оставить то же), либо оставить без изменения. 4) После настройки добавить задачу в cron: `* */4 * * * php /путь_к_файлу_скрипта/example.php` (данная запись подразумевает автоматический запуск генерации файла каталога каждый день раз в 4 часа). 5) Запустить генерацию вручную (командой `php /путь_к_файлу_скрипта/example.php`), чтобы в папке со скриптом появился файл каталога в формате xml. 6) Добавить ссылку на файл в настройках магазина в retailCRM. ## Дополнительные опции Параметр $options - массив со следующими ключами: * `file` - Имя файла с итоговым icml без пути (по умолчанию: shopname.catalog.xml) * `directory` - Директория для итогового icml файла (по умолчанию: текущая директория) * `ignoreOffers` - Если `true` модификации товаров из МойСклад будут проигнорированы * `ignoreCategories` - Строка `'all'` или массив с ключами: * `uuids` - Массив c `uuid` групп товаров, которые должны быть проигнорированы * `externalCodes` - Массив c `внешними кодами` групп товаров, которые должны быть проигнорированы * `ignoreProducts` - Массив с ключами: * `uuids` - Массив с `uuid` товаров, которые будут проигнорированы (Модификации товара проигнорировать нельзя) * `externalCodes` - Массив с `внешними кодами` товаров, которые будут проигнорированы (Модификации товара проигнорировать нельзя) * `ignoreNoCategoryOffers` - Если `true` товары, не принадлежащие ни к одной категории, будут проигнорированы * `imgur` - Хостинг изображений * `clientId` - Уникальный идентификатор приложения (как его получить читайте далее) Все доступные опции не обязательны для использования ## Добавление изображения Для того чтобы добавить в выгрузку изображение товара Создать приложение на сайте https://api.imgur.com/oauth2/addclient * Application name - Название сайта * Authorization type - OAuth 2 authorization without a callback URL * Application website - URL сайта * Email - email администаротора сайта * Description - Описание сайта После создания приложения отобразится два поля `Client ID` и `Client secret`. Нам потребуется только `Client ID` который требуется вставить в $options.