кассир5:форматобменаданными:http-сервисы
Различия
Показаны различия между двумя версиями страницы.
| Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
| кассир5:форматобменаданными:http-сервисы [2015/09/29 08:40] – [Описание HTTP запросов] aleks | кассир5:форматобменаданными:http-сервисы [2024/04/04 17:29] (текущий) – [Документы] maimakarov | ||
|---|---|---|---|
| Строка 1: | Строка 1: | ||
| + | ====== Описание формата обмена через HTTP-сервис ====== | ||
| + | ===== Теоретическая часть ===== | ||
| + | При обращении к HTTP-сервису формируется URL, который выглядит следующим образом: | ||
| + | **http:// | ||
| + | * http:// | ||
| + | * hs – признак того, что выполняется обращение к HTTP-сервису (в отличие от ws, который определяет доступ к Web-сервису).\\ | ||
| + | * корневойURL – имя ресурса, | ||
| + | * относительныйURL – определяет ресурс, | ||
| + | * p1=x& | ||
| + | ===== Документы ===== | ||
| + | |||
| + | Конфигурация " | ||
| + | * Планирование изменения розничных цен (Чтение) | ||
| + | * Перемещение (Чтение) | ||
| + | * Приходная накладная (Чтение) | ||
| + | * Приходная накладная реализации (Чтение) | ||
| + | * Акт о переоценке (Запись) | ||
| + | * Акт разногласия (Запись) | ||
| + | * Выгрузка из ТСД (Запись) | ||
| + | * Корректировка перемещения (Запись) | ||
| + | * Потребность склада (Запись) | ||
| + | |||
| + | ==== Описание HTTP запросов ==== | ||
| + | * http:// | ||
| + | * hs – признак того, что выполняется обращение к HTTP-сервису (в отличие от ws, который определяет доступ к Web-сервису).\\ | ||
| + | * корневойURL – имя ресурса, | ||
| + | * относительныйURL – определяет ресурс, | ||
| + | * p1=x& | ||
| + | |||
| + | === Описание запроса поиска SEARCH === | ||
| + | Тип запроса - GET \\ | ||
| + | URL запроса - // | ||
| + | Результат - JSON. Поля JSON - data, errcode, errmsg. \\ | ||
| + | data - содержит полученную информацию. Документ или массив документов, | ||
| + | errcode - код ошибки. 0 - нет ошибок, | ||
| + | errmsg - описание ошибки, | ||
| + | |||
| + | Пример корректного запроса: | ||
| + | < | ||
| + | Пример корректного ответа JSON: | ||
| + | < | ||
| + | {" | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | ] | ||
| + | }, | ||
| + | " | ||
| + | " | ||
| + | </ | ||
| + | |||
| + | Пример корректного запроса: | ||
| + | < | ||
| + | Пример корректного ответа JSON, с несколькими документами, | ||
| + | < | ||
| + | { | ||
| + | " | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | ], | ||
| + | " | ||
| + | " | ||
| + | </ | ||
| + | |||
| + | |||
| + | === Описание запроса добавления ADD === | ||
| + | Тип запроса - POST \\ | ||
| + | // | ||
| + | |||
| + | Пример корректного запроса: | ||
| + | < | ||
| + | Тело запроса POST: | ||
| + | < | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | ] | ||
| + | }</ | ||
| + | |||
| + | Пример корректного ответа JSON: | ||
| + | < | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | === Корректировка перемещения === | ||
| + | Тип запроса - POST \\ | ||
| + | // | ||
| + | |||
| + | Пример корректного запроса: | ||
| + | < | ||
| + | Тело запроса POST: | ||
| + | < | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | ] | ||
| + | }</ | ||
| + | |||
| + | Пример корректного ответа JSON: | ||
| + | < | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | === Акт разногласия === | ||
| + | Тип запроса - POST \\ | ||
| + | // | ||
| + | |||
| + | Пример корректного запроса: | ||
| + | < | ||
| + | Тело запроса POST: | ||
| + | < | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | ] | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Пример корректного ответа JSON: | ||
| + | < | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ==== Планирование изменения розничных цен ==== | ||
| + | Примеры URL :\\ | ||
| + | http:// | ||
| + | http:// | ||
| + | http:// | ||
| + | |||
| + | * **documents** - Корневой URL | ||
| + | * **chprices** - Относительный URL | ||
| + | * Список параметров: | ||
| + | * **uuid** - уникальный идентификатор документа в формате XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX, | ||
| + | * **number** – номер документа. | ||
| + | * **gtin** – внутренний штрихкод документа. | ||
| + | |||
| + | При указании нескольких параметров (uuid, gtin, number) поиск документа будет осуществлен до первого удовлетворяющего условию документа по приоритету - uuid, gtin, number. \\ | ||
| + | |||
| + | Результат выполнения команды - Строка JSON. | ||
| + | |||
| + | ==== Потребность склада ==== | ||
| + | Примеры URL :\\ | ||
| + | http:// | ||
| + | Тип запроса - POST \\ | ||
| + | |||
| + | Пример корректного запроса: | ||
| + | < | ||
| + | Тело запроса POST: | ||
| + | < | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | ] | ||
| + | }</ | ||
| + | |||
| + | Пример корректного ответа JSON: | ||
| + | < | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ==== Приходная накладная ==== | ||
| + | Примеры URL :\\ | ||
| + | http:// | ||
| + | Тип запроса - GET \\ | ||
| + | |||
| + | Пример корректного запроса: | ||
| + | < | ||
| + | </ | ||
| + | |||
| + | Пример корректного ответа JSON: | ||
| + | < | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | ], | ||
| + | " | ||
| + | }, | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ==== Выгрузка из ТСД ==== | ||
| + | Примеры URL :\\ | ||
| + | http:// | ||
| + | Тип запроса - POST \\ | ||
| + | |||
| + | Пример корректного запроса: | ||
| + | < | ||
| + | Тело запроса POST: | ||
| + | < | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | ] | ||
| + | }</ | ||
| + | |||
| + | Пример корректного ответа JSON: | ||
| + | < | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | </ | ||
| + | ===== Справочники ===== | ||
| + | |||
| + | Конфигурация " | ||
| + | * Номенклатура (Чтение) | ||
| + | |||
| + | === Описание запроса поиска SEARCH === | ||
| + | Тип запроса - GET \\ | ||
| + | URL запроса - // | ||
| + | Результат - JSON. Поля JSON - data, errcode, errmsg. \\ | ||
| + | data - содержит полученную информацию. Документ или массив документов, | ||
| + | errcode - код ошибки. 0 - нет ошибок, | ||
| + | errmsg - описание ошибки, | ||
| + | |||
| + | Пример корректного запроса: | ||
| + | < | ||
| + | Пример корректного ответа JSON: | ||
| + | < | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ===== Отчеты ===== | ||
| + | |||
| + | === Запрос всех доступных отчетов === | ||
| + | URL запроса | ||
| + | < | ||
| + | http:// | ||
| + | </ | ||
| + | |||
| + | Пример: | ||
| + | < | ||
| + | http:// | ||
| + | </ | ||
| + | |||
| + | Корректный ответ содержит все доступные пользователю отчеты и url для построения отчета. | ||
| + | < | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | ], | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | ], | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | ], | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | ], | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | ], | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | </ | ||
| + | |||
| + | === Запрос отчета === | ||
| + | URL запроса | ||
| + | < | ||
| + | http:// | ||
| + | </ | ||
| + | |||
| + | Пример: | ||
| + | < | ||
| + | http:// | ||
| + | </ | ||
| + | |||
| + | Корректный ответ содержит готовый отчет для отображения в строке - Base64(ZIP(MXL)). т.е. для получения файла отчета необходимо полученную строку сохранить Base64Значение -> ZIP архив -> MXL файл. | ||
| + | < | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Корректный ответ на НЕ корректный запрос | ||
| + | < | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | </ | ||
