# Обмен с 1С (CommerceML) Модуль `commerceml` принимает стандартный HTTP-обмен 1С и потоково разбирает XML через `XMLReader`. Для работы нужны модули **Товары** и **Планировщик**. ## Безопасный запуск 1. Создайте профиль и выберите товарную рубрику. 2. Сопоставьте внешний ID, артикул, цену и остаток с реальными полями рубрики. 3. Оставьте **Создавать неизвестные товары** выключенным. 4. Загрузите тестовый XML и проверьте журнал. 5. После сверки разрешите создание; публикацию новых товаров включайте отдельно. Адрес обмена: `/exchange/1c/<код-профиля>`. Для каждого профиля задаются свои логин и пароль. Пароль хранится в защищённом хранилище секретов и не выводится в панели. Имена загружаемых файлов нормализуются, разрешён только XML, разбор выполняется с `LIBXML_NONET`. Сначала товар ищется по сохранённой связи внешнего ID, затем по полю артикула. Неизвестная позиция либо пропускается, либо создаётся в выбранной рубрике. Все запуски сохраняют количество обработанных, созданных, обновлённых и ошибочных позиций. Фильтр `commerceml.document.payload` позволяет изменить `payload` перед сохранением документа. События `commerceml.item.failed` и `commerceml.import.completed` подходят для уведомлений и интеграционного лога.