Что умеет
- **Тянет данные** с внешних источников и складывает в инфоблоки Битрикс по расписанию.
- **Источник «Яндекс.Карты»** включён в базовую поставку: парсит публичные отзывы организации (автор, текст, рейтинг, дата, аватар, ссылка на оригинал) + агрегированный рейтинг с количеством отзывов.
- **Архитектура SourcePlugin** — расширение через отдельные модули-плагины: `wintra.connector-2gis`, `wintra.connector-sbis`, `wintra.connector-b24`, `wintra.connector-travelline` (выпускаются отдельно, активируются через подписку).
- **Универсальный mapping** с макросами: `{value}`, `{value|date:d.m.Y}`, `{value|trim}`, `{value|truncate:200}`, `{value|strip_html}`, `{value|upper}`, `{value|lower}`, кросс-ссылки `{PROPERTY_X.value}` для конкатенации значений из других правил.
- **Фильтры на стороне источника** — например, для Яндекс.Карт: фильтр по минимальному рейтингу (только отзывы 4+, 5 и т.п.).
- **Расписания** — один Битрикс-агент на каждый источник со своим интервалом (5 минут, 15 минут, час, сутки). Управление через отдельную страницу админки.
- **Идемпотентная синхронизация** — повторный прогон не дублирует записи: уникальный `source_id` + hash полей, новые → `Add`, изменённые → `Update`, неизменённые → skip.
- **Журнал прогонов** — каждый запуск фиксируется (fetched / created / updated / skipped + ошибка), видно на странице расписаний.
Новый функционал
1.1.0 | 2026-07-14 | Плагин «ВКонтакте»: трансляция новостей со стены сообщества в инфоблок. Авторизация VK ID (OAuth, токен обновляется автоматически). Текст, дата, счётчики, фото, видео (встраиваемый плеер). Заполнение множественных и файловых свойств инфоблока (галерея). Макрос переноса строк для HTML.
Типовые сценарии
- **Отзывы Я.Карт на сайт.** Подключили источник, указали URL карточки компании на Я.Картах, выбрали инфоблок «Отзывы», задали маппинг (Автор → NAME, Текст → PREVIEW_TEXT, Рейтинг → PROPERTY_RATING, Дата → ACTIVE_FROM, Аватар → PREVIEW_PICTURE), поставили фильтр «4+», расписание «раз в час» — отзывы прилетают на сайт автоматически.
- **Клиенты из Б24 в каталог.** [Через плагин wintra.connector-b24] Карточки клиентов из CRM падают в инфоблок «Клиенты», на сайте — «Наши заказчики».
- **Услуги из СБИС.** [Через плагин wintra.connector-sbis] Прайс СБИС → инфоблок услуг сайта.
- Фильтр отбора записей. В настройках источника добавлен фильтр «Загружать только если заполнено поле»: записи с пустым выбранным полем пропускаются. Например, посты ВКонтакте без текста больше не создают пустые новости.
- Маппинг заголовка. Составной заголовок формируется даже для записей с пустым полем-источником — пост без текста больше не срывает прогон ошибкой «не заполнено обязательное поле Название». Если имя всё же пустое, подставляется идентификатор записи.
- Поля источника в преобразованиях. Любое поле источника можно подставить в преобразовании по его коду (например «{post_id}»), не заводя под него отдельное свойство. Порядок правил значения не имеет.
- Безопасность. Отладочное логирование в журнал событий убрано полностью. Ключ шифрования токенов теперь случайный: генерируется при первом сохранении и хранится в защищённом файле сайта, не выводится из открытых параметров. Подключение ВКонтакте по OAuth защищено от CSRF. Со страницы источников убрана загрузка внешних шрифтов.
- Выбор раздела инфоблока. В настройках источника после выбора инфоблока можно указать раздел, куда складывать записи (например «Новости»). Записи создаются и обновляются в выбранном разделе; по умолчанию — корень.
- Безопасность (полный аудит). Технические детали ошибок (проверка подключения источника, создание свойства инфоблока, копирование источника, ошибка выборки данных) не выводятся наружу — уходят в журнал событий, пользователю показывается обобщённое сообщение.
- Кодировка интерфейса. Разделители (символы «·» и «—») в хлебных крошках, разделе «Помощь» и статусах прогона оформлены HTML-сущностями и ASCII — больше не искажаются на сайтах в кодировке UTF-8.
- Безопасность (замечания модерации Marketplace). Технические детали исключений (обмен токена VK ID, ajax-обработчик) больше не выводятся наружу — уходят в журнал событий, пользователю показывается обобщённое сообщение. Отладочный лог и legacy-агент пишут только в журнал событий (по флагу отладки), не в файл под корнем сайта.
- Кодировка. Убраны символы вне cp1251 из интерфейса и кода: стрелки и крестики оформлены HTML-сущностями, хлебные крошки и таблица сопоставления полей больше не искажаются на cp1251-сайтах.
- Плагин «ВКонтакте» (новости). Трансляция постов со стены сообщества в инфоблок. Авторизация через VK ID (OAuth 2.1 + PKCE): клиент указывает только ID своего приложения, токены доступа модуль получает и обновляет сам, хранит зашифрованно для каждого источника. Метод «wall.get». Поля источника: текст поста (сырой и с переносами строк), дата, лайки, комментарии, репосты, просмотры, ссылка на пост, ID поста, обложка, все фото, видео (ссылка + встраиваемый плеер).
- Заполнение множественных и файловых свойств. Маппинг раскладывает список значений по строкам; для свойства типа «Файл» каждая картинка загружается через SSRF-фильтр. Галерея фото поста заезжает в множественное свойство-галерею инфоблока.
- Макрос преобразования «nl2br» — переносы строк превращаются в перенос HTML, текст не слипается.
- Диагностика прогона. Отказ создания элемента больше не маскируется под «пропущено»: в статусе выводится количество не созданных записей и причина от Битрикса.
- Восстановление удалённых элементов. Если элемент удалили из инфоблока вручную, следующий прогон создаёт его заново, а не пытается обновить несуществующий.
- Безопасность (Marketplace-скан). Технические детали исключений (обмен токена VK ID, ajax-обработчик, debug-лог) больше не выводятся наружу — уходят в журнал событий, пользователю показывается обобщённое сообщение. Debug-лог переведён на журнал событий вместо файла.
- Затронуты файлы: «lib/Plugins/Vk/» (новый плагин), «lib/Core/MappingEngine.php», «lib/Core/Scheduler.php», «lib/Core/PluginRegistry.php», «include.php», «admin/sources.php», «install/index.php», «install/tools/» (OAuth-обработчик), «lang/ru/», «docs/public/plugins/vk.md».
- Правки по замечаниям модерации Marketplace: - Название решения после установки приведено к маркетинговому «Импорт данных из внешних источников в инфоблоки» («MODULE_NAME»). UI-бренд модуля унифицирован как «Винтра.ВебКоннектор» — раньше в интерфейсе встречался несогласованный вариант «Винтра.Коннектор» (меню, шапки, заголовки установки, помощь). - Сообщение после установки: из lang-строк убраны символы вне cp1251 (типографские стрелки и значки-иконки в кнопках) — при сборке архива они превращались в «?». Затронуты текст шага установки и кнопки списка источников (Запустить, Сохранить и запустить, Копия, К списку). - Раздел «Помощь»: исправлена загрузка руководства. «user-help.md» размещён по фактическому пути раздачи docs хаба («docs/public/», ранее URL отдавал 404). Загрузчик теперь проверяет HTTP-статус ответа и при не-200 показывает встроенную копию «install/help.md» вместо тела страницы-ошибки.
- Надёжность: страница «Помощь» проверяет «Loader::includeModule» и показывает понятное сообщение вместо fatal «Class ... PageHeader not found» при рассинхроне установки.
- Затронуты файлы: «lang/ru/install/index.php», «lang/ru/install/step.php», «lang/ru/install/unstep2.php», «lang/ru/admin/sources.php», «lang/ru/admin/schedules.php», «lang/ru/admin/menu.php», «lang/ru/install/admin/wintra_connector_help.php», «install/admin/wintra_connector_help.php», «install/help.md», «docs/public/user-help.md», «install/version.php».
- Фикс безопасности (Marketplace security-scan): - AuthManager: убран plaintext-fallback («plain:» префикс) при хранении credentials. Теперь даже без явного ключа в «.settings_extra.php» используется fallback-ключ, производный от «document_root + license-key Битрикса» — данные шифруются AES-256-CBC в любом случае. Прежние «plain:»-записи прозрачно дешифруются один раз и переписываются в «aes:» при следующем «encrypt()». - MappingEngine::resolveImage (SSRF): перед загрузкой картинки проверяется IP целевого host'а. Запрещены private/loopback/link-local/AWS metadata диапазоны (RFC1918, 127.0.0.0/8, 169.254.0.0/16 и др.). Добавлен размерный лимит 5 МБ + «max_redirects=3» — защита от resource-exhaustion. - Scheduler::dbgLog (information_disclosure): debug-лог перенесён из «/upload/wintra-connector-debug.log» (web-доступная папка) в «/bitrix/wintra-connector-debug.log» (защищён «.htaccess» Битрикса). Лог по-прежнему пишется только при наличии флаг-файла. - schedules.php auto-sync (mass_assignment-CSRF): sync агентов под источники теперь срабатывает раз в 60 секунд (throttle через «b_option»), а не на каждой загрузке. CSRF-каскад INSERT/DELETE в «b_agent» исключён. - wintra_connector_help.php (remote_content_inclusion): загрузка markdown с hub.wintramedia.ru — размерный лимит 512 КБ + «max_redirects=3». Добавлен bundled fallback «install/help.md» в самом архиве модуля: если хаб недоступен или контент превысил лимит, показывается локальная копия.
- Затронуты файлы: «lib/Core/AuthManager.php», «lib/Core/MappingEngine.php», «lib/Core/Scheduler.php», «admin/schedules.php», «install/admin/wintra_connector_help.php», «install/help.md» (новый), «install/version.php».
Разработчик: Винтра Сайт: https://wintramedia.ru Email: support@wintramedia.ru
Перед обращением в поддержку, пожалуйста, подготовьте:
- Версию модуля (указана в /bitrix/admin/partner_modules.php → установленные)
- Версию PHP (phpinfo() или в Bitrix: Настройки → Производительность)
- Текст ошибки полностью (скопируйте из лога Bitrix: /bitrix/admin/event_log.php)
- Описание шагов для воспроизведения проблемы
Время ответа на обращения: 1–3 рабочих дня.
Для покупки товара в нашем интернет-магазине выберите понравившийся товар и добавьте его в корзину. Далее перейдите в Корзину и нажмите на «Оформить заказ» или «Быстрый заказ».
Если оформляете быстрый заказ: напишите ФИО, телефон и e-mail. Вам перезвонит менеджер и уточнит условия заказа. По результатам разговора вам придет подтверждение оформления товара на почту или через СМС. Теперь останется только ждать доставки и радоваться новой покупке.
Оформление заказа в стандартном режиме выглядит следующим образом. Заполняете полностью форму по последовательным этапам: адрес, способ доставки, оплаты, данные о себе. Советуем в комментарии к заказу написать информацию, которая поможет курьеру вас найти. Нажмите кнопку «Оформить заказ».
Оплачивайте покупки удобным способом. В интернет-магазине доступно 3 варианта оплаты:
- Наличные при самовывозе или доставке курьером. Специалист свяжется с вами в день доставки, чтобы уточнить время и заранее подготовить сдачу с любой купюры. Вы подписываете товаросопроводительные документы, вносите денежные средства, получаете товар и чек.
- Безналичный расчет при самовывозе или оформлении в интернет-магазине: карты МИР. Чтобы оплатить покупку на сайте, система перенаправит вас на сервер платежной системы. Здесь нужно ввести номер карты, срок действия и имя держателя.
- Электронные системы при онлайн-заказе: ЮMoney. Для совершения покупки система перенаправит вас на страницу платежного сервиса. Здесь необходимо заполнить форму по инструкции.
- Безналичная оплата на наш расчетный счет по выставленному счету.
Экономьте время на получении заказа. В интернет-магазине доступно 4 варианта доставки:
- Электронная поставка - все необходимые сведения о лицензии, праве пользования, кодах, ключах и др. высылаются покупателю на его e-mail.
- Курьерская доставка. Когда товар будет отправлен с нашего склада, Вам придет уведомление. В день доставки с Вами заблаговременно свяжется курьер для уточнения времени и деталей доставки. Доставка производится "до двери". Осмотрите упаковку на целостность и соответствие указанной комплектации.
- Постамат. Когда заказ поступит на точку, на Ваш телефон или e-mail придет уникальный код. Заказ нужно оплатить в терминале постамата. Срок хранения — 3 дня.
- Доставка Почтой России. Когда заказ придет в отделение, на Ваш адрес придет извещение о посылке. Перед оплатой Вы можете оценить состояние коробки: вес, целостность. Вскрывать коробку самостоятельно Вы можете только после оплаты заказа. Один заказ может содержать не больше 10 позиций и его стоимость не должна превышать 100 000 р.
Дополнительная информация.
Изучите полный алгоритм продления лицензий на модули 1С-Битрикс: Маркетплейс, включая активацию льготных купонов. Мы детально разбираем все условия: обязательный 30-дневный срок для сохранения максимальной выгоды, пропорциональное ценообразование (12,5%, 25%, 50% от цены модуля) и ограничение по минимальной сумме в 500 рублей. Этот гайд поможет вам эффективно планировать бюджет и гарантировать актуальность вашего проекта.