Автоматический обмен данными между 1С:Альфа-Авто и интернет-магазином WooCommerce в формате JSON.
В продолжение моей темы: 1С:Альфа-Авто Автосалон Автосервис: обмен с сайтом.
Преамбула.
Все мои предыдущие публикации были, так сказать, "баловством", "пробой пера", накоплением опыта. Наигравшись, решил, что пора сделать что-нибудь посерьёзнее.
Этой разработкой сделал автоматический обмен данными между Альфа-Авто и сайтом, с небольшими оговорками — необходимо сделать кое-какие манипуляции и настройки для автоматической работы.
Состав.
- Обработка автоматической выгрузки данных для 1С:Альфа-Авто.
- PHP-скрипт загрузки данных на сайт.
- PHP-скрипт вывода монитора сервиса на страницу сайта.
- Некоторые другие данные, без которых автоматический обмен будет сильно затруднен.
Принцип работы.
Обработка формирует и выгружает пакет данных в формате JSON на FTP-сервер, согласно настройкам. Скрипт загрузки очищает таблицу, обрабатывает данные и загружает данные. Скрипт вывода формирует страницу и публикует данные по запросу.
Работа обработки возможна: в ручном и автоматическом режиме (обмен с заданной периодичностью).
Работа скрипта загрузки возможна только в автоматическом режиме (возможна в ручном, но это тема отдельной публикации).
Необходимы плагины установленные на сайт
- ARI Adminer. С помощью него создается таблица монитора сервиса, простой и понятный, разобраться не составит труда.
- WP Crontrol. Позволяет просматривать и контролировать то, что происходит в системе WP-Cron. С помощью него необходимо создать задачу, которая с определенной периодичностью запускает скрипт загрузки.
Комментарии, размещенные внутри скрипта, разъяснят логику и порядок действия.
Посмотреть работу скриптов можно на моём тестовом сайте здесь. Все данные реальные, предоставлены знакомым автосервисом.
Скрипты включают в себя защиту от SQL инъекций (надеюсь безопасность соблюдена в полной мере).
Скрипты тестировались:
Версия WordPress : 4.9.8
Версия базы данных WooCommerce: 3.4.4
MySQL Версия : 5.6.39-83.1
PHP Версия : 7.1.18
Обработка тестировалась:
Платформа: 1С:Предприятие 8.3 (8.3.10.2639)
Конфигурации:
Альфа-Авто: Автосалон+Автосервис+Автозапчасти ПРОФ, редакция 5.0;
Альфа-Авто: Автосалон+Автосервис+Автозапчасти ПРОФ, редакция 5.1.
P.S. Нравится мне формат JSON, с ним проще чем с CSV, и уж тем более чем с XML. Что в плане работы с 1С, что с PHP.
При передачи файлов по FTP протоколу, логин и пароль передаются в открытом виде без шифрования.
Это о безопасности передачи данных.
Спасибо за комментарий. Путей передачи много, здесь каждый волен сам выбирать протокол шифрования, FTP или иное. Для меня важен был принцип.
Знаю у вордпреса появилось API для внешних взаимодействий. Не пробовали с ним работать?
Пробовал, но не совсем в прямом смысле API. За это надо браться серьезно, а времени пока маловато.