PHPackages                             mikkimike/exchange1c - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. mikkimike/exchange1c

ActiveLibrary

mikkimike/exchange1c
====================

Catalog Loader from 1c - CommerceML protocol

v1.1.1(5y ago)170MITPHPPHP &gt;=7.1

Since Oct 19Pushed 3y agoCompare

[ Source](https://github.com/mikkimike/exchange1c)[ Packagist](https://packagist.org/packages/mikkimike/exchange1c)[ Docs](https://github.com/bigperson)[ RSS](/packages/mikkimike-exchange1c/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (5)Versions (8)Used By (0)

PHP exchange1c - обмен 1С предприятие с сайтом на php
=====================================================

[](#php-exchange1c---обмен-1с-предприятие-с-сайтом-на-php)

[![Packagist](https://camo.githubusercontent.com/f754569c7df314b1dbdd629e5faaf72231e225535f45cb8907d3d30771a934d2/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f626967706572736f6e2f65786368616e676531632e7376673f7374796c653d666c61742d737175617265)](LICENSE)[![Packagist](https://camo.githubusercontent.com/10fb3f686bcbca86211cb7d32b046d7d8e604eb88d4c5ea741380eaff06ccacb/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f626967706572736f6e2f65786368616e676531632e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/bigperson/exchange1c)[![Packagist](https://camo.githubusercontent.com/2576da604f1d335ad21fad78edb914ed67e067b77b8403eedac4669b1af93a34/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f626967706572736f6e2f65786368616e676531632e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/bigperson/exchange1c)[![Travis (.org)](https://camo.githubusercontent.com/b7bd19691dcd804b25925271b3771297f358d22437063023322c6e0c3b438764/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f626967706572736f6e2f65786368616e676531632e7376673f7374796c653d666c61742d737175617265)](https://travis-ci.org/bigperson/exchange1c)[![Codecov](https://camo.githubusercontent.com/609a622a2756439198d5639b109996bf5c2dd6d6387afd0515942ced7062f9e3/68747470733a2f2f696d672e736869656c64732e696f2f636f6465636f762f632f6769746875622f626967706572736f6e2f65786368616e676531632e7376673f7374796c653d666c61742d737175617265)](https://codecov.io/gh/bigperson/exchange1c)[![StyleCI](https://camo.githubusercontent.com/6eed384f1e57d167b193a2dc24ab892847aa9bbea07e8fb6eac5ebdbe84a160d/68747470733a2f2f6769746875622e7374796c6563692e696f2f7265706f732f3135333735313638312f736869656c643f6272616e63683d6d6173746572)](https://github.styleci.io/repos/153751681)

Установка этой библиотеки, должна упрощать интеграцию 1С в ваш сайт.

Библиотека содержит набор интерфейсов, которые необходимо реализовать, чтобы получить возможность обмениваться товарами и документами с 1С. Предполагается, что у Вас есть 1С:Предприятие 8, Управление торговлей", редакция 11.3, версия 11.3.2 на платформе 8.3.9.2033.

Если у вас версия конфигурации ниже, то скорее всего библиотека все равно будет работать, т.к. по большей части, обмен с сайтами сильно не меняется в 1С от версии к версии.

Данная библиотека была написана на основе модуля  - все основные интерфейсы взяты именно из этого модуля.

Зависимости
===========

[](#зависимости)

- php ^7.1
- carono/commerceml
- symfony/http-foundation ^4.1

Установка
=========

[](#установка)

`composer require bigperson/exchange1c`

Использование
=============

[](#использование)

Для использования библиотеки вам неободимо определить массив конфигов и реализовать интерфейсы в ваших моделях. В примере используется адаптер для symfony/event-dispatcher - Также вы можете использовать пакет-адаптер для интеграции с Laravel

```
require_once './../vendor/autoload.php'; //Подулючаем автолоад

// Определяем конфиг
$configValues = [
    'import_dir'    => '1c_exchange',
    'login'    => 'admin',
    'password' => 'admin',
    'use_zip'       => false,
    'file_part' => 0,
    'models'    => [
        \Mikkimike\Exchange1C\Interfaces\GroupInterface::class => \Tests\Models\GroupTestModel::class,
        \Mikkimike\Exchange1C\Interfaces\ProductInterface::class => \Tests\Models\ProductTestModel::class,
        \Mikkimike\Exchange1C\Interfaces\OfferInterface::class => \Tests\Models\OfferTestModel::class,
    ],
];
$config = new \Mikkimike\Exchange1C\Config($configValues);
$request = \Symfony\Component\HttpFoundation\Request::createFromGlobals();
$symfonyDispatcher = new \Symfony\Component\EventDispatcher\EventDispatcher();
$dispatcher = new \Mikkimike\Exchange1C\SymfonyEventDispatcher($symfonyDispatcher);
$modelBuilder = new \Mikkimike\Exchange1C\ModelBuilder();
// Создаем необходимые сервисы
$loaderService = new \Mikkimike\Exchange1C\Services\FileLoaderService($request, $config);
$authService = new \Mikkimike\Exchange1C\Services\AuthService($request, $config);
$categoryService = new \Mikkimike\Exchange1C\Services\CategoryService($request, $config, $dispatcher, $modelBuilder);
$offerService = new \Mikkimike\Exchange1C\Services\OfferService($request, $config, $dispatcher, $modelBuilder);
$catalogService = new \Mikkimike\Exchange1C\Services\CatalogService($request, $config, $authService, $loaderService, $categoryService, $offerService);

$mode = $request->get('mode');
$type = $request->get('type');

try {
    if ($type == 'catalog') {
        if (!method_exists($catalogService, $mode)) {
            throw new Exception('not correct request, mode=' . $mode);
        }
        //Запускаем сервис импорта каталога
        $body = $catalogService->$mode();
        $response = new \Symfony\Component\HttpFoundation\Response($body, 200, ['Content-Type', 'text/plain']);
        $response->send();
    } else {
        throw new \LogicException(sprintf('Logic for method %s not released', $type));
    }
} catch (\Exception $e) {
    $body = "failure\n";
    $body .= $e->getMessage() . "\n";
    $body .= $e->getFile() . "\n";
    $body .= $e->getLine() . "\n";

    $response = new \Symfony\Component\HttpFoundation\Response($body, 500, ['Content-Type', 'text/plain']);
    $response->send();
}
```

Более подробную информацию по интерфейсам и их реализациям можно почитаь в документации Документация будет добалена позже.

Лицензия
========

[](#лицензия)

Данный пакет является открытым кодом под лицензией [MIT license](LICENSE).

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity10

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity61

Established project with proven stability

 Bus Factor1

Top contributor holds 50% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~208 days

Total

4

Last Release

2135d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/80509592?v=4)[Mikhail](/maintainers/mikkimike)[@mikkimike](https://github.com/mikkimike)

---

Top Contributors

[![bigperson](https://avatars.githubusercontent.com/u/4757391?v=4)](https://github.com/bigperson "bigperson (7 commits)")[![mikekeo](https://avatars.githubusercontent.com/u/74682015?v=4)](https://github.com/mikekeo "mikekeo (5 commits)")[![MikitaL](https://avatars.githubusercontent.com/u/74602346?v=4)](https://github.com/MikitaL "MikitaL (1 commits)")[![Serokuz22](https://avatars.githubusercontent.com/u/54354622?v=4)](https://github.com/Serokuz22 "Serokuz22 (1 commits)")

---

Tags

commerceml1c1c-exchange1c-php

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/mikkimike-exchange1c/health.svg)

```
[![Health](https://phpackages.com/badges/mikkimike-exchange1c/health.svg)](https://phpackages.com/packages/mikkimike-exchange1c)
```

###  Alternatives

[bigperson/exchange1c

Catalog Loader from 1c - CommerceML protocol

406.5k4](/packages/bigperson-exchange1c)[carono/commerceml

Library for parsing CommerceML files

2136.6k5](/packages/carono-commerceml)[kilylabs/odata-1c

ODATA protocol client adopted to use with 1C

7639.2k](/packages/kilylabs-odata-1c)[bigperson/laravel-exchange1c

Catalog Loader from 1c - CommerceML with laravel

333.3k](/packages/bigperson-laravel-exchange1c)[kilylabs/client-bank-exchange-php

1CClientBankExchange parser written in PHP

2825.0k](/packages/kilylabs-client-bank-exchange-php)[gillbeits/commerceml

Library for CommerceML 2.0 parser

323.3k](/packages/gillbeits-commerceml)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
