====== Процесс синхронизации данных интернет-магазина с программой учета ====== ===== Отправка данных на портал ===== Данный порядок необходим для предотвращения возможных ошибок при загрузке данных, и рисков, связанных с ними. - Запросить дату актуальности последней синхронизации запросом к [[sync_api#syncInfo|syncInfo]] - Сформировать xml с даты последней синхронизации по текущую - Загрузить xml файл по FTP. Имя файла должно быть уникальным. Заменять уже загруженные файлы запрещено. Просьба добавить префикс типа файkа к Имени файлу для удобства анализа, например v8_detail_A8E9_28e.xml - Поставить xml файл в очередь на синхронизацию запросом к [[sync_api#syncAdd|syncAdd]] Параметры передаются в виде POST или GET запроса. Запросы к сайту желательно отправлять со статического IP адреса, который будет внесен в белый список в интернет-магазине. В противном случае, потребуется предавторизация. ==== SyncInfo ==== //имя сайта///?option=com_wmartalpha&task=system.**syncInfo** Получает информацию о текущей очереди. Результат возвращается в формате JSON. === Запрос === ^Аргумент^Описание^Тип^По-умолчанию^ |type|Тип синхронизируемого файла|product - основные данные товара, detail – описание товара и фото, price - цены и наличие, order - изменения заказов| | === Ответ === ^Аргумент^Описание^Тип^По-умолчанию^ |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=product ==== SyncAdd ==== //имя сайта///?option=com_wmartalpha&task=system.**syncAdd** Добавляет файл в очередь синхронизации. Результат возвращается в формате JSON. === Запрос === ^Аргумент^Описание^Тип^По-умолчанию^ |type|Тип синхронизируемого файла|product - основные данные товара, detail – описание товара и фото, price - цены и наличие, order - изменения заказов| | |date_start|Дата последней синхронизации|datetime dd.mm.YYYY HH:mm:ss обязательный| | |date_end|Дата текущей синхронизации (обычно дата формирования файла)|datetime dd.mm.YYYY HH:mm:ss обязательный| | |filename|имя XML файла|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%2020:22:58 ===== Коды ответов ===== Любой отличный от 1 код ответа следует рассматривать как ошибку запроса. ^Код ответа^Расшифровка^ |1|Запрос успешно исполнен| |20|Тип файла указан некорректно| |30|Файл отсутствует в папке заливки| |31|Не удалось разобрать XML файл. Файл имеет некорректную структуру или был поврежден при загрузке| |32|Файл уже в очереди| |40|Дата текущей синхронизации указана некорректно| |41|Дата последней синхронизации сервера не совпадает с датой последней синхронизации файла| ===== Описание данных передаваемых xml данных===== ==== product.xml ==== Накопительная выгрузка изменений товаров за период |categories category|Описание категории. При изменении любых данных элемент выгружается полностью| |categories category[aid]|id категории в программе учета| |categories category[remove]|необязательный атрибут. Пометка категории на удаление| |categories category[aparent_id]|id родительской категории в программе учета| |products product|Описание товара. При изменении любых данных элемент выгружается полностью| |products product[aid]|id товара в программе учета| |products product[remove]|необязательный атрибут. Пометка товара на удаление| |products product[aparent_id]|id родительской категории в программе учета| |products product[vendor]|id производителя из справочника| |products product[country]|id страны из справочника| |products product[packing]|id упаковки из справочника| |products product[prescript]|рецептурный препарат 0 или 1| |products product[veterinary]|ветеринарный препарат 0 или 1| |products product[substance]|id действующего вещества из справочника| |products product[trade-name]|id торгового наименования из справочника| |products product[fgroup]|id фармакологических групп из справочника (через запятую)| |products product title|Заголовок товара| |products product substance|Действующее вещество| ПОКА ОСТАВИТЬ |products product barcode|Штрихкод товара| |products product vat|Ставка НДС| |products product imshop_sort|Сортировка товаров для imshop| |products product flags flag|Флаги-метки товара текстовые короткие слова/словосочетания| Товары Услуги Удаляемая категория 5-НОК табл по 50 мг №50 Сандоз Нитроксолин 7613421035662 VAT_10 10 Акция Новинка Удаляемый товар ==== detail.xml ==== Накопительная выгрузка описания товаров за период |products product|Описание товара. При изменении любых данных элемент выгружается полностью| |products product[aid]|id товара в программе учета| |products product[diseases]|id заболевания из справочника, может быть множественным, через запятую| |products product imgs img|Изображения товара| |products product diseases disease|Связанное заболевание| |products product syns syn|Синонимы| |products product analogs analog|Аналоги| |products product relatives relative|id связанного товара в программе учета| |products product desc|Полное описание товара| |products product promo-desc|Промо описание товара| |products product trade-name|Торговое наименования товара - для объединения всех вариантов выпуска в карточке товара ОСТАВИТЬ ДО ПЕРЕДЕЛКИ| |products product prescribe|Показания к применению| |products product dosing|Способ применения| |products product precaution|Противопоказания| |products product storeCnd|Условия хранения| |images image|Изображения товара или катерогии. При изменении любых данных элемент выгружается полностью| |images image[aid]|id товара или категории в программе учета| |images image[type]|тип элемента product или category| |images image filename|имена файлов изображений| ОРЗ Грипп Синоним 1 Синоним 2 Аналог 1 Аналог 2 37664732 lt;h2>Наименование</h2> Аквалор Беби средство д/промывания полости носа капли 15 мл Аурена Лабораторис Эйби <h2>Производитель / Страна</h2> Аурена Лабораторис Эй Би / Швеция... Промоописание товара длинное может быть Озопринозин Показания к применению Способ применения Противопоказания Условия хранения AP-0000-3766647.jpg AP-0000-3766647-1.jpg AP-0000-3766647-2.jpg AP-0000-3766648-1.jpg AP-0000-3766648-2.jpg AP-0000-3766648-3.jpg ==== price.xml ==== Накопительная выгрузка изменений цен и остатков за период |lots lot|Описание лота. при изменении любых данных элемент выгружается полностью| |lots lot[aproduct_id]|уникальный id товара в программе учета GUID в 1c| |lots lot[aid]|уникальный id лота(партии) в программе учета| |lots lot[expire]|Срок годности партии| |lots lot[price]|Стоимость товара| |lots lot[price_reg]|Стоимость товара| |lots lot[price_staff]|Стоимость товара для сотрудников и фармацевтов| |lots lot[price_opt]|Стоимость товара для корпоративных клиентов| |lots lot[short]|Короткий срок годности 0 или 1| |lots lot stock|Количество товара на складе. Если товар закончился в период выгрузки - необходимо указать 0| |lots lot stock[aid]|id склада в программе учета| 9 8 0 ==== user.xml ==== Данные пользователей |users user[phone]|Телефон| |users user[aid]|GUID пользователя| |users user[card]|Номер карты| |users user[card_type]|GUID типа карты| |users user profile firstname|Имя| |users user profile lastname|Фамилия| |users user organizations|Список, связанных с пользователем Организаций, от имени которых он может делать заказ| |users user organizations organization|Наименование огранизации| |users user organizations organization[inn]|ИНН огранизации ООО или ИП| |users user bonuses|История начисления бонусов за одни сутки| |users user bonuses[sum]|Текущая сумма бонусов| |users user bonuses bonus|Комментарий к операции| |users user bonuses bonus[sum]|Сумма операции| |users user bonuses bonus[date]|Дата операции| |users user bonuses bonus[aid]|GUID операции| Кирилл Сорокин ООО ТОНУС Стартовые бонусы Матрац аскорбинки ==== order.xml ==== Накопительная выгрузка изменений по заказам за период Идентификатор aid назначается программой и считается приоритетным после первого назначения. Если aid не указан приоритетным считается id заказа, присваиваемый сайтом. После двусторонней синхронизации заказ должен содержать оба идентификатора. Пользователя c флагом registered установленным в 0 считать гостем. Данный пользователь не имеет постоянного идентификатора и не должен быть регистрирован в качестве контрагента. |orders order|при изменении любых данных элемент выгружается полностью| |orders order[id]|уникальный id заказа| |orders order[aid]|уникальный id заказа в программе учета| |orders order[number]|номер заказа пользователя| |orders order[status]|id статуса заказа 1 Новый / Заказ создан Клиентом, 2 Заказ собирается / сборка в аптеке, перемещения в аптеку, 3 Заказ в аптеке / готов к выдаче клиенту, 4 Заказ отменен / отменен клиентом, 5 Заказ получен / выкуплен клиентом| |orders order[source]| Истоник заказа Приложение: imshop, сайт site| |orders order[created]|Дата создания заказа| |orders order[changed]|Дата последнего изменения заказа| |orders order user[id]|уникальный id клиента| |orders order user[registered]|клиент зарегистрирован либо гость| |orders order user[card]|номер карты клиента - выданной сайтом или 1с 17знаков, у сайта уникальный префикс 6246 т.е. первая карта будет 62460000000000001 следующая + 1 62460000000000002)| |orders order user[card-type]|тип карты клиента 2059fa64-c2c1-11eb-94ad-00155d016e07 сотрудник aa1d17d7-8c63-11eb-879d-00155d016709 основная клиента| |orders order user[aid]|уникальный id клиента в программе учета| |orders order user firstname|имя клиента| |orders order user lastname|фамилия клиента| |orders order user phone|телефон клиента| |orders order user email|email клиента| |orders order shipping[id]|id типа доставки| |orders order shipping[aid]|id пункта выдачи в программе учета| |orders order shipping[type]|тип доставки stock (самовывоз) или delivery (доставка)| |orders order shipping *|зависит от типа доставки| |orders order payment[id]|id способа оплаты в программе учета| |orders order price[shipping]|стоимость доставки| |orders order price[total]|сумма заказа| |orders order price[coupon]|сумма скидки по купону| |orders order price[hold]|холдированная сумма по заказу| |orders order price[balance]|сумма внесенной оплаты по заказу| |orders order items item[aid]|id товара в программе учета| |orders order items item[short]|признак короткого срока годности| |orders order items item[expire]|максимальный срок годности товара| |orders order items item[price]|цена единицы товара| |orders order items item[count]|количество единиц товара| |orders order note|комментарий пользователя к заказу| alot (guid партии) более не передается. Партия выбирается на усмотрение программы учета исходя из передаваемых сайтом пункта выдачи, срока годности и признака short. Кирилл Сорокин 78310000000 info@web152.ru 603000 г. Нижний Новгород, Володарского Комментарий ==== reference.xml ==== Справочные данные по свойствам и складам. Выгружается всегда полностью. |references reference|Описание справочника| |references reference[name]|Имя справочника| |references reference val|Значение справочника| |references reference val[aid]|id значения справочника в программе учета| |cities city|Описание города| |cities city[aid]|id города в программе учета| |cities city title|Название города| |cities city stocks stock|Описание магазина/склада/пункта выдачи| |cities city stocks stock[aid]|id пункта выдачи в программе учета| |cities city stocks stock[lat]|Географическая широта| |cities city stocks stock[lon]|Географическая долгота| |cities city stocks stock[dropshipping]|Признак удаленного склада (0 - нет, 1 - да)| |cities city stocks stock title|Название пункта выдачи| |cities city stocks stock address|адрес пункта выдачи для отображения в товаре/заказе на сайте| |cities city stocks stock address-short|адрес пункта выдачи в сокращенном виде для СМС о заказе| |cities city stocks stock phone|телефон пункта выдачи| |cities city stocks stock shedule[desc]|режим работы пункта выдачи| |cities city stocks stock shedule days|расписание работы пункта выдачи| |cities city stocks stock shedule days day[num]|день недели (0-воскресенье, 1-понедельник...)| |cities city stocks stock shedule days day[purchase_end]|время окончания приема заказов. если не указано, прием заказов в данный день не производится и переносится на следующий день| |cities city stocks stock shedule days day[duration]|срок обработки заказа| |cities city stocks stock shedule days day[pickup_start]|время начала выдачи (пока не используем)| |cities city stocks stock shedule days day[pickup_end]|время окончания выдачи (пока не используем)| Плантэкстракт ГмбХ и Ко.КГ/Мадаус ГмбХ Рекитт Бенкизер Хелскэар/ЭсЭсЭл Мануфакт Грипп ОРВИ Адапален Азитромицин АЗИТРОМИЦИН Тиберал Россия Италия Ампулы Аэрозоль Средства, действующие преимущественно на центральную нервную систему Средства, тормозящие активность центральной нервной системы Розница Карта лояльности Сотрудники Нижний Новгород ЕАптека Московское шоссе ост Березовская
603079, г.Нижний Новгород, Московское шоссе, 179
Н.Новгород,Московское ш.,179 +7 (831) 215-51-41
ЕАптека Терешковой
603081, г.Нижний Новгород, ул. Терешковой, 6а
+7 (831) 215-51-40
===== Получени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