Все запросы осуществляются только методом POST на адрес "http://88.198.114.162:30101/rest/api/one_s".
Параметры должны быть представлены в формате JSON. Ответ так же возвращается в виде JSON. Все текстовые параметры, посланные и принятые, предполагают использование кодировки UTF-8.
Шаблон запроса:
{"m":"...","p":{...}}
“m”: (string), - тип запроса
“s”: (string), - uid сессии (для всех запросов кроме login)
Шаблон ответа:
{"o":{...}}
Если ошибка ответ: “e”: (string) – информация о ошибке
{"m":"c","p":{"l":"user","pa":"3"}}
"l": (string) - логин
"pa": (string) - пароль
ответ:
"s": (string) - uid сессии
В случае удачного входа - {"o":{"s":"2CEF8F2F851B1E2188AF63D76480359F"}}
В случае неудачного входа - {"o":{"s":null,"e":"неправильный логин или пароль"}}
или
{"o":{"s":null,"e":"нет прав на подключение"}}
{"m":"d","p":{"s":"2CEF8F2F851B1E2188AF63D76480359F"}}
ответ:
{"o":{"s":null}}
Выгрузка из 1С справочников:
Получить объекты AA без идентификатора 1C:
тип объекта:
11 – геозона (поле)
12 – водитель
13 – транспорт
14 – прицепное
15 – культура
16 – вид работ
18 – организация
Запрос: {"m":"g_o", “p”:{ “t”:“ID сессии”}}
“t”: (number)- тип объектов
Ответ:
{{ “n”: “id”:}, ...]
“n”: string - наименование,
“id”: number - id объектa АА
- добавление новой строки справочника 1с
{"m":"i","p":{"s":"2CEF8F2F851B1E2188AF63D76480359F","t":16,"UUID":"4e82fffe-c975-11e0-89ab-c80aa90473c2","UUID_P":"4e82ffc8-c975-11e0-89ab-c80aa90473c2","n":"Внесение минер. удобр. 101-150 кг/га"}}
возможные значения параметра "t":
11 – геозона (поле)
12 – водитель
13 – транспорт
14 – прицепное
15 – культура
16 – вид работ
17 – подвид работ
18 – организация
19 – склады ГСМ
24 – условие работы
ответ:
в случае успеха - {"o":"ok"}
в случае ошибки - {"o":{"e":"ошибка…"}}
- изменение наименования (меняется наименование в справочнике 1с)
{"m":"e","p":{"s":"2CEF8F2F851B1E2188AF63D76480359F","UUID":"4e82fffe-c975-11e0-89ab-c80aa90473c2","n":"новое наименование в справочнике 1с"}}
ответ:
в случае успеха - {"o":"ok"}
в случае ошибки - {"o":{"e":"UUID не найден"}}
- удаление строки справочника 1с
{"m":"del","p":{"s":"2CEF8F2F851B1E2188AF63D76480359F","UUID":"4e82fffe-c975-11e0-89ab-c80aa90473c2"}}
ответ:
в случае успеха - {"o":"ok"}
в случае ошибки - {"o":{"e":"ошибка…"}}
- изменение наименования (меняется имя объекта в ГИС Агроаналитика)
{"m":"e_a","p":{"s":"2CEF8F2F851B1E2188AF63D76480359F","UUID":"6183a05c-a3df-11e3-9a58-c80aa90473c2","n":" новое наименование в агроаналитике"}}
ответ:
в случае успеха - {"o":"ok"}
в случае ошибки - {"o":{"e":"UUID не найден"}}
- запрос идентифицированных строк справочника 1с
{"m":"f","p":{"s":"C626B7823028DBDF85BA225052422115","n":"i"}}
ответ:
{"o":{"dс":872,"d":["acbb7bfa-64f8-11e0-a425-001e0b831428","acbb7bfb-64f8-11e0-a425-001e0b831428"]}}
- запрос списка для загрузки
{"m":"f","p":{"s":"2CEF8F2F851B1E2188AF63D76480359F","n":"наименование списка","df":"29.01.2015 00:00:00","dt":"29.01.2015 20:00:00"}}
- путевые листы тракториста {"m":"f","p":{"s":"2CEF8F2F851B1E2188AF63D76480359F","n":"t","df":"29.01.2015 00:00:00","dt":"29.01.2015 19:00:00"}}
период df … dt указывает период начала путевого листа
- путевые листы водителей
{"m":"f","p":{"s":"2CEF8F2F851B1E2188AF63D76480359F","n":"d","df":"29.01.2015 00:00:00","dt":"29.01.2015 19:00:00"}}
период df … dt указывает период начала путевого листа
- путевые листы, измененные за период {"m":"f","p":{"s":"2CEF8F2F851B1E2188AF63D76480359F","n":"p","df":"29.01.2015 00:00:00","dt":"29.01.2015 19:00:00"}}
период df … dt указывает период последнего редактирования (актуальности)
ответ:
{"o":{"id":[1,2,3,4,5,6]}} - массив идентификаторов для загрузки
- запрос элемента(ов) загрузки
{"m":"g","p":{"s":"2CEF8F2F851B1E2188AF63D76480359F","n":"t","id":[1,2,3,4,5,6]}}
Пример ответа (путевой лист тракториста):
{
"o" : { - ответ
"dc" : 1, - кол-во элементов в массиве данных ответа
"d" : [{ - массив данных
"pl" : { - путевые листы
"n" : "t", - тип путевого: "t" лист тракториста тракториста. "a" - авто ; "ta" — путевой лист тракториста с признаками транспортных работ
"id" : 227, - идентификатор путевого листа
"b" : "c6ac71b0-4a5d-11e0-b79f-001e0b831428", - идентификатор транспорта
"dr" : "97e683a2-d52b-11e0-89ab-c80aa90473c2", - идентификатор водителя
"df" : "29.01.2015 07:00:00", - время начала смены
"dt" : "29.01.2015 19:00:00", - время окончания смены
"on":118880, id путевого
"mi" : 69, - пробег в км
"fs" : 570, - потрачено по ДУТ в л
"ff" : 425, - начальный уровень топлива в л
"ft" : 983, - конечный уровень топлива в л
"fd" : 1128, - всего заправлено в л
"fdc" : 2, - кол-во заправок
"h" : 34616, - Время работы двигателя / моточасы в секундах
"mih" : 69, - пробег в моточасах (км) (устаревший параметр ответ null)
"pt" : 0, - длительность простоя (секунды)
"ptn":0, - длительность простоя (секунды) в ночную смену
"twp":0,признак вспомогательных работ(не используется)
"fc":[{ -
"cd":"05.05.2017 18:30:25", "cv":356,"du":""} заправка по ДУТ
,{"cd":"05.05.2017 18:33:27","cv":365,"du":""}], заправка по УСС
"cd":"05.05.2017 18:33:27" — дата заправки
"cv":365 - количество объем заправки (литры)
"du":""}, — идентификатор склада ГСМ
"tht"* : [{ - перегоны для тракториста (путевые листы с признаком "n" : "t")
"mi" : 13.57, - пробег в перегоне в км
"fs" : 46.74 - расход топлива в л
"da":3, -общее время технических перегонов
"dn":0}, - время технических перегонов в ночную смену
"tht" для автомобиля (путевые листы с признаком "n" : "a") рейс:
- mi - пробег
- fs - расход топлива
- df - время начала
- dt - время окончания
- r - маршрут движения (текстом через тире)
- rf - идентификатор начала
- rt - идентификатор конца
- tr - прицеп
- dhd - моточасы в движении
- dn - время работы в ночную смену
- twd - подвид работ
- wc - вес груза
- wd - расстояние с грузом
- rc - кол-во ездок
}],
"w" : [{ - работы на поле
"p" : "69605560-6599-11e0-a425-001e0b831428", - идентификатор поля
"cu" : "7b455c27-950d-11e1-99e4-c80aa90473c2", - идентификатор культуры
"tr" : "f658c044-471d-11e0-9cd9-001cc43a3814", - идентификатор прицепного
"tw" : "a96d0ef9-b0cf-11e3-9a58-c80aa90473c2", - идентификатор вида работ
"twd" : "a96d0ef9-b0cf-11e3-9a58-c80aa90473c2", - идентификатор подвида работ
"a" : 2, - обработанная площадь в га
"mi" : 6.05, - пробег в км
"fs" : 44.26 – расход топлива в л
"h":10404, - моточасы в операции
}]
}
}]
}
}
{"m":"pl","p":{"s":"C95CD5990BAB6C4547F3DF4B0DE3A9C6","id":"КЗ000008160","b":" b0e96efa-4a6d-11e0-b79f-001e0b831428 ","df":"29.01.2015 06:00:00","dt":"29.01.2015 19:00:00","dr":" 2dc1986b-a8ad-11e2-b46c-c80aa90473c2 ","ff":110,"mi":110,"mp":[{"as":" 378e5e32-56f2-11e1-ae70-c80aa90473c2 ","ae":" 378e5e31-56f2-11e1-ae70-c80aa90473c2 "}]}}
id – номер путевого листа из 1С
b – идентификатор транспорта
df – время начала смены
df – время окончания смены
dr – идентификатор водителя
ff – уровень топлива при выезде
mi – плановый пробег в км
mp – пункты движения по маршруту
as – начальный пункт
ae – конечный пункт
Страница для выполнения запросов при тестировании протокола:
http://agro.tn-group.net:30101/rest/test.html
Порядок выполнения тестов:
1. вставляем запрос {"m":"c","p":{"l":"1c_demo","pa":"1c_demo"}}
нажимаем SEND – получаем ответ:
например {"o":{"s":"5C052B3A3518C2216BB1209E1E7E3125"}}
2. делаем второй запрос (вставляем полученный идентификатор сессии и идентификатор путевого листа):
{"m":"g","p":{"s":"5C052B3A3518C2216BB1209E1E7E3125","n":"t","id":[8379]}}
нажимаем SEND – получаем ответ:
{"o":{"dc":1,"d":[{"pl":{"n":"t","id":8379,"b":"","dr":"","df":"15.09.2014 08:04:47","dt":"15.09.2014 16:13:02","mi":105,"fs":99,"ff":72,"ft":76,"fd":103,"fdc":1,"h":21825,"mih":91,"pt":5720,"ptn":0,"twp":0,"fc":[{"cd":"15.09.2014 08:30:25","cv":103,"du":""}],"tht":[{"mi":49,"fs":39,"da":4,"dn":0}],"w":[{"cu":"","tw":"demo_identificator_UUID_1C_3","twd":"","a":98.38,"mi":56,"fs":60,"h":12781,"da":5,"dn":0}]}}]}}
Примечание: идентификатор сессии действителен 20 минут с момента последнего обращения. Т.е. если запросы делать с периодичностью менее 20 минут, то первый запрос можно не делать – просто менять строку запроса