Skip to content
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
  }

На данном этапе не предусмотрено никакой авторизации запросов, а так же никаких описаний ошибок.

Получение информации (GET запросы)

Устройства

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

Для получения информации об устройстве, можно использовать 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"
    }
  }
Clone this wiki locally