Правила маршрутизации (vectorrules)

Запросы

HTTP verb Endpoint Описание

POST

/rest/v1/uc/vectorrules

Создание нового правила маршрутизации

GET

/rest/v1/uc/vectorrules

Получение списка правил маршрутизации

GET

/rest/v1/uc/vectorrules/<id>

Получение данных правила маршрутизации

PATCH

/rest/v1/uc/vectorrules/<id>

Изменение данных правила маршрутизации

DELETE

/rest/v1/uc/vectorrules/<id>

Удаление правила маршрутизации

LOOKUP

/rest/v1/uc/vectorrules

Поиск идентификатора правила маршрутизации


Создание нового правила маршрутизации

Запрос

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

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

vectrorule entity

Ответ

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

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

{
  "id": "ca54ed9e-016c-b377-cb5a-50e54938780c",
  "vector": "default",
  "priority": 100,
  "action": "internal",
  "dir": "inner",
  "fromdomain": "",
  "fromextaccount": "",
  "fromnumber": "",
  "tonumber": "",
  "toextaccount": "",
  "todomain": "",
  "routecode": "",
  "modfromnumber": "T",
  "modtonumber": "T",
  "modroutecode": "",
  "schedule": "work",
  "periods": [],
  "opts": {
    "comment": "",
    "title": ""
  },
  "ext": {
    "ct": "2019-08-21T09:17:48.25Z",
    "lwt": "2019-08-21T09:17:48.25Z"
  }
}

Получение списка правил маршрутизации

Запрос

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

filter

object

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

mask

str

Список полей для вывода. Доступные поля для выдачи: id, vector, priority, action, dir, fromnumber, fromdomain, fromextaccount, tonumber, todomain, toextaccount, modfromnumber, modtonumber, opts.title, ext.lwt, ext.ct.

offset

int

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

limit

int

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

order

array<object|str>

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

flat

bool

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

Пример запроса
GET /rest/v1/uc/vectorrules?offset=0&limit=2 HTTP/1.1

Ответ

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

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

[
  {
    "id": "ca54ed9e-016c-b377-cb5a-50e54938780c",
    "vector": "default",
    "priority": 100,
    "action": "internal",
    "dir": "inner",
    "fromdomain": "",
    "fromextaccount": "",
    "fromnumber": "",
    "tonumber": "",
    "toextaccount": "",
    "todomain": "",
    "routecode": "",
    "modfromnumber": "T",
    "modtonumber": "T",
    "modroutecode": "",
    "schedule": "work",
    "opts": {
      "title": ""
    },
    "ext": {
      "ct": "2019-08-21T09:17:48.25Z",
      "lwt": "2019-08-21T09:17:48.25Z"
    }
  },
  {
    "id": "e8d844ab-016c-beb3-f4ec-50e54938780c",
    "vector": "default",
    "priority": 555,
    "action": "crossdomain",
    "dir": "cross",
    "fromnumber": "",
    "fromdomain": "test.rootdomain.ru",
    "fromextaccount": "",
    "tonumber": "",
    "todomain": "",
    "toextaccount": "",
    "routecode": "",
    "modfromnumber": "T",
    "modtonumber": "T",
    "modroutecode": "*",
    "schedule": "all",
    "opts": {
      "title": ""
    },
    "ext": {
      "ct": "2019-08-23T13:39:20.42Z",
      "lwt": "2019-08-23T13:39:20.42Z"
    }
  }
]

Получение данных правила маршрутизации

Запрос

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

mask

str

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

flat

bool

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

Пример запроса
GET /rest/v1/uc/vectorrules/ca54ed9e-016c-b377-cb5a-50e54938780c HTTP/1.1

Ответ

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

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

{
  "id": "ca54ed9e-016c-b377-cb5a-50e54938780c",
  "vector": "default",
  "priority": 100,
  "action": "internal",
  "dir": "inner",
  "fromdomain": "",
  "fromextaccount": "",
  "fromnumber": "",
  "tonumber": "",
  "toextaccount": "",
  "todomain": "",
  "routecode": "",
  "modfromnumber": "T",
  "modtonumber": "T",
  "modroutecode": "",
  "schedule": "work",
  "periods": [],
  "opts": {
    "comment": "",
    "title": ""
  },
  "ext": {
    "ct": "2019-08-21T09:17:48.25Z",
    "lwt": "2019-08-21T09:17:48.25Z"
  }
}

Изменение данных правила маршрутизации

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

Запрос

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

Пример запроса
PATCH /rest/v1/uc/vectorrules/ca54ed9e-016c-b377-cb5a-50e54938780c HTTP/1.1
Content-Type: application/json; charset=utf-8

vectrorule entity

Ответ

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

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

{
  "id": "ca54ed9e-016c-b377-cb5a-50e54938780c",
  "vector": "default",
  "priority": 100,
  "action": "cross",
  "dir": "",
  "fromdomain": "",
  "fromextaccount": "",
  "fromnumber": "XXX",
  "tonumber": "XXX",
  "toextaccount": "",
  "todomain": "test.rootdomain.ru",
  "routecode": "",
  "modfromnumber": "14T",
  "modtonumber": "/X/XXX",
  "modroutecode": "*",
  "schedule": "work",
  "periods": [],
  "opts": {
    "comment": "",
    "title": ""
  },
  "ext": {
    "ct": "2019-08-21T09:17:48.25Z",
    "lwt": "2019-08-21T09:17:48.25Z"
  }
}

Удаление правила маршрутизации

Запрос

Пример запроса
DELETE /rest/v1/uc/vectorrules/ca54ed9e-016c-b377-cb5a-50e54938780c HTTP/1.1

Ответ

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

Поиск идентификатора правила маршрутизации

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

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

Запрос

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

"b6edc9b1-016c-b372-63a5-50e54938780c"

Ответ

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

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

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