====== Процесс синхронизации данных интернет-магазина с программой учета ====== ===== Отправка данных на портал ===== Данный порядок необходим для предотвращения возможных ошибок при загрузке данных, и рисков, связанных с ними. - Запросить дату актуальности последней синхронизации запросом к [[sync_api#syncInfo|syncInfo]] - Сформировать xml с даты последней синхронизации по текущую - Загрузить xml файл. Имя файла должно быть уникальным. Заменять уже загруженные файлы запрещено. - Поставить xml файл в очередь на синхронизацию запросом к [[sync_api#syncAdd|syncAdd]] Параметры передаются в виде POST или GET запроса. ==== SyncInfo ==== //имя сайта///?option=com_wmartalpha&task=system.**syncInfo** Получает информацию о текущей очереди. Результат возвращается в формате JSON. === Запрос === ^Аргумент^Описание^Тип^По-умолчанию^ |type|Тип синхронизируемого файла. Например: catalog, storage |string обязательный| | |realm|Имя базы данных (используется при независимых базах данных)|string| | === Ответ === ^Аргумент^Описание^Тип^По-умолчанию^ |code|Код ответа|[[sync_api#коды_ответов|Код ответа]]| | |status|Текстовое описание результата запроса|string| | |queue|Длина текущей очереди|int| | |date_last|Дата последней синхронизации сервера|datetime dd.mm.YYYY HH:mm:ss| | == Пример == https://sitename.ru?option=com_wmartalpha&task=system.syncInfo&type=catalog ==== SyncAdd ==== //имя сайта///?option=com_wmartalpha&task=system.**syncAdd** Добавляет файл в очередь синхронизации. Результат возвращается в формате JSON. === Запрос === ^Аргумент^Описание^Тип^По-умолчанию^ |type|Тип синхронизируемого файла. Например: catalog, storage |string обязательный| | |date_start|Дата последней синхронизации|datetime dd.mm.YYYY HH:mm:ss обязательный| | |date_end|Дата текущей синхронизации (обычно дата формирования файла)|datetime dd.mm.YYYY HH:mm:ss обязательный| | |filename|имя XML файла|string обязательный| | |realm|Имя базы данных (используется при независимых базах данных)|string| | === Ответ === ^Аргумент^Описание^Тип^По-умолчанию^ |code|Код ответа|[[sync_api#коды_ответов|Код ответа]]| | |status|Текстовое описание результата запроса|string| | |queue|Длина текущей очереди|int| | |date_last|Дата последней синхронизации сервера|datetime dd.mm.YYYY HH:mm:ss| | == Пример == https://sitename.ru?option=com_wmartalpha&task=system.syncAdd&type=catalog&filename=_Items678246.xml&date_start=23.07.2019%2022:58&date_end=24.07.2019%2022:58 ===== Коды ответов ===== Любой отличный от 1 код ответа следует рассматривать как ошибку запроса. ^Код ответа^Расшифровка^ |1|Запрос успешно исполнен| |20|Тип файла указан некорректно| |30|Файл отсутствует в папке заливки| |31|Не удалось разобрать XML файл. Файл имеет некорректную структуру или был поврежден при загрузке| |40|Дата текущей синхронизации указана некорректно| |41|Дата последней синхронизации сервера не совпадает с датой последней синхронизации файла| ===== Получениe данных с портала ===== Параметры передаются в виде POST или GET запроса. ==== orderItems ==== //имя сайта///?option=com_wmartalpha&task=system.**orderItems** Получает xml документ с данными заказов измененных начиная с времени //date_change// === Запрос === ^Аргумент^Описание^Тип^По-умолчанию^ |date_change|Время изменения заказа|datetime dd.mm.YYYY HH:mm:ss|00.00.0000 00:00:00| == Пример == https://sitename.ru?option=com_wmartalpha&task=system.orderItems&date_change=01.01.2020%2023:00