-
-
-
- Примеры
- API
Это старая версия документа!
Данный порядок необходим для предотвращения возможных ошибок при загрузке данных, и рисков, связанных с ними.
Параметры передаются в виде POST или GET запроса.
Запросы к сайту желательно отправлять со статического IP адреса, который будет внесен в белый список в интернет-магазине. В противном случае, потребуется предавторизация.
имя сайта/?option=com_wmartalpha&task=system.syncInfo
Получает информацию о текущей очереди. Результат возвращается в формате JSON.
| Аргумент | Описание | Тип | По-умолчанию |
|---|---|---|---|
| type | Тип синхронизируемого файла | product - основные данные товара, detail – описание товара и фото, price - цены и наличие, order - изменения заказов |
| Аргумент | Описание | Тип | По-умолчанию |
|---|---|---|---|
| code | Код ответа | Код ответа | |
| status | Текстовое описание результата запроса | string | |
| queue | Длина текущей очереди | int | |
| date_last | Дата последней синхронизации сервера | datetime dd.mm.YYYY HH:mm:ss |
имя сайта/?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 | Код ответа | Код ответа | |
| status | Текстовое описание результата запроса | string | |
| queue | Длина текущей очереди | int | |
| date_last | Дата последней синхронизации сервера | datetime dd.mm.YYYY HH:mm:ss |
Любой отличный от 1 код ответа следует рассматривать как ошибку запроса.
| Код ответа | Расшифровка |
|---|---|
| 1 | Запрос успешно исполнен |
| 20 | Тип файла указан некорректно |
| 30 | Файл отсутствует в папке заливки |
| 31 | Не удалось разобрать XML файл. Файл имеет некорректную структуру или был поврежден при загрузке |
| 40 | Дата текущей синхронизации указана некорректно |
| 41 | Дата последней синхронизации сервера не совпадает с датой последней синхронизации файла |
Накопительная выгрузка изменений товаров за период
| 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[fgroup] | id фармакологических групп из справочника (через запятую) |
| products product title | Заголовок товара |
| products product substance | Действующее вещество |
| products product barcode | Штрихкод товара |
| products product vat | Ставка НДС |
| products product imshop_sort | Сортировка товаров для imshop |
| products product flags flag | Флаги-метки товара текстовые короткие слова/словосочетания |
<?xml version="1.0" encoding="UTF-8"?> <data> <categories> <category aid="10" aparent_id="0">Товары</category> <category aid="11" aparent_id="0">Услуги</category> <category aid="12" remove="1">Удаляемая категория</category> </categories> <products> <product aid="376647" aparent_id="126" vendor="278" country="000000021" packing="23" fgroup="0000001021,0000001022" prescript="1" veterinary="1" > <title>5-НОК табл по 50 мг №50 Сандоз</title> <substance>Нитроксолин</substance> <barcode>7613421035662</barcode> <vat>VAT_10</vat> <imshop_sort>10</imshop_sort> <flags> <flag>Акция</flag> <flag>Новинка</flag> </flags> </product> <product aid="376699" remove="1"> <title>Удаляемый товар</title> </product> </products> </data>
Накопительная выгрузка описания товаров за период
| products product | Описание товара. При изменении любых данных элемент выгружается полностью |
| products product[aid] | 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 | имена файлов изображений |
<?xml version="1.0" encoding="UTF-8"?> <data> <products> <product aid="376647"> <diseases> <disease>ОРЗ</disease> <disease>Грипп</disease> </diseases> <syns> <syn>Синоним 1</syn> <syn>Синоним 2</syn> </syns> <analogs> <analog>Аналог 1</analog> <analog>Аналог 2</analog> </analogs> <relatives> <relative>37664732</relative> </relatives> <desc> lt;h2>Наименование</h2> Аквалор Беби средство д/промывания полости носа капли 15 мл Аурена Лабораторис Эйби <h2>Производитель / Страна</h2> Аурена Лабораторис Эй Би / Швеция... </desc> <promo-desc>Промоописание товара длинное может быть</promo-desc> <trade-name>Озопринозин</trade-name> <prescribe> Показания к применению </prescribe> <dosing> Способ применения </dosing> <precaution> Противопоказания </precaution> <storeCnd> Условия хранения </storeCnd> </product> </products> <images> <image type="product" aid="376647"> <filename>AP-0000-3766647.jpg</filename> <filename>AP-0000-3766647-1.jpg</filename> <filename>AP-0000-3766647-2.jpg</filename> </image> <image type="category" aid="376648"> <filename>AP-0000-3766648-1.jpg</filename> <filename>AP-0000-3766648-2.jpg</filename> <filename>AP-0000-3766648-3.jpg</filename> </image> </images> </data>
Накопительная выгрузка изменений цен и остатков за период
| 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 склада в программе учета |
<?xml version='1.0' encoding="UTF-8"?> <data> <lots> <lot aid="1234565435" aproduct_id="865" expire="2023-09-30T00:00:00" short="1" price="720" price_staff="602.81" price_reg="720" price_opt=""> <stock aid="834">9</stock> <stock aid="835">8</stock> <stock aid="836">0</stock> </lot> </lots> </data>
Данные пользователей
| 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 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 операции |
<?xml version="1.0" encoding="UTF-8"?> <data> <users> <user phone="79081234567" aid="guid" card="0122222" card_type="guid"> <profile> <firstname>Кирилл</firstname> <lastname>Сорокин</lastname> </profile> <bonuses sum="100"> <bonus sum="1000" date="2023-05-22T10:00:00" aid="aa12dswd">Стартовые бонусы</bonus> <bonus sum="-900" date="2023-05-22T14:00:00" aid="aa212dw">Матрац аскорбинки</bonus> </bonuses> </user> </users> </data>
Накопительная выгрузка изменений по заказам за период
Идентификатор 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.
<?xml version='1.0' encoding="UTF-8"?> <data> <orders> <order aid="263aa" id="2634" number="203" status="1" source="imshop" created="2021-09-30T10:05:00" changed="2021-09-30T10:05:00"> <user id="12" registered="0" card="76760000000000086" card-type="aa1d17d7-8c63-11eb-879d-00155d016709" aid="950515"> <firstname>Кирилл</firstname> <lastname>Сорокин</lastname> <phone>78310000000</phone> <email>info@web152.ru</email> </user> <shipping id="30" aid="834" type="delivery"> 603000 г. Нижний Новгород, Володарского </shipping> <payment id="1" /> <price shipping="0" coupon="-12.5" balance="0" hold="1459" total="1459" /> <items> <item aid="3790984" expire="2023-09-30T00:00:00" short="1" price="1459" count="1" /> <item aid="3790985" expire="2023-09-30T00:00:00" short="1" price="1459" count="1" /> </items> <note>Комментарий</note> </order> </orders> </data>
Справочные данные по свойствам и складам. Выгружается всегда полностью.
| 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] | время окончания выдачи (пока не используем) |
<?xml version="1.0" encoding="UTF-8"?> <data> <references> <reference name="vendor"> <val aid="7959">Плантэкстракт ГмбХ и Ко.КГ/Мадаус ГмбХ</val> <val aid="7960">Рекитт Бенкизер Хелскэар/ЭсЭсЭл Мануфакт</val> </reference> <reference name="country"> <val aid="000000001">Россия</val> <val aid="000000002">Италия</val> </reference> <reference name="packing"> <val aid="1">Ампулы</val> <val aid="2">Аэрозоль</val> </reference> <reference name="fgroup"> <val aid="0000000689">Средства, действующие преимущественно на центральную нервную систему</val> <val aid="0000000690">Средства, тормозящие активность центральной нервной системы</val> </reference> <reference name="ugroup"> <val aid="0">Розница</val> <val aid="0000000xxx">Карта лояльности</val> <val aid="0000000xxx">Сотрудники</val> </reference> </references> <cities> <city aid="52"> <title>Нижний Новгород</title> <stocks> <stock aid="830" lat="56.296348" lon="43.924713" dropshipping="0"> <title>ЕАптека Московское шоссе ост Березовская</title> <address>603079, г.Нижний Новгород, Московское шоссе, 179</address> <address-short>Н.Новгород,Московское ш.,179</address-short> <phone>+7 (831) 215-51-41</phone> <shedule desc="ПН-ПТ 8:00 – 20:00<br>СБ-ВС 9:00 – 20:00"> </shedule> </stock> <stock aid="831" lat="56.296348" lon="43.924713"> <title>ЕАптека Терешковой</title> <address>603081, г.Нижний Новгород, ул. Терешковой, 6а</address> <phone>+7 (831) 215-51-40</phone> <shedule desc="ПН-ПТ 8:00 – 20:00<br>СБ-ВС 9:00 – 20:00"> <days> <day num="1" purchase_end="18:30" duration="1"> <day num="2" purchase_end="18:30" duration="1"> <day num="3" purchase_end="18:30" duration="1"> <day num="4" purchase_end="18:30" duration="1"> <day num="5" purchase_end="18:00" duration="1"> <day num="6"><!-- нельзя заказывать, но можно забрать --> </days> </shedule> </stock> </stocks> </city> </cities> </data>
Параметры передаются в виде POST или GET запроса.
имя сайта/?option=com_wmartalpha&task=system.orderItems
Получает xml документ с данными заказов измененных начиная с времени date_change
| Аргумент | Описание | Тип | По-умолчанию |
|---|---|---|---|
| date_change | Время изменения заказа | datetime dd.mm.YYYY HH:mm:ss | 00.00.0000 00:00:00 |