Каналы обмена быстрыми сообщениями (imchannels)

Запросы

HTTP verb Endpoint Описание

POST

/rest/v1/uc/imchannels

Создание нового канала

GET

/rest/v1/uc/imchannels

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

GET

/rest/v1/uc/imchannels/<id>

Получение данных канала

PATCH

/rest/v1/uc/imchannels/<id>

Изменение данных канала

DELETE

/rest/v1/uc/imchannels/<id>

Удаление канала

LOOKUP

/rest/v1/uc/imchannels

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


Создание нового канала

Запрос

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

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

imchannel entity

Ответ

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

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

{
  "id": "3005a447-017b-e5f8-472b-7cd30a921f58",
  "code": "telegram",
  "mode": "request",
  "recv_strategy": "",
  "send_strategy": "",
  "opts": {
    "title": "",
    "comment": "",
    "after_read_timeout": 100,
    "max_account_mps": 30,
    "max_remoteparty_mps": 1
  },
  "ext": {
    "ct": "2021-09-14T20:20:58.79Z",
    "lwt": "2021-09-14T20:20:58.79Z"
  }
}

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

Запрос

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

filter

object

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

mask

str

Список полей для вывода. Доступные поля для выдачи: id, code, mode, recv_strategy, send_strategy, opts.title, opts.comment, ext.lwt, ext.ct.

offset

int

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

limit

int

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

order

array<object|str>

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

flat

bool

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

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

Ответ

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

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

[
  {
    "id": "3005a447-017b-e5f8-472b-7cd30a921f58",
    "code": "telegram",
    "mode": "request",
    "recv_strategy": "",
    "send_strategy": "",
    "opts": {
      "title": "",
      "comment": ""
    },
    "ext": {
      "ct": "2021-09-14T20:20:58.79Z",
      "lwt": "2021-09-14T20:20:58.79Z"
    }
  },
  {
    "id": "3005a447-017b-e5f8-472b-7cd30a921f58",
    "code": "custom_site_messager",
    "mode": "request",
    "recv_strategy": "custom_site_messager_recv",
    "send_strategy": "custom_site_messager_recv",
    "opts": {
      "title": "",
      "comment": ""
    },
    "ext": {
      "ct": "2021-10-22T15:47:30.41Z",
      "lwt": "2021-10-22T15:47:30.41Z"
    }
  }
]

Получение данных канала

Запрос

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

mask

str

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

flat

bool

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

Пример запроса
GET /rest/v1/uc/imchannels/3005a447-017b-e5f8-472b-7cd30a921f58 HTTP/1.1

Ответ

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

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

{
  "id": "3005a447-017b-e5f8-472b-7cd30a921f58",
  "code": "telegram",
  "mode": "request",
  "recv_strategy": "",
  "send_strategy": "",
  "opts": {
    "title": "",
    "comment": "",
    "after_read_timeout": 100,
    "max_account_mps": 30,
    "max_remoteparty_mps": 1
  },
  "ext": {
    "ct": "2021-09-14T20:20:58.79Z",
    "lwt": "2021-09-14T20:20:58.79Z"
  }
}

Изменение данных канала

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

Запрос

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

Пример запроса
PATCH /rest/v1/uc/imchannels/3005a447-017b-e5f8-472b-7cd30a921f58 HTTP/1.1
Content-Type: application/json; charset=utf-8

imchannel entity

Ответ

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

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

{
  "id": "3005a447-017b-e5f8-472b-7cd30a921f58",
  "code": "telegram",
  "mode": "request",
  "recv_strategy": "my_telegram_recv_scriptcode",
  "send_strategy": "my_telegram_send_scriptcode",
  "opts": {
    "title": "",
    "comment": "",
    "after_read_timeout": 1000,
    "max_account_mps": 30,
    "max_remoteparty_mps": 1
  },
  "ext": {
    "ct": "2021-09-14T20:20:58.79Z",
    "lwt": "2021-09-14T20:20:58.79Z"
  }
}

Удаление канала

Запрос

Пример запроса
DELETE /rest/v1/uc/imchannels/3005a447-017b-e5f8-472b-7cd30a921f58 HTTP/1.1

Ответ

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

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

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

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

Запрос

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

"telegram"

Ответ

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

[
  "3005a447-017b-e5f8-472b-7cd30a921f58"
]
Пример неуспешного ответа
HTTP/1.1 404 Not Found
Content-Type: application/json; charset=utf-8

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

См. также