Это старая версия документа.


API для разработчиков

Gelios SDK

Данный компонент предназначен для интерграции продукта Gelios с другими информационными системами

Запрос в общем виде выглядит следующим образом:

site.sdk/?login=demo&pass=demo&svc=get_units&params={}

Ниже рассмотрены форматы запросов.

Назначение прав

site.sdk/?svc=change_permissions&login=demo&pass=demo&params={«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&params={«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&params={«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&params={«id_unit»:57,«prop_name»:«prop name»,«prop_value»:«value»}

Удаление unit property

site.sdk/?login=demo&pass=demo&svc=delete_unit_prop&params={«id_unit»:57,«prop_name»:«prop_name»}

Шаблоны команд

site.sdk/?login=demo&pass=demo&svc=add_template_cmd&params={«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&params= «name»:«name»,«hw_type»:«wialon_ips»,«imei»:«12344566qwre»} name может частично совпадать, остальные - точное совпадение.

Получение свободных перевозчиков

site.sdk/?login=demo&pass=demo&svc=get_available_carriers&params={«type»:0} type по умолчанию auto Возвращает владельцев свободного транспорта.

Создание пользователя

site.sdk/?login=demo&pass=demo&svc=create_user&params={«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&params={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&params={«id_user»:2}

Информация о пользователе

site.sdk/?svc=get_user_info&login=demo&pass=demo&params={«id»:2} Вернёт всю инфу пользователя (custom fields, фото(base64))

Получение баланса пользователя

site.sdk/?login=demo&pass=demo&svc=get_user_balance&params={«id_user»:1}

Получение групп пользователей

svc = get_users_groups вернёт все доступные группы пользователя site.sdk/?login=demo&pass=demo&svc=get_user_groups&params={«id_user»:1}, необязательный параметр id_user вернёт группы, доступные этому пользователю.

Получение групп объектов

svc = get_units_groups вернёт все доступные группы пользователя site.sdk/?login=demo&pass=demo&svc=get_units_groups&params={«id_user»:1}, необязательный параметр id_user вернёт группы объектов доступные этому пользователю

Создание объекта

site.sdk/?login=demo&pass=demo&svc=create_unit&params={ «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&params= { «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&params={«id_unit»:1,«forever»: false} forever - удаляет мимо корзины site.sdk/?login=demo&pass=demo&svc=delete_unit&params={«id_unit»:1,«forever»: false}

Восстановление объекта из корзины

site.sdk/?login=demo&pass=demo&svc=recovery_unit&params={«id_unit»:1}

Удаление сенсора

site.sdk/?login=demo&pass=demo&svc=delete_sensor&params={«id»:79}

Добавление/редактирование датчика

site.sdk/?svc=edit_sensor&login=demo&pass=demo&params={«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&params={«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&params={«id»:2}

Получение сообщений объекта

site.sdk/?login=demo&pass=demo&svc=get_unit_msgs&params={«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&params=[{«id_unit»:57,«from»:1422599311,«to»:1423466292},{«id_unit»:82,«from»:1422599311}] Необязательный параметр:

  • is_online - получить сообщения только из онлайн

Получение информации об объекте

site.sdk/?login=demo&pass=demo&svc=get_unit_info&params={«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&params= {«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&params={«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&params={«id_group»:2}, необязательный параметр id_group вернёт все геозоны, входящие в эту группу

Получение геоточек

site.sdk/?svc=get_geopoints&login=demo&pass=demo&params={«id_group»:2}, необязательный параметр id_group вернёт все геоточки, входящие в эту группу

Маршруты

site.sdk/?svc=get_routes&login=demo&pass=demo&params={«id_user»:2} Все маршруты пользователя (без иерархии)

Список типов отчетов

site.sdk/?svc=get_list_reports&login=kirnet&pass=111111

Добавление custom field

site.sdk/?login=demo&pass=demo&svc=create_cf&params={«type_object»:«unit»,«id_object»:56,«name_cf»:«name»,«value_cf»:«value»}

Добавление отзыва orders

site.sdk/?svc=add_orders_feedback&login=demo&pass=demo&params={«id_executor»:37,«id_client»:2,«rating»:1,«comment»:«Комментарий»} Необязательные параметры id_client, comment Возвращает id отзыва

Получение отзывов orders

site.sdk/?login=demo&pass=demo&svc=get_orders_feedback&params={«id_executor»:2}

Экспорт отчёта

site.sdk/?svc=export_report&login=demo&pass=demo&params= {«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&params={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&params={«hw_id»:[«358103040385692», «863591024021044»]}

Получение списка доступных протоколов оборудования

site.sdk/?svc=get_hw_type&login=demo&pass=demo

Создание заявки

site.sdk/?svc=create_order&login=demo&pass=demo&params={«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&params={«id_order»:1} Все параметры как при создании + «executor»:1 (int)

Получение заявки

site.sdk/?svc=get_orders&login=demo&pass=demo&params={«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&params={«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&params={«id_order»:1}

Запрос на заявку

site.sdk/?svc=order_request&login=demo&pass=demo&params={«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&params={«id_order_request»:1,«status»:1}

Удаление запроса на заявку

site.sdk/?login=demo&pass=demo&svc=order_request_delete&params={«id_order»:32,«id_executor»:1}

Получение очереди запросов на заказ

site.sdk/?login=demo&pass=demo&svc=get_order_requests&params={«id_order»:32,«id_executor»:37,«status»:1} Обязательный хотя бы один из 3ёх параметров

Сброс пароля

site.sdk/?login=demo&pass=demo&svc=reset_password&params={«login»:«6level»,«phone»:«%2B375441234567»} необязательный параметр application Возвращает id sms

Получение списка команд

site.sdk/?login=demo&pass=demo&svc=get_cmd_templates&params={«id_unit»:57,«type»:«gsm»} Необязательный параметр type [gsm, tcp] - фильтрует по типу команды

Послать команду

site.sdk/?login=demo&pass=demo&svc=send_cmd&params={«id_unit»:57,«type»:«gsm»,«cmd»:«text_cmd»} Все параметры обязательны cmd - текст команды либо псевдоним

Создание маршрута

site.sdk/?login=demo&pass=demo&svc=&params={«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&params={«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&params={«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&params={«id_repeater»:55}

Запись push уведомления

site.sdk/?login=demo&pass=demo&svc=send_push&params={«type»:«ios»,«id_phone»:«2323231234141342»,«application»:«GeliosFamily»,«message»:«Hello World!»}

Получение push уведомлений

http://geolonadmin.local/sdk/?login=demo&pass=demo&svc=get_push_notifications&params={«token»:«19189b33557a429d0c4376102db4722138900e396bed815cbca65435802b7047»,«from»:1419926423,«to»:1425981481,«application»:«TrackingM»}

Запись СМС уведомления

site.sdk/?login=demo&pass=demo&svc=send_sms&params={«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&params={«id_unit»:57,«photo_content»:«content base64_encoded»,«extension»:«png»}

Получение фотографии юнита

site.sdk/?login=demo&pass=demo&svc=get_photo_unit&params={«id_unit»:57} Возвращает{«photo»:«base64»|false}

Получение иконки юнита

site.sdk/?login=demo&pass=demo&svc=get_unit_icon&params={«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&params={«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&params={«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&params={«id_geozone»:170}

Получение сработок уведомлений

site.sdk/?login=demo&pass=demo&svc=get_stats_notifications&params={«from»:386058473,«to»:1427437673}

Создание уведомления

site.sdk/?login=demo&pass=demo&svc=create_notification&params={«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&params={«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&params={«token»:«912ec803b2ce49e4a541068d495ab570»,«login»:«kirnet»,«app»:«gelio»,«os»:«windows 3.11»}

Возвращает {«result»:true | false}

Удаление токена

site.sdk/?login=demo&pass=demo&svc=delete_token&params={«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&params={«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

Удаление карты

Добавление заправки

site.sdk/?svc=add_refuel_by_berlio_card&login=demo&pass=demo&params=[{«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&params={«id_geozone»:2202}

Получение культур

site.sdk/?login=kirnet&pass=111111&svc=get_crop

Создание посева

site.sdk/?login=kirnet&pass=111111&svc=create_agro_work&params={«id_geozone»:2202,«year»:2016,«season»:«лето»,«id_crop»:3}

Получение обработок

site.sdk/?svc=get_work_treatment&login=demo&pass=demo&params={«id_geozone»:2202,«year»:2015,«season»:«осень»}

Отчет "Севооборот"

site.sdk/?svc=get_crop_rotation&login=demo&pass=demo&params={«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&params={«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&params={«id_unit»:143,«id_geozone»:2202,«from»:2009,«to»:2016}

Быстрая регистрация

site.sdk/?login=demo&pass=demo&svc=quick_registration&params={«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»