Векторы маршрутизации (routes)

Запросы

HTTP verb Endpoint Описание

POST

/rest/v1/uc/routes

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

GET

/rest/v1/uc/routes

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

GET

/rest/v1/uc/routes/<id>

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

PATCH

/rest/v1/uc/routes/<id>

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

DELETE

/rest/v1/uc/routes/<id>

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

LOOKUP

/rest/v1/uc/routes

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


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

Запрос

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

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

route entity

Ответ

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

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

{
  "id": "b00035ca-016c-ccde-b60c-50e54938780c",
  "vector": "default",
  "priority": 99,
  "dir": "outer",
  "fromdomain": "",
  "fromnumber": "",
  "fromextaccount": "",
  "tonumber": "[]9XXX",
  "schedule": "all",
  "periods": [],
  "opts": {
    "comment": "",
    "title": ""
  },
  "ext": {
    "ct": "2019-08-26T07:40:43.15Z",
    "lwt": "2019-08-26T07:40:43.15Z"
  }
}

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

Запрос

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

filter

object

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

mask

str

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

offset

int

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

limit

int

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

order

array<object|str>

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

flat

bool

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

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

Ответ

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

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

[
  {
    "id": "5b8ef76d-016c-b377-6c01-50e54938780c",
    "vector": "externals",
    "priority": 5,
    "dir": "",
    "fromdomain": "4XX",
    "fromnumber": "",
    "fromextaccount": "",
    "tonumber": "9XXXXXXXXXX",
    "schedule": "all",
    "ext": {
      "ct": "2019-08-21T09:17:23.84Z",
      "lwt": "2019-08-21T09:17:23.84Z"
    }
  },
  {
    "id": "b00035ca-016c-ccde-b60c-50e54938780c",
    "vector": "default",
    "priority": 99,
    "dir": "outer",
    "fromdomain": "",
    "fromnumber": "",
    "fromextaccount": "",
    "tonumber": "[*]9XXX",
    "schedule": "all",
    "ext": {
      "ct": "2019-08-26T07:40:43.15Z",
      "lwt": "2019-08-26T07:40:43.15Z"
    }
  }
]

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

Запрос

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

mask

str

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

flat

bool

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

Пример запроса
GET /rest/v1/uc/routes/b00035ca-016c-ccde-b60c-50e54938780c HTTP/1.1

Ответ

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

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

{
  "id": "b00035ca-016c-ccde-b60c-50e54938780c",
  "vector": "default",
  "priority": 99,
  "dir": "outer",
  "fromdomain": "",
  "fromnumber": "",
  "fromextaccount": "",
  "tonumber": "[]9XXX",
  "schedule": "all",
  "periods": [],
  "opts": {
    "comment": "",
    "title": ""
  },
  "ext": {
    "ct": "2019-08-26T07:40:43.15Z",
    "lwt": "2019-08-26T07:40:43.15Z"
  }
}

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

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

Запрос

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

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

route entity

Ответ

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

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

{
  "id": "b00035ca-016c-ccde-b60c-50e54938780c",
  "vector": "default",
  "priority": 99,
  "dir": "outer",
  "fromdomain": "",
  "fromnumber": "",
  "fromextaccount": "r1",
  "tonumber": "*",
  "schedule": "custom",
  "periods": [
    {
      "daystart": 1,
      "timestart": 480,
      "daystop": 1,
      "timestop": 1080
    },
    {
      "daystart": 2,
      "timestart": 480,
      "daystop": 5,
      "timestop": 1080
    }
  ],
  "opts": {
    "comment": "",
    "title": ""
  },
  "ext": {
    "ct": "2019-08-26T07:40:43.15Z",
    "lwt": "2019-09-07T17:22:21.57Z"
  }
}

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

Запрос

Пример запроса
DELETE /rest/v1/uc/routes/b00035ca-016c-ccde-b60c-50e54938780c HTTP/1.1

Ответ

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

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

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

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

Запрос

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

"b00035ca-016c-ccde-b60c-50e54938780c"

Ответ

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

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

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