Документы проекта
Описание API
Методы загрузки Маркируемых СЗР
Метод: POST
Адрес:http:<http:<адресСервера>/upload_data
Заголовки:
«Content-Type»: «application/json»
Используется Basic авторизация (Логин и Пароль)
Тело запроса:json
{ "part": "e08dff7e-0c3e-11ef-9258-00155d3b6368", // GUID Документа "data": [ // Массив данных из документа { "produkt_name": "Изагри Молибден", // Наименование "quantity": 3, // //Количество// "code_number_1c": "2111874383452", // Штрихкод "linenumber": 1 // строка документа } ], "alias": "Поступление товаров ГР00001059 от 01.05.2024 12:00:01", // Представление документа "depot": "БП-00140" // Код склада }, { "part": "d9c8eee4-0246-11ef-982e-00155d3b6368", // GUID Документа "data": [ // Массив данных из документа { "produkt_name": "Цепеллин", // Наименование "quantity": 6, // Количество "code_number_1c": "2111379014050", // Штрихкод "linenumber": 35 // строка документа } ], "alias": "Инвентаризация товаров ГР00000004 от 24.04.2024 17:27:59", // Представление документа "depot": "БП-00140" // Код склада }
Пример кода: python
import http.client import json conn = http.client.HTTPSConnection("<адресСервера>",<порт>) payload = json.dumps({ "parts": [ { "part": "e08dff7e-0c3e-11ef-9258-00155d3b6368", "data": [ { "produkt_name": "Изагри Молибден", "quantity": 3, "code_number_1c": "2111874383452", "linenumber": 1 } ], "alias": "Поступление товаров ГР00001059 от 01.05.2024 12:00:01", "depot": "БП-00140" }, { "part": "d9c8eee4-0246-11ef-982e-00155d3b6368", "data": [ { "produkt_name": "Цепеллин", "quantity": 6, "code_number_1c": "2111379014050", "linenumber": 35 } ], "alias": "Инвентаризация товаров ГР00000004 от 24.04.2024 17:27:59", "depot": "БП-00140" } ] }) headers = { 'secret': 'secretkey', 'Content-Type': 'application/json', 'Authorization': 'Basic c3pyX3JvamVjdDpTWlJfcm9qZWN0MTIz' } conn.request("POST", "/upload_data", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
Методы загрузки Выдаваемых СЗР
Метод: POST
Адрес: http:<http:<адресСервера>/upload_data_accept
Заголовки:
«Content-Type»: «application/json»
Используется Basic авторизация (Логин и Пароль)
Тело запроса:json
{ "docs": [ // Массив Документов { "doc": "2d71bee0-3a05-11ef-9815-bc241160c6fa", //GUID Документа "data": [ // Массив данных из документа { "produkt_name": "АДЪЮВАНТ Н-408", // Наименование "quantity": 2, // Количество "code_number_1c": "2111996693694", // Штрих Код "volume": 1 // Объем тары }, { "produkt_name": "Липедоцид П", "quantity": 2, "code_number_1c": "8888888888888", "volume": 10 } ], "alias": "Перемещение материалов на поле БА00000387 от 01.07.2024 0:00:00", // Представление документа "depot": "БП-00136" // Склад }, { "doc": "df004214-3a03-11ef-9815-bc241160c6fa", "data": [ { "produkt_name": "АДЪЮВАНТ Н-408", "quantity": 3, "code_number_1c": "2111996693694", "volume": 1\ }, { "produkt_name": "Липедоцид СК", "quantity": 7, "code_number_1c": "8888888888888", "volume": 10 } ], "alias": "Перемещение материалов на поле БА00000383 от 01.07.2024 0:00:00", "depot": "БП-00136" } ]}
Пример кода:python
import http.client import json conn = http.client.HTTPSConnection("<адресСервера>",<порт>) payload = json.dumps({ "docs": [ { "doc": "2d71bee0-3a05-11ef-9815-bc241160c6fa", "data": [ { "produkt_name": "АДЪЮВАНТ Н-408", "quantity": 2, "code_number_1c": "2111996693694", "volume": 1 }, { "produkt_name": "Липедоцид П", "quantity": 2, "code_number_1c": "8888888888888", "volume": 10 } ], "alias": "Перемещение материалов на поле БА00000387 от 01.07.2024 0:00:00", "depot": "БП-00136" }, { "doc": "df004214-3a03-11ef-9815-bc241160c6fa", "data": [ { "produkt_name": "АДЪЮВАНТ Н-408", "quantity": 3, "code_number_1c": "2111996693694", "volume": 1 }, { "produkt_name": "Липедоцид СК", "quantity": 7, "code_number_1c": "8888888888888", "volume": 10 } ], "alias": "Перемещение материалов на поле БА00000383 от 01.07.2024 0:00:00", "depot": "БП-00136" } ] }) headers = { 'secret': 'secretkey', 'Content-Type': 'application/json', 'Authorization': 'Basic c3pyX3JvamVjdDpTWlJfcm9qZWN0MTIz' } conn.request("POST", "/upload_data_accept", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
Метод Получения данных
Метод: GET
Адрес: http:<http:<адресСервера>/get_data_1c
Заголовки:
«Content-Type»: «application/json»
Используется Basic авторизация (Логин и Пароль)
Ответ от сервера:json
{ "body": [ // Массив Данных { "id": 11153, // ID Объекта "data": { // Содержание объекта "type": 4, // Тип объекта 4 - Возврат на склад тары "history": [ // Данные с метки { "type": 1, // Тип 1 - маркировка "timestamp": 1721106094, // Время маркировки "userrfid": 452, // ID Пользователя "productid": "A15872111", // Пломба "productbr": "2111379183543", // Штрихкод товара "productplace": "", // Ячейка хранения "productrfid": "213137050164", // Метка "lat": 0, // Координаты "lon": 0, "productpart": "012673b2-139f-11ef-8244-00155d031ab3", // Guid документа "productline": 1 // Номер строки }, { "type": 2, // Тип 2 Выдача со склада "timestamp": 1721189027, // Время "userrfid": 453, // ID Пользователя "productid": "A15872111", // Пломба "productrfid": "213137050164", // Метка "uiddoc": "8233f762-43ed-11ef-8d6f-bc241160c6fa" // Guid документа }, { "type": 3, // Тип 3 Использование в поле "timestamp": 1721193563, // Время "userrfid": 225, // ID Пользователя "productid": "A15872111", // Пломба "trailerrfid": 2054, // ID Прицепного "productrfid": "213137050164", // Метка "value": 10, // Использованный объем "lat": 55.597923278808594, // Координаты "lon": 44.59489059448242 } ], "timestamp": 1721275417, // Время "userrfid": "453", // ID Пользователя "productid": "2111379183543", // ШК товара "productbr": "A15872111", // Пломба "productrfid": "213137050164", // Метка "value": 0, // Оставшийся объем в канистре "uid": 1086 // ИД записи от приложения },\ "timestamp": 1721275417505 // Время записи на сервер }, { "id": 11173, // ID Объекта "data": { // Содержание объекта "uid": 6, // ИД записи от приложения "timestamp": 1722198437, // Время "user": "Ушаков Сергей Михайлович", // Имя пользователя "userrfid": "184", // ID Пользователя "productname": "Альбит", // Наименование СЗР "productid": "2111662549154", // Штрихкод "productpart": "c0625ad4-af81-11ee-9f4d-00155d3b6368", // GUID документа "productplace": "", // Ячейка хранения "productbr": "A13302597", // Пломба "productrfid": "095238214060", // Метка "lat": 0, // Координаты "lon": 0, "productline": 1, // Строка документа "uidmarkirovka": 105, // Сервисный ID "type": 1 // Тип объекта 1 - Маркировка }, "timestamp": 1722198437852 // Время записи на сервер }, { "id": 11174, // ID Объекта "data": { // Содержание объекта "type": 3, // Тип объекта 3 - Использование в поле "timestamp": "1722198530", // Время "userrfid": "184", // ID Пользователя "userName": "Ушаков Сергей Михайлович", // Имя пользователя "trailerrfid": "2045", // ID прицепного "trailerName": "ПСК-11 №47", // Наименование прицепного "productrfid": "095238214060", // Метка "productid": "A13302597", // Пломба "value": "1", // Объем использованного "lat": 54.39096333333334, // Координаты "lon": 48.57888500000001, "uid": 2 // Сервисный ID }, "timestamp": 1722198530492 // Время записи на сервер }, { "id": 11176, // ID Объекта "data": { // Содержание объекта "type": 2, // Тип объекта 1 - Выдача со склада "timestamp": "1722198782", // Время "uiddoc": "b749a6fa-3d1b-11ef-8994-bc241160c6fa", // GUID документа "user": "Ушаков Сергей Михайлович", // Имя пользователя "userrfid": "184", // ID Пользователя "szr": [ // Массив выданных СЗР { "productid": "2111662549154", // Штрихкод "productname": "Альбит", // Наименование "markirovka": [ // Массив канистр {\ "productbr": "A13302597", // Пломба "productrfid": "095238214060", // Метка "value": "2.0" // Остаток в канистре }, { "productbr": "A13302597", // Пломба "productrfid": "095238214060", // Метка "value": "1.0" // Остаток в канистре } ] } ], "uid": 4 // Сервисный ID }, "timestamp": 1722198782535 // Время записи на сервер } ] }
Метод Подтверждения получения записей
Метод: GET
Адрес: http:<http:<адресСервера>/set_data_1c?id=1223,2566
Параметры: В параметр id передаются через запятую id до 20 шт
Заголовки:
«Content-Type»: «application/json»
Используется Basic авторизация (Логин и Пароль)
Ответ от сервера:
Код 200 в случае успеха