Содержание API для разработчиков Gelios SDK Назначение прав Получение токена Получение списка объектов Это старая версия документа. API для разработчиков Gelios SDK Данный компонент предназначен для интерграции продукта Gelios с другими информационными системами Запрос в общем виде выглядит следующим образом: site.sdk/?login=demo&pass=demo&svc=get_units¶ms={} Ниже рассмотрены форматы запросов. Назначение прав site.sdk/?svc=change_permissions&login=demo&pass=demo¶ms={«entity»:«units»,«entity_id»:59,«permission»:7,«id_user»:170} EntityList: units, units_groups, template_reports, geozones, geozones_groups, geopoints, geopoints_groups, services, Получение токена site.sdk/?login=demo&pass=demo&svc=create_token Получение списка объектов site.sdk/?login=demo&pass=demo&svc=get_units¶ms={«id_group»:«1»,«filtr_cf»:[{«name»:«Название параметра», «value»:«text»}]} params={«short_details»:1} - Вернёт только данные из units svc = get_units вернёт все объекты доступные пользователю необязательный параметр id_group вернёт обекты входящие в эту группу необязательный параметр id_camera вернёт обект которому принадлежит камера (вместе с параметром id_group) вернёт объект, только если он входит в эту группу filtr_cf - при наличии параметра - вернёт объекты с custom fields если параметр пустой (filtr_cf:«») вернёт все объекты со всеми custom_field Получение списка объектов постранично site.sdk/?svc=get_units_paging&login=demo&pass=demo¶ms={«per_page»:10,«page»:1} Количество всех доступных объектов site.sdk/?svc=count_units&login=demo&pass=demo Добавление unit property site.sdk/sdk/?login=demo&pass=demo&svc=create_unit_prop¶ms={«id_unit»:57,«prop_name»:«prop name»,«prop_value»:«value»} Удаление unit property site.sdk/?login=demo&pass=demo&svc=delete_unit_prop¶ms={«id_unit»:57,«prop_name»:«prop_name»} Шаблоны команд site.sdk/?login=demo&pass=demo&svc=add_template_cmd¶ms={«id_unit»:143,«name_cmd»:«name command»,«text_cmd»:«cmd»,«type_cmd»:«tcp»} CMD types «tcp», «gsm» Поиск объектов site.sdk/?login=demo&pass=demo&svc=search_units¶ms= «name»:«name»,«hw_type»:«wialon_ips»,«imei»:«12344566qwre»} name может частично совпадать, остальные точное совпадение Получение свободных перевозчиков site.sdk/?login=demo&pass=demo&svc=get_available_carriers¶ms={«type»:0} type по умолчанию auto Возвращает владельцев свободного транспорта Создание пользователя site.sdk/?login=demo&pass=demo&svc=create_user¶ms={«login»:«newUser»,«pass»:«password»,«photo»:«base64»} Необязательные параметры: «is_admin»:1, «address_base»:«Google», «time_zone»:0, «email»:mail@mail.ru, «phone»:«1234567», «language»:«en», «creator»:1, «location»:«Минск», «legal_name»:«organization», «lat_lon»:«23.2323,57.211», «cost_mode»: «units | days», «cost_day»: 10, «currency»: «eur», «cost_unit»: 1.5, «hide_menu»:«sensor,report,video,graph,routes,drivers,maintenance,alarms,berlio,waybills, files,chat,features,general_templates» Чтобы добавить «+» в номер телефона - %2B Добавление платежа пользователю geolonadmin.local/sdk/?svc=add_user_payment&login=kirnet&pass=111111& params={«id_user»:51,«count»:3,«days»:0,«descr»:«descr»} Получение пользователей site.sdk/?svc=get_users&login=demo&pass=demo¶ms={filtr_cf:[{«name»:«Название параметра», «value»:«text»}],«id_group»:«40»} svc = get_users вернёт всех доступных пользователей включая себя filtr_cf - Фильтр по custom fields Получение возможных владельцев для пользователя site.sdk?svc=get_creators_for_user&login=demo&pass=demo¶ms={«id_user»:2} Информация о пользователе site.sdk/?svc=get_user_info&login=demo&pass=demo¶ms={«id»:2} Вернёт всю инфу пользователя (custom fields, фото(base64)) Получение баланса пользователя site.sdk/?login=demo&pass=demo&svc=get_user_balance¶ms={«id_user»:1} Получение групп пользователей svc = get_users_groups вернёт все доступные группы пользователя site.sdk/?login=demo&pass=demo&svc=get_user_groups¶ms={«id_user»:1} необязательный параметр id_user вернёт группы доступные этому пользователю Получение групп объектов svc = get_units_groups вернёт все доступные группы пользователя site.sdk/?login=demo&pass=demo&svc=get_units_groups¶ms={«id_user»:1} необязательный параметр id_user вернёт группы объектов доступные этому пользователю Создание объекта site.sdk/?login=demo&pass=demo&svc=create_unit¶ms={ «name»:«sdkunit», «is_free»:1, «hw_type»:«wialon_ips», «hw_id»:«1212121212», «info»:«json», «phone»: «+375(44)1234567», «phone2» «+375(44)1234567», «max_permissible_speed»:0, «camera_imei»: «1232asfasf12» } Необязательные параметры: «phone»:«1234567», «phone2»:«1234567», «type»:«auto» Редактирование объекта site.sdk/?login=demo&pass=demo&svc=update_unit¶ms= { «id_unit»:1, «name»:«sdkunit», «is_free»:1, «hw_type»:«wialon_ips», «hw_id»:«1212121212», «phone»:«1234567», «phone2»:«1234567», «type»:«auto» «info»:«json», «phone»: «+375(44)1234567», «phone2» «+375(44)1234567», «max_permissible_speed»:0, «camera_imei»: «1232asfasf12» } Вместо «+» нужно вводить «%2B» Удаление объекта site.sdk/?login=demo&pass=demo&svc=delete_unit¶ms={«id_unit»:1,«forever»: false} forever - удаляет мимо корзины site.sdk/?login=demo&pass=demo&svc=delete_unit¶ms={«id_unit»:1,«forever»: false} Восстановление объекта из корзины site.sdk/?login=demo&pass=demo&svc=recovery_unit¶ms={«id_unit»:1} Удаление сенсора site.sdk/?login=demo&pass=demo&svc=delete_sensor¶ms={«id»:79} Добавление/редактирование датчика site.sdk/?svc=edit_sensor&login=demo&pass=demo¶ms={«id_unit»:143, «sensor_type»:«ign», «sensor_name»:«sdk%20sensor», «msg_param»:«str», «conversion»:«23.5:23:sdf;30:30:;45:45:text»,«measure»:«kph»} Для редактирования существующего сенсора добавить параметр id_sensor Редактирование пользователя site.sdk/?login=demo&pass=demo&svc=update_user¶ms={«id»:1,«email»:«mail@mail.ru»,«phone»:«234234234»,«password»:«pass»,«photo»:«base64»,«is_block»:1 «is_admin»:1, «address_base»:«Google», «time_zone»:0, «email»:mail@mail.ru, «phone»:«1234567», «language»:«en», «creator»:1, «location»:«Минск», «legal_name»:«organization», «lat_lon»:«23.2323,57.211», «cost_mode»: «units | days», «cost_day»: 10, «currency»: «eur», «cost_unit»: 1.5 } Чтобы добавить «+» в номер телефона - %2B Удаление фотографии пользователя site.sdk/?login=demo&pass=demo&svc=delete_user_photo¶ms={«id»:2} Получение сообщений объекта site.sdk/?login=demo&pass=demo&svc=get_unit_msgs¶ms={«id_unit»:1,«from»:1422599311,«to»:1423466292,«fields»:«lat,lon»} Необязательный параметры: fields - указать отдельные поля из 'time,lat,lon,speed,course,height,sats,params,unit_type,unit_id,time_speed' Сообщения нескольких объектов site.sdk/?login=demo&pass=demo&svc=get_units_msgs¶ms=[{«id_unit»:57,«from»:1422599311,«to»:1423466292},{«id_unit»:82,«from»:1422599311}] Необязательный параметры: is_online - получить сообщения только из онлайн Получение информации об объекте site.sdk/?login=demo&pass=demo&svc=get_unit_info¶ms={«id_unit»:1} В ответе «driver»:{«photo»:«image content base64 encoded»} «template_cmd»:[{«id»:20,«id_unit»:57,«type_cmd»:«tcp»,«text_cmd»:«test_command»,«name_cmd»:«name command»},{«id»:21,«id_unit»:57,«type_cmd»:«tcp»,«text_cmd»:«test_name»,«name_cmd»:«test name»},{«id»:23,«id_unit»:57,«type_cmd»:«gsm»,«text_cmd»:«gsm_command»,«name_cmd»:«phone command»}] Выполнение отчетов site.sdk/?svc=exec_report&login=demo&pass=demo¶ms= {«id_unit»:1,«from»:1398902400,«to»:1398902401,«report_type»:«unit_movement»,«language»:«en»,«id_group»:0, «id_geozone»:0,«id_report»:0} report_type ( 'unit_source' ⇒'Исходные данные', 'unit_movement' ⇒ 'Отчет по поездкам', 'unit_stay' ⇒ 'Отчет по стоянкам', 'unit_movement_stay' ⇒ 'Отчет по поездкам и стоянкам', 'unit_conn' ⇒ 'Отчет по потерям связи' ) Чтобы получить отчеты из нового интерфейса report_type = (int) reportId Выполнение групповых отчётов site.sdk/?login=demo&pass=demo&svc=exec_report_group¶ms={«id_group»:46,«report_type»:«unit_source»,«from»:1431864276,«to»:1431950798,«language»:«en», «id_geozone»:0,«id_report»:0} Получение геозон site.sdk/?svc=get_geozones&login=demo&pass=demo¶ms={«id_group»:2} необязательный параметр id_group вернёт все геозоны входящие в эту группу Получение Геоточек site.sdk/?svc=get_geopoints&login=demo&pass=demo¶ms={«id_group»:2} необязательный параметр id_group вернёт все геоточки входящие в эту группу Маршруты site.sdk/?svc=get_routes&login=demo&pass=demo¶ms={«id_user»:2} Все маршруты пользователя (без иерархии) Список типов отчетов site.sdk/?svc=get_list_reports&login=kirnet&pass=111111 Добавление custom field site.sdk/?login=demo&pass=demo&svc=create_cf¶ms={«type_object»:«unit»,«id_object»:56,«name_cf»:«name»,«value_cf»:«value»} Добавление отзыва orders site.sdk/?svc=add_orders_feedback&login=demo&pass=demo¶ms={«id_executor»:37,«id_client»:2,«rating»:1,«comment»:«Комментарий»} Необязательные параметры id_client, comment Возвращает id отзыва Получение отзывов orders site.sdk/?login=demo&pass=demo&svc=get_orders_feedback¶ms={«id_executor»:2} Экспорт отчёта site.sdk/?svc=export_report&login=demo&pass=demo¶ms= {«id_unit»:1,«from»:1398902400,«to»:1398902401,«report_type»:«unit_movement»,«export_type»:«pdf»,«language»:«en»} report_type ( 'unit_source' ⇒'Исходные данные', 'unit_movement' ⇒ 'Отчет по поездкам', 'unit_stay' ⇒ 'Отчет по стоянкам', 'unit_movement_stay' ⇒ 'Отчет по поездкам и стоянкам', 'unit_conn' ⇒ 'Отчет по потерям связи' ) export_type - pdf, xlsx, html Экcпорт группы отчётов site.sdk/?svc=export_report_group&login=demo&pass=demo¶ms={id_group:1,from:1398902400,to:1398902401,report_type:«unit_movement»,export_type:«pdf»,«language»:«en»} Получение id объекта site.sdk/?svc=get_units_uid&login=demo&pass=demo¶ms={«hw_id»:[«358103040385692», «863591024021044»]} Получение списока доступных протоколов оборудования site.sdk/?svc=get_hw_type&login=demo&pass=demo Создание заявки site.sdk/?svc=create_order&login=demo&pass=demo¶ms={«type»:1,«coord_from»:«53.897546,27.528884», «coord_to»:«53.897546,27.528884»,«params»:«asdf»,«descr»:«description»,«urgent»:1, «address_from»:«address», «address_to»:«address»,«time_start»:1411026340,«time_finish»:1411026340} type 0 - грузоперевозки, 1 - арендное авто, 2 - эвакуатор, 3 - пассажироперевозки, 4 - Спецтехника status 0 - новая заявка 1 - заявка забронирована 2 - в процессе 3 - выполнена Редактирование заявки site.sdk/?svc=update_order&login=demo&pass=demo¶ms={«id_order»:1} Все параметры как при создании + «executor»:1 (int) Получение заявки site.sdk/?svc=get_orders&login=demo&pass=demo¶ms={«id_order»:1,«distance»:20000,«executor_latlon»:«53.919741,27.489007»,«expire_time»:99999999,«unit_type»:1} distance - расстояние (в метрах) заявок от исполнителя, не сработает без executor_latlon expire_time - актуальность заявки (сек.) unit_type - тип транспорта Покажет все заявки пользователя при наличии параметра id_order - вернёт только одну, исключает «status_filter» фильтрация по статусу «status_filter»:1 - вернёт все заявки со статусом 1 «status_filter»:«!=1» вернёт все заявки статус которых !=1 «status_filter»:«!=1,2» вернёт все заявки статус которых !=1 и !=2 И по исполнителю «executor»:1 Получение заявки для исполнителя site.sdk/?svc=get_performer_orders&login=demo&pass=demo¶ms={«id_order»:1,«distance»:20000,«executor_latlon»:«53.919741,27.489007»,«expire_time»:99999999,«unit_type»:1} Удаление заявки site.sdk/?svc=delete_order&login=demo&pass=demo¶ms={«id_order»:1} Запрос на заявку site.sdk/?svc=order_request&login=demo&pass=demo¶ms={«id_order»:1,«id_unit»:37,«id_executor»:37,«status»:0,«comment»:«text of comment»} «status»: 0 - pending 1 - approved 2 - rejected Подтверждение запроса на заявку site.sdk/?svc=order_request_confirm&login=demo&pass=demo¶ms={«id_order_request»:1,«status»:1} Удаление запроса на заявку site.sdk/?login=demo&pass=demo&svc=order_request_delete¶ms={«id_order»:32,«id_executor»:1} Получение очереди запросов на заказ site.sdk/?login=demo&pass=demo&svc=get_order_requests¶ms={«id_order»:32,«id_executor»:37,«status»:1} Обязательный хотя бы один из 3ёх параметров Сброс пароля site.sdk/?login=demo&pass=demo&svc=reset_password¶ms={«login»:«6level»,«phone»:«%2B375441234567»} необязательный параметр application Возвращает id sms Получение списка команд site.sdk/?login=demo&pass=demo&svc=get_cmd_templates¶ms={«id_unit»:57,«type»:«gsm»} Необязательный параметр type [gsm, tcp] - фильтрует по типу команды Послать команду site.sdk/?login=demo&pass=demo&svc=send_cmd¶ms={«id_unit»:57,«type»:«gsm»,«cmd»:«text_cmd»} Все параметры обязательны cmd - текст команды либо псевдоним Создание маршрута site.sdk/?login=demo&pass=demo&svc=¶ms={«coords»:«54.51126648127936,34.19352436205372,12;54.52456849601408,34.206913949456066,12»,«name»:«route name»,«schedule»:«12:12-13:13,444;14:14-15:15,555;16:16-17:17,666»,«units»:«1,2,3»} Параметры: coords: latLon,latLon,time;latLon,latLon,time Необязательные schedule: «чч:мм-чч:мм,сс;чч:мм-чч:мм,сс» units: «id,id,id» Создание ретранслятора site.sdk/?login=demo&pass=demo&svc=create_repeater¶ms={«name»:«sdkrepeater»,«protocol»:«wialon_ips»,«server»:«127.0.0.1»,«port»:«445»,«status»:1,«id_units»:[«57:121212:1411117193»,«82:212121»]} id_units = [id_unit:hw_id:timestamp(необязательный)] Редактирование ретранлсятора site.sdk/?login=demo&pass=demo&svc=edit_repeater¶ms={«id_repeater»:56,«name»:«sdkrepeater»,«protocol»:«wialon_ips»,«server»:«127.0.0.1»,«port»:«445»,«status»:1, «id_units»:[«57:121212:1411117193»,«82:212121»]} Только один обязателный параметр id_repeater Удаление ретранслятора site.sdk/?login=demo&pass=demo&svc=delete_repeater¶ms={«id_repeater»:55} Запись push уведомления site.sdk/?login=demo&pass=demo&svc=send_push¶ms={«type»:«ios»,«id_phone»:«2323231234141342»,«application»:«GeliosFamily»,«message»:«Hello World!»} Получение push уведомлений http://geolonadmin.local/sdk/?login=demo&pass=demo&svc=get_push_notifications¶ms={«token»:«19189b33557a429d0c4376102db4722138900e396bed815cbca65435802b7047»,«from»:1419926423,«to»:1425981481,«application»:«TrackingM»} Запись СМС уведомления site.sdk/?login=demo&pass=demo&svc=send_sms¶ms={«id_phone»:«+375295780663»,«application»:«GeliosOrders»,«message»:«Hello World!»} Вместо «+» нужно вводить «%2B» Получение количества СМС по номеру site.sdk/?login=demo&pass=demo&svc=get_count_sms?params={«phone_number»:«%2B375445434572»} Чтобы добавить «+» в номер телефона - %2B Сохранение фотографии юнита site.sdk/?login=demo&pass=demo&svc=save_photo_unit¶ms={«id_unit»:57,«photo_content»:«content base64_encoded»,«extension»:«png»} Получение фотографии юнита site.sdk/?login=demo&pass=demo&svc=get_photo_unit¶ms={«id_unit»:57} Возвращает{«photo»:«base64»|false} Получение иконки юнита site.sdk/?login=demo&pass=demo&svc=get_unit_icon¶ms={«id_unit»:57} Возвращает {«icon»:«ссылка на картинку или пусто»} Получение кастомизации site.sdk/?login=root&pass=root&svc=get_customize Вернёт все тектовые поля кастомизации {«id»:9,«id_user»:1,«title»:«»,«copyright»:«;»,«docs_url»:«»,«logo_url»:«monitoring.local»,«support_email»:«kirnet.name@yandex.ru»,«demo_login»:«demo»,«demo_password»:«demo»} либо пустой массив Создание геозоны site.sdk/?login=demo&pass=demo&svc=create_geozone¶ms={«id_group»:10,«name»:«geozoneSDK»,«coords»:«1.2333,2.3434;3.3434,5.345345»,«description»:«описание»,«surface_area»:100.45, «perimenter»:100, «radius»:34.1, «docs_surface_area»:«площадь по документам»} если не указать id_group - сохраниться в группу геозон пользователя по умолчанию Редактирование геозоны site.sdk/?login=kirnet&pass=111111&svc=edit_geozone¶ms={«id_geozone»:2208,«name»:«Название», «description»:«описание»,«coords»:«1.2333,2.3434;3.3434,5.345345»,«surface_area»:100.45, «perimenter»:100, «radius»:34.1, «docs_surface_area»:«площадь по документам»} Все поля необязательны, кроме id_geozone Удаление Геозоны site.sdk/?login=demo&pass=demo&svc=delete_geozone¶ms={«id_geozone»:170} Получение сработок уведомлений site.sdk/?login=demo&pass=demo&svc=get_stats_notifications¶ms={«from»:386058473,«to»:1427437673} Создание уведомления site.sdk/?login=demo&pass=demo&svc=create_notification¶ms={«type»:3,«id_units»:[57,82],«id_geozone»:167,«type_notification»:3,«text_notification»:«text%20text»} type_notification (integer) e-mail action = 1 SMS action = 2 online action = 3 Пока будут создаваться только о выходе из геозоны type=3 Удаление уведомления site.sdk/?login=demo&pass=demo&svc=delete_notification¶ms={«id_notification»:146} Получение списка уведомлений site.sdk/?svc=get_list_notification&login=demo&pass=demo Получение всех поддерживаемых типов оборудования site.sdk/?login=demo&pass=demo&svc=get_hw_types Добавление токена site.sdk/?login=demo&pass=demo&svc=add_token¶ms={«token»:«912ec803b2ce49e4a541068d495ab570»,«login»:«kirnet»,«app»:«gelio»,«os»:«windows 3.11»} Возвращает {«result»:true | false} Удаление токена site.sdk/?login=demo&pass=demo&svc=delete_token¶ms={«token»:«912ec803b2ce49e4a541068d495ab570»,«login»:«kirnet»,«app»:«gelio»,«os»:«windows 3.11»} Возвращает {«result»:количество удалённых токенов} Получение статистики site.sdk/?login=demo&pass=demo&svc=get_stats_service Возвращает {«units»:89,«users»:29,«online_units»:4} Берлио Добавление/редактирование карты site.sdk/?svc=edit_berlio_card&login=demo&pass=demo¶ms={«name»:«sdk%20card»,«identifier»:«123»,«id_units»:«57,82,54»} Без параметра id_card создается новая карта Необязательный параметр id_user, по умолчанию id залогинившегося Получение карточек site.sdk/?svc=get_berlio_cards&login=demo&pass=demo Удаление карты http://geolonadmin.local/sdk/?svc=delete_berlio_card&login=demo&pass=demo¶ms={«id_card»:306} Добавление заправки site.sdk/?svc=add_refuel_by_berlio_card&login=demo&pass=demo¶ms=[{«time»:1457159510,«product_name»:«benzin»,«quantity»:«123.4»,«price»:«10»,«full_price»:«11.456»,«total»:«34»,«discount_total»:«40»,«berlio_fuel_card_id»:«304»}] Возвращает id_realization[1,2] Агро Получение истории посевов site.sdk/?login=kirnet&pass=111111&svc=get_agro_works¶ms={«id_geozone»:2202} Получение культур site.sdk/?login=kirnet&pass=111111&svc=get_crop Создание посева site.sdk/?login=kirnet&pass=111111&svc=create_agro_work¶ms={«id_geozone»:2202,«year»:2016,«season»:«лето»,«id_crop»:3} Получение обработок site.sdk/?svc=get_work_treatment&login=demo&pass=demo¶ms={«id_geozone»:2202,«year»:2015,«season»:«осень»} Отчет севооборот site.sdk/?svc=get_crop_rotation&login=demo&pass=demo¶ms={«id_unit»:143,«id_geozone»:2202,«from»:2009,«to»:2016} from, to - год crop - культура plan_prod - плановая урожайность (ц/га) productivity - Урожайность (ц/га) planning_collection - плановый сбор (т) harvest - Валовый сбор Получение водителей site.sdk/?svc=get_drivers&login=demo&pass=demo Отчет обработки site.sdk/?svc=get_report_processing&login=demo&pass=demo¶ms={«id_geozone»:2202,«from»:2009,«to»:2016} geozone_name - название поля treatment_name - название обработки status: 0 - Пусто 1 - Отменено 2 - Выполнено equpment_name - агрегат crop_name - культура material_name - что использовали amount - количество (что использовали) plan_prod - плановая урожайность (ц/га) Потрачено удобрений site.sdk/?svc=get_used_fertilizers&login=demo&pass=demo¶ms={«id_unit»:143,«id_geozone»:2202,«from»:2009,«to»:2016} Быстрая регистрация site.sdk/?login=demo&pass=demo&svc=quick_registration¶ms={«phone»:«%2b3751234567»,«login»:«user»,«app»:«geliosOrder»} Коды ошибок 1 - «unknown service» 2 - «error login» 3 - «password error» 4 - «user with this login or email already exists» 5 - «permission denied» 6 - «unit already exists» 7 - «group not exists» 8 - «no required params» 9 - «unit not exists» 10 - «geozone not exists» 11 - «order not exists» 12 - «user not exists» 13 - «unknown error» 14 - «order request already exists» 15 - «order request not exists» 16 - «repeater not exists» 17 - «unfortunately current order»