faustddd / symfony-1c-import
Symfony bundle for CommerceML (1C) catalog exchange
Package info
github.com/FAUSTddd/symfony-1c-import
Type:symfony-bundle
pkg:composer/faustddd/symfony-1c-import
v1.2.1
2026-06-01 09:38 UTC
Requires
- php: >=8.2
- ext-simplexml: *
- ext-xmlreader: *
- ext-zip: *
- symfony/config: ^6.4|^7.0|^8.0
- symfony/dependency-injection: ^6.4|^7.0|^8.0
- symfony/filesystem: ^6.4|^7.0|^8.0
- symfony/framework-bundle: ^6.4|^7.0|^8.0
- symfony/messenger: ^6.4|^7.0|^8.0
- symfony/routing: ^6.4|^7.0|^8.0
- symfony/yaml: ^6.4|^7.0|^8.0
Requires (Dev)
- phpunit/phpunit: ^10.0
README
Библиотека для интеграции Symfony с 1С:Предприятие по протоколу CommerceML.
Требования
| PHP | Symfony |
|---|---|
| 8.2+ | 6.4, 7.x |
| 8.4+ | 8.x |
Установка
composer require faustddd/symfony-1c-import
Подключение
// config/bundles.php return [ // ... FaustDDD\Symfony1cImport\Symfony1cImportBundle::class => ['all' => true], ];
Конфигурация
# config/packages/faustddd_1c_import.yaml faustddd_1c_import: endpoint: '/1c/exchange' login: '%env(IMPORT_1C_LOGIN)%' password: '%env(IMPORT_1C_PASSWORD)%' # .env IMPORT_1C_LOGIN=admin IMPORT_1C_PASSWORD=change_me
Использование
| Вариант | Файл 1С | Что нужно | Когда |
|---|---|---|---|
| Импорт каталога | import.xml |
Наследовать CatalogImporter |
Товары, категории |
| Импорт предложений | offers.xml |
Наследовать OffersImporter |
Цены, остатки |
| Кастомный импорт | Любой XML | Наследовать CustomImporter |
Свой формат |
Пример использования
#[AsMessageHandler] class MyCatalogImporter extends CatalogImporter { protected function handleProduct(\SimpleXMLElement $item): void { // Ваша логика } }
Протокол CommerceML
1С делает 4 запроса: checkauth → init → file → import
Лицензия
MIT