Обмен данными между учетной системой и сервером производится через HTTP запросы. Основное требование - наличие параметра id (15-16 значный идентификатор устройства) в строке запроса. Действием будет значение параметра "action"
Поиск устройства - (action=search, метод GET, параметр id игнорируется)
осуществляется поиск каталога для устройства на сервере. С устройства предварительно нужно выполнить
первый обмен (пустой). Поиск производится по первым буквам идентификатора (идентификатор отображается внизу
слева основного окна программы на устройстве).
Сервер возвращает xml с полным идентификатором устройства, если такое устройство найдено.
http://grissoft.info/xml/scan.php?search=1d2e&action=search
http://grissoft.info/xml/scan.php?search=1111111111&action=search
Удалить все файлы выгрузки на сервере - (action=clear, метод GET) удаляет все файлы выгрузки на сервере (товары, клиенты, документы). Файлы результатов от устройств остаются нетронутыми. Возвращает xml содержащий статус удаления "success".
http://grissoft.info/xml/scan.php?id=1d2e3m4o5x6m7l8&action=clear
Выгрузка списка товаров/клиентов - (action=upload, метод POST) выгружает товары и клиентов на сервер.
В пост-запросе отправляются параметры:
- "articles" содержащий xml-описание товаров.
- "clients" содержащий xml-описание клиентов.
- "people" содержащий xml-описание сотрудников.
- "stack" содержащий xml-описание мест хранения.
Возвращает xml содержащий информацию о статусе загрузки данных по каждому из параметров
Статус принимает значения:
- skip - параметр отсутствовал, данные на сервере не изменились
- success - данные на сервере обновлены
- empty - данные на сервере очищены (если отправить пустое значение)
Возможна выгрузка товаров и/или клиентов частями. В этом случае к URL добавляется параметр "part" содержащий порядковый номер выгрузки (части). Значение должно быть больше нуля (1, 2, 3 и т.д.).
Пример:
http://grissoft.info/xml/scan.php?id=1d2e3m4o5x6m7l8&action=upload&part=1
xml состоит из элементов <article> с полями
Пример:
http://grissoft.info/xml/scan.php?id=1d2e3m4o5x6m7l8&action=articles
xml состоит из элементов <client> с полями
Пример:
http://grissoft.info/xml/scan.php?id=1d2e3m4o5x6m7l8&action=clients
xml состоит из элементов <people> с полями
Пример:
http://grissoft.info/xml/scan.php?id=1d2e3m4o5x6m7l8&action=people
xml состоит из элементов <stack> с полями
Пример:
http://grissoft.info/xml/scan.php?id=1d2e3m4o5x6m7l8&action=stacks
Выгрузка документов на сервер - (action=put, метод POST) выгружает документ на сервер.
Выгружаемый документ будет импортирован на устройство с типом "Складской документ". Предназначен для сверки приходов, заказов и т.д. ответственным сотрудником.
xml состоит из элементов <document>
Для выгрузки нескольких документов необходимо добавить несколько записей <document> в xml или выполнить отправку каждого документа отдельно, после чего выполнить обмен на устройстве.
ВНИМАНИЕ! После импорта на устройство документы с сервера удаляются.
ВНИМАНИЕ! Повторная загрузка документа на устройство удалит существующий документ.
В пост-запросе отправляется параметр documents содержащий xml описание документов
Структура элемента <document>:
Возвращает xml с полем "success" со значением "1" или "error"
Возможные значения ошибок:
- empty - отсутствуют данные
Пример xml:
http://grissoft.info/xml/scan.php?id=1d2e3m4o5x6m7l8&action=documents
Пример ответа:
http://grissoft.info/xml/scan.php?id=1d2e3m4o5x6m7l8&action=put
Получить список документов - (action=list, метод GET) возвращает xml списка документов для указанного идентификатора (параметр id).
xml состоит из элементов <document> с полями:
Параметр TYPE может принимать следующие значения:
- 1 - Инвентаризация
- 2 - Инвентаризация у клиента
- 3 - Расходная накладная
- 4 - Складской документ
- 5 - Возвратная накладная
Для выборки определенного типа документов в строке запроса необходимо добавить параметр "type" с указанием типа документа.
http://grissoft.info/xml/scan.php?id=1d2e3m4o5x6m7l8&action=list&type=4
Получить документ - (action=get, метод GET) возвращает xml документа по имени (параметр doc) или с ошибкой "error" "notfound".
Параметр doc соответствует значению поля docid из запроса списка документов
Ответ состоит из одного элемента <document> со следующими полями:
http://grissoft.info/xml/scan.php?id=1d2e3m4o5x6m7l8&action=get&doc=doc_4_16_20180718081002.xml
Удалить документ - (action=del, метод GET) удаляет документ на сервере по имени (параметр doc).
Возвращает xml с полем "success" со значением "1" или поле "error" содержащее текст ошибки (в текущей версии обмена только "notfound" - документ не найден).
http://grissoft.info/xml/scan.php?id=1d2e3m4o5x6m7l8&action=del&doc=doc_4_16_20180718081002.xml