-
-
Notifications
You must be signed in to change notification settings - Fork 1
API
lumian edited this page Feb 17, 2021
·
6 revisions
Внимание! API находится в стадии разработки в версии GRcentral 0.3.
API работает по стандартному HTTP протоколу с помощью контроллера api.php.
Все ответы от сервера приходят в JSON формате.
Успешный ответ:
{
"error": false,
"result": { ... }
}
Ошибочный ответ:
{
"error": true,
"result": false
}
На данном этапе не предусмотрено никакой авторизации запросов, а так же никаких описаний ошибок.
Для получения информации об устройстве, можно использовать IP адрес, MAC адрес, внутренний ID.
GET: /api/v1/devices/ip/X.X.X.X
GET: /api/v1/devices/mac/XXXXXXXXXXXX
GET: /api/v1/devices/id/XXX
Ответ:
{
"error": false,
"result": {
"id": "1",
"mac_addr": "000000000000",
"ip_addr": "192.168.10.1",
"model_id": "1",
"status_online": "1",
"status_online_changetime": "2021-02-16 11:30:06",
"status_active": "1",
"descr": "Device name",
"fw_version": "1.0.7.6",
"fw_version_pinned": "0",
"params_json_data": "[\"P1341 = 0\",\"P1525 =\",\"P1376 = 0\"]"
}
}
Следующими запросами можно получить список только активных устройств или полный список.
GET: /api/v1/devices/list/active
GET: /api/v1/devices/list/all
Ответ:
{
"error": false,
"result": [
{
"id": "25",
"mac_addr": "000000000000",
"ip_addr": "192.168.10.25",
"model_id": "1",
"status_online": "0",
"status_online_changetime": "2021-02-16 11:48:04",
"status_active": "1",
"descr": "TestPhone",
"fw_version": "1.0.7.6",
"fw_version_pinned": "0",
"params_json_data": ""
},
{
"id": "1",
"mac_addr": "000000000000",
"ip_addr": "192.168.10.1",
"model_id": "1",
"status_online": "1",
"status_online_changetime": "2021-02-16 11:30:06",
"status_active": "1",
"descr": "Device name",
"fw_version": "1.0.7.6",
"fw_version_pinned": "0",
"params_json_data": "[\"P1341 = 0\",\"P1525 =\",\"P1376 = 0\"]"
}
]
}
Следующими запросами можно получить полный список моделей устройств или одной по ID
GET: /v1/device_models/list/all
Ответ:
{
"error": false,
"result": [
{
"id": "1",
"tech_name": "GXP1610",
"friendly_name": "Grandstream GXP1610"
},
{
"id": "2",
"tech_name": "GXP1620",
"friendly_name": "Grandstream GXP1620"
}
],
}
GET: /v1/device_models/list/all
Ответ:
{
"error": false,
"result": {
"id": "1",
"tech_name": "GXP1610",
"friendly_name": "Grandstream GXP1610"
}
}
Следующими запросами можно получить полный список контактов или только активных.
GET: /api/v1/phonebook/list/all
GET: /api/v1/phonebook/list/active
Ответ:
{
"error": false,
"result": {
"1": {
"first_name": "Иванов",
"last_name": "Иван",
"phone_work": "100"
},
"2": {
"first_name": "Петров",
"last_name": "Федор",
"phone_work": "101"
}
}
}
Запрос:
GET: /api/v1/phonebook/phone/XXX
Ответ:
{
"error": false,
"result": {
"first_name": "Иванов",
"last_name": "Иван",
"phone_work": "100"
}
}