x=latitude - широта
y=longitude - долгота
все методы принимают:
user_agent, devid, regid, сессию, 'my_x', 'my_y'
lang - переключить весь последующий вывод на указанный язык пользователя
все методы возвращают:
['status' => self::HTTP_SUCCESS, 'message'=>инфо]
или
['status' => ошибка , 'error'=>инфо]
* todo отвязать фото от id, чтобы нельзя было получить сканированием все фотографии. Либо не давать фото тем, у кого нет прав
Константы:
device->status - битовое поле состояний и режима работы устройства
DEVICE_STATUS_READY = 1 - OnLine, - иначе OFFLINE
DEVICE_STATUS_MONITORING = 4 - режим постоянной передачи координат
DEVICE_STATUS_GPS_DISABLED = 8 - на телефоне запрещен GPS (set)
DEVICE_STATUS_CONFIRM = 32 - телефон подтвержден
DEVICE_STATUS_PING_GPS = 64 - устройству отправлен запрос координат через push? если в течение 5 минут не прийдет ответ, будет переведено в OFFLINE
DEVICE_STATUS_CHARGED = 128 - батарея заряжается
DEVICE_STATUS_WARNING = 256 - для устройства есть важное уведомление, для получения используйте message->list(warning=1), для сброса: Device->set_permission или Message->mark_as_read
device_permission->permissions ( Я = device_permission->slave)
DEVICE_ACCESS_GPS = 1 - дать доступ устройству device к моим координатам и отправке мне сообщений(может быть получено на основании членства в приватной группе)
DEVICE_ACCESS_NONSTOP = 2 - Удаление прав только родителем или удалением приложения. (не удаляемое)
DEVICE_ACCESS_SEND_SMS = 4 - доступ к СМС, если не будет возможности отправить уведомление через интернет, отправить СМС
DEVICE_ACCESS_FULL = 8 - дать неограниченный доступ устройству id к моему устройству(прослушка, фото и видео, изменение координат)
device_permission->attribute (я его)
DEVICE_BAN = 8 - устройство(device_slave) не может отправлять мне(device) сообщения, даже официальное и todo следить за мной даже если мы в общей группе
DEVICE_MAIN_SCREEN = 16 - показывать устройство на главном экране
device_permission->alarms - битовая маска о чем уведомлять меня(device) о device_slave
DEVICE_ALARM_LOW_BATTERY = 4 - батарейка разряжена,
onst DEVICE_ALARM_BALANCE = 8; // баланс меньше 10 рублей
DEVICE_ALARM_OFFLINE = 16 - Перестал передавать координаты
device_place->alarms - битовая маска о чем уведомлять, устанавливается в add_place для каждого места
DEVICE_ALARM_FENCE_OUT = 1 - выход за забор
DEVICE_ALARM_FENCE_IN = 2 - вход внутрь забора
DEVICE_ALARM_BEFORE = 4 - вход/выход произошел до schedule
DEVICE_ALARM_AFTER = 8 - вход/выход произошел после schedule
device->settings - настройки устройства
DEVICE_SETTINGS_GPS = 1 - не получать и не сохранять мои координаты (при получении сервером координат они будут записаны в качестве последнего местонахождения устройства для работы других функций)
DEVICE_SETTINGS_ACCESS = 2 - запрет запросов получения прав
DEVICE_SETTINGS_MESSAGE = 4 - запрет получения сообщений от посторонних
DEVICE_SETTINGS_SOS_SEND = 8 - todo запрет отправки запроса помощи (SOS) посторонним, находящимся поблизости.
DEVICE_SETTINGS_SOS_RECEIVE = 16 - todo запрет получения запроса помощи (SOS) от посторонних, находящихся поблизости
DEVICE_SETTINGS_RADIO = 32 - todo запрет получения сообщений рации
DEVICE_SETTINGS_VOLUME = 64 - запрет включения громкости, когда я в беззвучном режиме
DEVICE_SETTINGS_CONTACT = 128 - разрешить использовать мой справочник контактов для сервиса "кто звонил"
DEVICE_SETTINGS_TYPING = 256 - todo не получать и не передавать "я набираю текст"
DEVICE_SETTINGS_READING = 512 - todo не получать и не передавать "получатель прочитал сообщение"
DEVICE_SETTINGS_GPS_ON_PUSH = 1024 - Отправка местоположения только по требованию
const DEVICE_SETTINGS_GPS_ON_PLACE = 4096; // Отправка местоположения только по зонам
DEVICE_SETTINGS_SLEEP_IN_FENCE = 4096 - Засыпать внутри круглых зон
DEVICE_SETTINGS_GPS_ALL = 8192 - сохранять все координаты, включая низкоточные
эти права нельзя перезаписать самому пользователю
DEVICE_SETTINGS_OFFICIAL = 16384 - Официальный канал, нет ограничений на отправку сообщений.
DEVICE_SETTINGS_DISABLED = 32768 - todo запрет запрещать. Телефон ребенка. Устанавливается один раз.
GPS_STATUS_OK = 0 -
GPS_STATUS_TEST = 1 -
GPS_STATUS_HIDDEN = 2 -
GPS_STATUS_MOBILE = 3 -
HTTP_SUCCESS = 200 - успешно
HTTP_CREATED = 201 - объект создан
HTTP_NO_CONTENT = 204 - нет данных, ответ на запрос пуст
HTTP_MOVED_PERMANENTLY = 301 - переадресация на указанный адрес в поле location
HTTP_MOVED_TEMPORARILY = 302 - временная переадресация на указанный адрес в поле location
HTTP_SEE_OTHER = 303 -
HTTP_NEED_SEND_POST_TO_URL = 303 -
HTTP_BAD_REQUEST = 400 - неверный запрос
HTTP_UNAUTHORIZED = 401 - требуется авторизация
HTTP_PAYMENT_REQUIRED = 402 - необходима оплата
HTTP_FORBIDDEN = 403 - недоступно
HTTP_NOT_FOUND = 404 - объект не найден
HTTP_METHOD_NOT_ALLOWED = 405 - метод не поддерживается или не хватает параметров, в error описание проблемы
HTTP_NOT_ENOUGH_DATA = 422 - недостаточно данных для выполнения запроса, список недостающих данных передан в поле inputs
HTTP_TOO_MANY_REQUESTS = 429 - Превышен лимит запросов
HTTP_PERMISSION_DENIED = 550 - нет прав доступа к данному объекту
https://harlik.com/api.php?obj=Device&m=register
регистрация устройства пользователю, если такого пользователя нет, он сразу создается
использует devid(обязательно), login(м.б.=email), password regid
если login не передан, создает уникального пользователя
если password не передан, создает уникальный
name, phone - устройство
img - файл аватарки или ссылка на ранее загруженное темповое изображение
?? какие доп параметры прийдут при регистрации через VK,G+
name
phone
HTTP_USER_AGENT
возвращает установленную сессию + HTTP_SUCCESS + device + user или `error` + HTTP_UNAUTHORIZED
https://harlik.com/api.php?obj=Device&m=login
авторизация устройства пользователю, если такого пользователя нет, он НЕ создается
входные параметры(422):
regid, devid, login, password
возвращает установленную сессию + HTTP_SUCCESS + device + user или `error` + HTTP_UNAUTHORIZED
https://harlik.com/api.php?obj=Device&m=ready
проставляет статус готовности устройства и его координаты
входные параметры:
необязательные параметры: my_x, my_y, my_accuracy, provider,
time - время в секундах. На случай передачи старых координат, когда не было интернета. Должны передаваться последовательно, нельзя передать данные более старые, чем последние в базе.
info - по аналогии с https://mozilla.github.io/ichnaea/api/geolocate.html
{"networks":[{"id":156166157,"LAC":26229,"MCC":250,"MNC":20,"psc":146,"radioType":"lte","ss":-78},...], "wifis":[{"mac":"1c:5f:2b:a1:4f:ac","ss":-44},...]}"
info может передаваться в виде zip-файла, содержащего один файл с расширением txt
battery - уровень заряда батарейки в %
charged - заряжается, если передать battery и не передать charged, - заряд окончен
или items="time*, my_x*, my_y*, my_accuracy, provider, info; time, my_x, my_y, my_accuracy, provider, info". Разделитель дробной части - точка, time в виде числа timestamp
отправляет PUSH:
при входе/выходе за забор:
m=alarm_fence_in или alarm_fence_out, device_id, device_name, device_img, x, y, time, place_id, place_name
при низком заряде батареи
m=alarm_low_battery, device_id, device_name, device_img, x, y, time, battery
всем у кого стоит подписка на onLine мониторинг:
m=gps, device_id, device_name, device_img, x, y, time
возвращает:
send_gps = 1 - постоянно передавать координаты, 0 больше координаты не передавать
Если вызывать несколько одновременно и чаще чам раз в 5 секунд, каждый следующий будет зависать на 5 секунд.
https://harlik.com/api.php?obj=Device&m=push_read
проставляет статус прочитано PUSH-у
входные параметры:
id push-a
https://harlik.com/api.php?obj=Device&m=lists
получение списка устройств, доступных текущему пользователю
для получения отдельного списка используте метод list_*
входные параметры:
places=1 - добавить информацию об отслеживаемых местах
возвращает ['status' => HTTP_SUCCESS,
'our'=>массив устройств моего аккаунта,
'master'=>список устройств, за которыми я могу следить(не включая тех, за кем не слежу, но могу следить на основании общего членства в закрытых группах),
'slave'=>список устройств, которые следят за мной ];
по каждому устройству:
id - id
name - имя устройства как оно записано у меня. Если у меня нет, то как у него, если нет, то его номер телефона, если ничего нет, то user_agent
img - маленькая картинка, если есть
key - id контакта в телефоне, если есть
places=[.., ..] если в запросе указано places=1
in_fence = 1 для тех мест, внутри которых находится устройство
для master и our - места отслеживания того устройства, для slave - места отслеживания моего устройства
https://harlik.com/api.php?obj=Device&m=list_our
получение списка устройств моего аккаунта,
входные параметры:
places=1 - добавить информацию об отслеживаемых местах
возвращает ['status' => HTTP_SUCCESS,'items'=[...]]
по каждому устройству:
id - id
name - имя устройства как оно записано у меня. Если у меня нет, то как у него, если нет, то его номер телефона, если ничего нет, то user_agent
img - маленькая картинка, если есть
key - id контакта в телефоне, если есть
https://harlik.com/api.php?obj=Device&m=list_master
получение списка устройств, за которыми я могу следить
входные параметры:
group=1 - включить всех тех, за кем я не слежу, но могу следить на основании общего членства в закрытых группах
places=1 - добавить информацию об отслеживаемых местах
возвращает
['status' => HTTP_SUCCESS,'items'=[...]]
по каждому устройству:
id - id
name - имя устройства как оно записано у меня. Если у меня нет, то как у него, если нет, то его номер телефона, если ничего нет, то user_agent
img - маленькая картинка, если есть
key - id контакта в телефоне, если есть
https://harlik.com/api.php?obj=Device&m=list_slave
получение списка устройств, которые следят за мной
не показываются устройства, которые могут следить, но не следят
входные параметры:
places=1 - добавить информацию об отслеживаемых местах моего устройства
возвращает ['status' => HTTP_SUCCESS,'items'=[.., ..]]
по каждому устройству:
id - id
name - имя устройства как оно записано у меня. Если у меня нет, то как у него, если нет, то его номер телефона, если ничего нет, то user_agent
img - маленькая картинка, если есть
key - id контакта в телефоне, если есть
places=[.., ..] если в запросе указано places=1
https://harlik.com/api.php?obj=Device&m=list_ban
получение списка забаненных мной устройств
возвращает:
['status' => HTTP_SUCCESS,'items'=[...]]
по каждому устройству:
id - id
name - имя устройства как оно записано у меня. Если у меня нет, то как у него, если нет, то его номер телефона, если ничего нет, то user_agent
img - маленькая картинка, если есть
key - id контакта в телефоне, если есть
https://harlik.com/api.php?obj=Device&m=get_permission
запросить право permissions на управление устройством id
входные параметры(422):
id или phone,
permissions - битовая маска набора прав, если не задано, то DEVICE_ACCESS_GPS
name - как называть у меня(необязательно)
img - аватарка как показывать у меня(необязательно)
если устройство в моем аккунте, то право предоставляется автоматически без подтверждения
если мы в одной приватной группе, то право получения координат предоставляется автоматически без подтверждения
иначе
отправляет PUSH:
m=get_permission, device_id, device_name, device_img, permissions=битовое_поле_запрашиваемых_прав
в ответ на PUSH устройство должно вызвать m=set_permission&id=device['id']
возвращает:
HTTP_SUCCESS + message='Отправлен запрос на предоставление права получения координат'
https://harlik.com/api.php?obj=Device&m=set_permission
предоставить право permissions на управление устройством id
входные параметры(422):
id или phone,
permissions - битовая маска набора прав, если не задано, то DEVICE_ACCESS_GPS
отправляет PUSH:
m=set_permission, device_id, device_name, device_img, permissions=битовое_поле_установленных_прав
возвращает:
HTTP_SUCCESS + message='Доступ предоставлен'
https://harlik.com/api.php?obj=Device&m=setting_list
Получить список прав доступа, уведомлений и атрибутов устройству id к моему телефону
входные параметры:
for= device_permission | device | device_place, если не задано, то считается device
id - для for=device_permission и device_place
place - для for=device_place
или id_dp для device_place
возвращает:
HTTP_SUCCESS или HTTP_NOT_FOUND или HTTP_BAD_REQUEST
Права, недоступные для изменения данному устройству не возвращаются.
https://harlik.com/api.php?obj=Device&m=set
настройка прав доступа, уведомлений и атрибутов устройству id к моему телефону
входные параметры:
id + имя константы(в любом регистре) из device_permission->permissions = 1|0
или
id + имя константы(в любом регистре) из device_permission->attribute = 1|0
или
id + имя константы(в любом регистре) из device_permission->alarms = 1|0
или
(id + place или id_dp) + имя константы(в любом регистре) из device_permission->alarm_place = 1|0
или
имя константы(в любом регистре) из device->permissions = 1|0
констант в запросе может быть несколько
если у вас есть полный доступ к другому устройству, вы можете изменить на нем:
id + имя константы(в любом регистре) из device->settings, device->period_i, device->period_m, user->sex(0-не указан,1-Женский,2-Мужской)
отправляет PUSH:
m=set_permission, device_id, device_name, device_img, permissions
m=set_settings, device_id, device_name, device_img, settings, period_i, period_m
возвращает:
HTTP_SUCCESS или HTTP_BAD_REQUEST если ни одна из переданных констант не изменила значение
https://harlik.com/api.php?obj=Device&m=get_user_info
Возвращается информация о пользователе и всех его устройствах
входные параметры:
login = name или mail или phone пользователя, если не передано, то информацию о текущем пользователе
возвращает:
HTTP_SUCCESS,
user=[информация о пользователе],
devices=[массив устройств переданного аккаунта] ]
https://harlik.com/api.php?obj=Device&m=get_info
для совместимости, будет удален!!!
https://harlik.com/api.php?obj=Device&m=get_movies
Возвращается информация о перемещениях устройства
входные параметры:
id = id устройства или моё
from=дата, время. Или секунды. Любой формат доступный для strtotime
to=data, время. Или секунды. Любой формат доступный для strtotime
если время не задано, то за сегодня. Если сегодня нет, то одни последние координаты
add_info - добавить информацию о скорости(v=км/час) и расстоянии(l=м) между точками
group_by_place[=расстояние в метрах, по умолчанию 75м] - группировать пребывание в одном месте.
возвращает:
HTTP_SUCCESS,
items=информация о перемещениях устройства:
[[time - время
x - широта
y - долгота,
accuracy - точность в метрах,
provider - провайдер, который дал координаты,
to - время до которого находился в этой точке, указывается при группировке координат по group_by_place или по кол-ву точек
l - расстояние в метрах между этой точкой и предыдущей (если задано add_info)
v - скорость перемещения в эту точку, км/час (если задано add_info)
],[..]]
если за выбранные период информации нет, то HTTP_NO_CONTENT
если информации более 100 точек, они прореживаются, удаляются повторные точки. В любом случае, возвращается не более 1000 точек.
если не задано group_by_place и устройство длительное время находилось в одной точке, то возвращается время начала и время конца двумя точками
если у вас нет прав на получение местоположения устройства, то HTTP_PERMISSION_DENIED
https://harlik.com/api.php?obj=Device&m=get
Запрос информации и координат
Устройства, которые не дали права отдаются без координат
входные параметры:
id = id1,id2,id3 - список устройств,
если список устройств не передан, то о себе
если id=slave - возвращается информация обо всех устройствах, которые я отслеживаю
phone - альтернатива id (телефон должен быть подтвержден)
places=1 - добавить информацию об отслеживаемых местах. Если на устройстве включен режим "засыпать внутри круглых зон", то размер всех круглых зон уменьшается до 300метров
возвращает:
HTTP_SUCCESS
если в запросе одно устройство, возвращается:
item=[основная информация об устройстве('id', 'name', 'img'|'imgs'), дополнительно передается:
user_name - имя пользователя устройства
my_name, my_img - как я назвал это устройство и моя аватарка этого устройства
status - см. device->status
permissions - см. device_permission->permissions если запрос о другом
settings - см. device->permissions, если запрос о себе
alarms - см. device_permission->alarms
battery - уровень заряда батарейки в % 0..100, не передается, если нет информации более 5 часов
location=[
time = время последнего получения координат,
x = широта,
y = долгота
accuracy - точность в метрах
provider - провайдер, который дал координаты
]
places=[.., ..] если в запросе указано places=1
in_fence = 1 для тех мест, внутри которых находится устройство
]
если в запросе более одного устройства, возвращается:
items=[[первое устройство], [следующее устройство]]
]
отправляет PUSH:
Всем отслеживаемым устройствам с выключенным мониторингом отправляю PUSH(m=send_gps) для разового получения текущих координат
https://harlik.com/api.php?obj=Device&m=add_place
для устройства id добавляет или изменяет место отслеживания
входные параметры(422):
id - устройство
place - id места, должно быть предварительно добавлено в obj=place&m=save
или
id_dp - id из таблицы device_place (только при редактировании)
schedule - когда отслеживать, например 08:00-20:00, или 08:00 для alarms&(4|8) Ведущие нули обязательны!
day_of_week - битовая маска дней недели 0-вс, 1-пн, .. 6-сб. 0 или 127 - всегда
alarms - &1-выход за забор, &2-вход внутрь забора, &4-до schedule, &8-после schedule
для получения списка полей для добавления места отслеживания передайте id_dp=0, id, [place]
для получения списка полей для редактирования места отслеживания передайте id_dp
отправляет PUSH:
m=change_place
https://harlik.com/api.php?obj=Device&m=del_place
удаляет место отслеживания
входные параметры:
id - устройство
place - id места
или id_dp - id из таблицы device_place
отправляет PUSH:
m=change_place
https://harlik.com/api.php?obj=Device&m=get_places
для устройства id возвращает места отслеживания
Обратите внимание: даже если у вас нет прав на отслеживание, у вас могут быть настроены места, но по ним уведомления присылаться не будут
входные параметры:
id - устройство, если не передано, возвращает все места в которых отслеживают меня
возвращает:
items=[[id,
in_fence - сейчас находится 0-снаружи забора, 1-внутри забора,
schedule - когда отслеживать, например 08:00-20:00, или 08:00 для alarms&(4|8)
alarms - &1-выход за забор, &2-вход внутрь забора, &4-до schedule, &8-после schedule
day_of_week - битовая маска дней недели 0-вс, 1-пн, .. 6-сб
place=[
id - id места
name,
description,
fence = координаты забора [[x1,y1],[x2,y2],..],
point_x = центр зоны слежения,
point_y = центр зоны слежения,
radius = радиус зоны слежения, метров,
attribute= &1-Public,
]
]
https://harlik.com/api.php?obj=Device&m=get_place
для устройства id и места place возвращает информацию о месте отслеживания
входные параметры:
id - устройство
place - id места
возвращает:
item=[id,
in_fence - сейчас находится 0-снаружи забора, 1-внутри забора,
schedule - когда отслеживать, например 08:00-20:00, или 08:00 для alarms&(4|8)
alarms - &1-выход за забор, &2-вход внутрь забора, &4-до schedule, &8-после schedule
day_of_week - битовая маска дней недели 0-вс, 1-пн, .. 6-сб
place=[
id - id места
name,
description,
fence = координаты забора [[x1,y1],[x2,y2],..],
point_x = центр зоны слежения,
point_y = центр зоны слежения,
radius = радиус зоны слежения, метров,
attribute= &1-Public,
]
https://harlik.com/api.php?obj=Device&m=time_in_place
Возвращает время нахождения устройств в указанном месте для учета рабочего времени
входные параметры:
id=список id устройств
place - id места
from - дата начала, если не указанна, то начало текущего месяца
to - дата конца, если не указанна, то до конца месяца
round - до скольки знаков округлять каждый день: 0 - до целого, 1-до одного знака после запятой
max_work_time=8 - если человек находился в какой-то день больше указанного времени, то в этот день учитывается не более этого значения
todo work_time=08:00-17:00 - учитывать только за это время
break_duration=1 - обязательный перерыв в часах. Вычитать из ежедневного рабочего времени и добавлять во время перерыва, даже если в это время человек находился на работе
возвращает:
HTTP_SUCCESS + items[[device=[id,name],t=[8,8,8,2],break=[0.15,0,1,1.2],s=120], [device=[id,name],error='Нет доступа к устройству'], ..] + from + to:
t=количество часов нахождения в соответствующий день
break=общее время перерывов(время отсутствия на работе)
s=общее кол-во часов без учета округления
https://harlik.com/api.php?obj=Device&m=get_comming
Найти людей(устройства) рядом
входные параметры:
distance=NN.N км если не переданно, то в пределах 300 метров
возвращает:
items=[['id', 'name', 'img',
'key' - id контакта в телефоне, если есть
'time'=>время последнего получения координат,
'distance'=расстояние в км
], [...] ]
https://harlik.com/api.php?obj=Device&m=alarm
разослать уведомления о событии с устройством
входные параметры:
reason=alarm_sos - на устройстве нажали кнопку SOS
alarm_low_battery низкий заряд и невозможность дальнейшего слежения
любые другие отправляются в PUSH без изменений
my_x,my_y - текущие координаты
id=кому через ',', если не передано, то всем кто следит и всем в приватных группах
возвращает:
HTTP_SUCCESS
отправляет PUSH:
m=alarm_sos, device_id, device_name, device_img, x, y
m=alarm_low_battery, device_id, device_name, device_img, x, y
https://harlik.com/api.php?obj=Device&m=preload
Предзагрузка файлов
Принимает массив с base64 кодированными файлами и их оригинальным именем
files=[['name','body'], ['name','body']]
где name - оригинальное имя файла
body - base64 кодированное тело файла
Также файл может быть передан через стандартную передачу файла
Сохраняет файл во временную папку и возвращает о нем информацию в виде
'temp' - относительный путь с начальным / к файлу включая его имя
'name' - исходное имя файла
'icon' - иконка файла с относительным путем в зависимости от его типа
'filesize' - размер файла
https://harlik.com/api.php?obj=Device&m=unregister
устройство выключено. Снимает признак STATUS_READY у устройства.
https://harlik.com/api.php?obj=Device&m=save
установка параметров текущего или указанного устройства
входные параметры(422):
для текущего устройства
id=текущему device_id или не передается
name, phone, status, img, sex(0-не указан, 1-Женский, 2-Мужской)
permissions= битовое поле
если передан корректный новый номер телефона на него сразу поступит звонок от случайного номера для подтверждения номера телефона,
необходимо получить звонок и в течение 5 минут вызвать m=confirm_phone или save с дополнительным параметром code=последние 6 цифр звонившего номера телефона
short=1 - если передано, то возвращается id и статус, иначе item=[get_info]
для другого устройства:
id - установка параметров устройства id. Он должен быть в списке устройств, которыми я управляю
name - имя, как его отображать у меня, не влияет на имя на его устройстве
img - аватарка у меня, не влияет на аватарку на его устройстве
place - id места
schedule - когда отслеживать, например 8:00-20:00 чтобы не тратить батарейку по ночам
attribute - см. device_permission->attribute
alarms=битовая маска список уведомлений:
&4-батарейка разряжена,
&8-баланс меньше 10 рублей
?todo max_distance_for_get_permission - при каком максимальном удалении устройства в км можно запрашивать права на доступ, по умолчанию 10км
?постоянная передача координат в течение NN минут [15, 30, час, 2, ... 24]
возвращает:
HTTP_SUCCESS - если установка параметров другому пользователю
или
HTTP_SUCCESS + message="Изменения сохранены!" + id, если в запросе short
или
HTTP_SUCCESS + id + message="Изменения сохранены!" + item=[get_info]
или
HTTP_NOT_ENOUGH_DATA + inputs=[name=code]- если необходимо ввести код подтверждения телефона
https://harlik.com/api.php?obj=Device&m=confirm_phone
Подтверждение телефона пользователя
входные параметры(422):
code = код полученный по СМС или последние 6 цифр номера телефона входящего звонка
возвращает:
HTTP_SUCCESS или HTTP_NOT_FOUND
Если подтверждение успешно, со всех ранее подтвержденных номеров снимается подтверждение и номера удаляются
https://harlik.com/api.php?obj=Device&m=sound_on
Включить звук у устройства пользователя
входные параметры:
int id = устройства
отправляет PUSH:
m=sound_on
https://harlik.com/api.php?obj=Device&m=test_ping
тестовый пинг устройства пользователя
int id = один или несколько id устройств через ',' если не передан, пинг текущего устройства
array data = [одноуровневый массив, device_id, device_name]
array notification =[title, body, icon, click_action]
https://harlik.com/api.php?obj=Device&m=del
Удалить подписанный на оповещения браузер
входные параметры:
id - id удаляемого браузера
возвращает:
HTTP_SUCCESS или HTTP_NO_CONTENT
https://harlik.com/api.php?obj=Device&m=subscribe
Подписка браузера на Push
входные параметры:
regid = токен устройства
oldid = если изменился токен, старый для замещения
До вызова метода пользователь должен быть авторизован на сайте
https://harlik.com/api.php?obj=Device&m=unsubscribe
Отписка браузера от Push
входные параметры:
regid = токен устройства
До вызова метода пользователь должен быть авторизован на сайте
https://harlik.com/api.php?obj=Device&m=subscribe_gps
Подписка на Push об изменении координат конкретного устройства
входные параметры:
id = одно или несколько устройств, координаты которых вы хотите получать в виде Push сообщений в ближайшие duration минут. Вы должны иметь право на получение координат от этих устройств
duration = в течение скольки минут оповещать. 0-отписаться. Если не передан, то 10 минут. Максимум 60 минут.
todo проверить подписку браузером
При изменении координат в течение 10 минут будет отправлен PUSH:
m=gps, data=[device_id, device_name, device_img, x, y]
https://harlik.com/api.php?obj=Device&m=get_link_counts
Счетчики
Возвращает:
group_count - Количество групп
child_count - Количество отслеживаемых устройств