borderrules (borderrules)

Запросы

HTTP verb Endpoint Описание

POST

/rest/v1/master/borderrules

Создание нового правила

GET

/rest/v1/master/borderrules

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

GET

/rest/v1/master/borderrules/<id>

Получение данных правила

PATCH

/rest/v1/master/borderrules/<id>

Изменение данных правила

DELETE

/rest/v1/master/borderrules/<id>

Удаление правила

LOOKUP

/rest/v1/master/borderrules

Поиск идентификатора правила


Создание нового правила

Запрос

Описание полей: borderrule entity

Пример запроса
POST /rest/v1/master/borderrules HTTP/1.1
Content-Type: application/json; charset=utf-8

borderrule entity

Ответ

Описание полей: borderrule entity

Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "id": "9a7a73b7-016c-cd10-9ca9-50e54938780c",
  "enabled": 1,
  "priority": 91,
  "site": "*",
  "service": "sip",
  "domain": "docs[.]rootdomain[.]ru",
  "username": "",
  "useragent": "",
  "remoteipmask": "0.0.0.0/0",
  "action": "allow",
  "opts": {
    "title": "",
    "comment": ""
  },
  "ext": {
    "ct": "2019-08-26T08:35:13.70Z",
    "lwt": "2019-08-26T08:35:13.70Z"
  }
}

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

Запрос

Table 1. Параметры запроса
Имя Тип Описание

filter

object

Фильтр по значениям полей.

mask

str

Список полей для вывода. Доступные поля для выдачи: id, priority, site, domain, username, useragent, remoteipmask, opts.title, ext.lwt, ext.ct.

offset

int

Смещение в списке ресурсов, подлежащих выдаче.

limit

int

Максимальное количество ресурсов в списке.

order

array<object|str>

Порядок сортировки ресурсов в списке.

flat

bool

Преобразование в плоский вид составных полей.

Пример запроса
GET /rest/v1/master/borderrules?offset=0&limit=5 HTTP/1.1

Ответ

Описание полей: borderrule entity

Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

[
  {
    "id": "9a7a73b7-016c-cd10-9ca9-50e54938780c",
    "enabled": 1,
    "priority": 91,
    "site": "",
    "service": "sip",
    "domain": "docs[.]rootdomain[.]ru",
    "username": "",
    "useragent": "",
    "remoteipmask": "0.0.0.0/0",
    "action": "allow",
    "opts": {
      "title": ""
    },
    "ext": {
      "ct": "2019-08-26T08:35:13.70Z",
      "lwt": "2019-08-26T08:35:13.70Z"
    }
  },
  {
    "id": "592aac52-016c-cd11-5ca7-50e54938780c",
    "enabled": 1,
    "priority": 92,
    "site": "",
    "service": "sip",
    "domain": "",
    "username": "abcde",
    "useragent": "",
    "remoteipmask": "0.0.0.0/0",
    "action": "deny",
    "opts": {
      "title": ""
    },
    "ext": {
      "ct": "2019-08-27T09:36:14.81Z",
      "lwt": "2019-08-27T09:36:14.81Z"
    }
  },
  {
    "id": "50b2cff8-016d-1bb6-0054-02004c4f4f50",
    "enabled": 1,
    "priority": 93,
    "site": "",
    "service": "sip",
    "domain": "",
    "username": "",
    "useragent": "friendly-scanner.\",
    "remoteipmask": "0.0.0.0/0",
    "action": "drop",
    "opts": {
      "title": ""
    },
    "ext": {
      "ct": "2019-08-28T10:37:15.92Z",
      "lwt": "2019-08-28T10:37:15.92Z"
    }
  },
  {
    "id": "9f2605a4-016d-1bb7-d504-02004c4f4f50",
    "enabled": 1,
    "priority": 94,
    "site": "SITE1",
    "service": "sip",
    "domain": "",
    "username": "",
    "useragent": "",
    "remoteipmask": "212.53.40.40/4",
    "action": "allow",
    "opts": {
      "title": ""
    },
    "ext": {
      "ct": "2019-08-29T11:38:16.03Z",
      "lwt": "2019-08-29T11:38:16.03Z"
    }
  },
  {
    "id": "0a2cce0d-016d-1bb7-f46b-02004c4f4f50",
    "enabled": 1,
    "priority": 95,
    "site": "SITE2",
    "service": "sip",
    "domain": "^.test.$",
    "username": "test[A-Z]*",
    "useragent": "...endly-scann..",
    "remoteipmask": "192.168.0.0/24",
    "action": "drop",
    "opts": {
      "title": ""
    },
    "ext": {
      "ct": "2019-08-30T12:39:17.14Z",
      "lwt": "2019-08-30T12:39:17.14Z"
    }
  }
]

Получение данных правила

Запрос

Table 2. Параметры запроса
Имя Тип Описание

mask

str

Список полей для вывода.

flat

bool

Преобразование в плоский вид составных полей.

Пример запроса
GET /rest/v1/master/borderrules/9a7a73b7-016c-cd10-9ca9-50e54938780c HTTP/1.1

Ответ

Описание полей: borderrule entity

Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "id": "9a7a73b7-016c-cd10-9ca9-50e54938780c",
  "enabled": 1,
  "priority": 91,
  "site": "*",
  "service": "sip",
  "domain": "docs[.]rootdomain[.]ru",
  "username": "",
  "useragent": "",
  "remoteipmask": "0.0.0.0/0",
  "action": "allow",
  "opts": {
    "title": "",
    "comment": ""
  },
  "ext": {
    "ct": "2019-08-26T08:35:13.70Z",
    "lwt": "2019-08-26T08:35:13.70Z"
  }
}

Изменение данных правила

Поля запрещенные для изменения: id

Запрос

Описание полей: borderrule entity

Пример запроса
PATCH /rest/v1/master/borderrules/9a7a73b7-016c-cd10-9ca9-50e54938780c HTTP/1.1
Content-Type: application/json; charset=utf-8

borderrule entity

Ответ

Описание полей: borderrule entity

Пример ответа
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
  "id": "9a7a73b7-016c-cd10-9ca9-50e54938780c",
  "enabled": 1,
  "priority": 91,
  "site": "",
  "service": "sip",
  "domain": "docs[.]rootdomain[.]ru",
  "username": "",
  "useragent": "friendly-scanner.",
  "remoteipmask": "0.0.0.0/0",
  "action": "allow",
  "opts": {
    "title": "",
    "comment": ""
  },
  "ext": {
    "ct": "2019-08-26T08:35:13.70Z",
    "lwt": "2019-09-10T15:20:51.48Z"
  }
}

Удаление правила

Запрос

Пример запроса
DELETE /rest/v1/master/borderrules/9a7a73b7-016c-cd10-9ca9-50e54938780c HTTP/1.1

Ответ

Пример ответа
HTTP/1.1 204 No Content

Поиск идентификатора правила

Производит поиск ресурса по указанному ключу, возвращает идентификатор(ы) для построения endpoint.

Ключевые поля для поиска: id

Запрос

Пример запроса
LOOKUP /rest/v1/master/borderrules HTTP/1.1
Content-Type: application/json; charset=utf-8

"9a7a73b7-016c-cd10-9ca9-50e54938780c"

Ответ

Пример успешного ответа
HTTP/1.1 200 OK
content-type: application/json; charset=utf-8

[
  "9a7a73b7-016c-cd10-9ca9-50e54938780c"
]
Пример неуспешного ответа
HTTP/1.1 404 Not Found
Content-Type: application/json; charset=utf-8

{
  "error_code": 1404,
  "error_message": "Lookup failed"
}