Группы контактов (contactgroups)

Запросы

HTTP verb Endpoint Описание

POST

/rest/v1/addressbook/contactgroups

Создание новой группы контактов

GET

/rest/v1/addressbook/contactgroups

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

GET

/rest/v1/addressbook/contactgroups/<id>

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

PATCH

/rest/v1/addressbook/contactgroups/<id>

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

DELETE

/rest/v1/addressbook/contactgroups/<id>

Удаление группы контактов

LOOKUP

/rest/v1/addressbook/contactgroups

Поиск идентификатора группы контактов


Создание новой группы контактов

Запрос

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

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

contactgroup entity

Ответ

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

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

{
  "id": "67f1f2df-016c-dc6b-5202-50e54938780c",
  "code": "101",
  "name": "group number 101",
  "shortname": "G.101",
  "opts": {
    "title": "",
    "comment": "",
    "abonents": [ 1, 5 ],
    "abonentcount": 2,
    "priority": 101
  },
  "ext": {
    "ct": "2019-08-29T08:08:32.60Z",
    "lwt": "2019-08-29T08:08:32.60Z"
  }
}

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

Запрос

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

filter

object

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

mask

str

Список полей для вывода. Доступные поля для выдачи: id, code, name, shortname, opts.abonentcount, opts.priority, ext.lwt, ext.ct.

offset

int

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

limit

int

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

order

array<object|str>

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

flat

bool

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

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

Ответ

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

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

[
  {
    "id": "94cfb284-016c-dc6a-6823-50e54938780c",
    "code": "007",
    "name": "group number 007",
    "shortname": "G.007",
    "opts": {
      "abonentcount": 3,
      "priority": 1000
    },
    "ext": {
      "ct": "2019-08-29T08:07:36.24Z",
      "lwt": "2019-08-29T08:07:36.24Z"
    }
  },
  {
    "id": "67f1f2df-016c-dc6b-5202-50e54938780c",
    "code": "101",
    "name": "group number 101",
    "shortname": "G.101",
    "opts": {
      "abonentcount": 2,
      "priority": 101
    },
    "ext": {
      "ct": "2019-08-29T08:08:32.60Z",
      "lwt": "2019-08-29T08:08:32.60Z"
    }
  }
]

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

Запрос

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

mask

str

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

flat

bool

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

Пример запроса
GET /rest/v1/addressbook/contactgroups/67f1f2df-016c-dc6b-5202-50e54938780c HTTP/1.1

Ответ

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

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

{
  "id": "67f1f2df-016c-dc6b-5202-50e54938780c",
  "code": "101",
  "name": "group number 101",
  "shortname": "G.101",
  "opts": {
    "title": "",
    "comment": "",
    "abonents": [ 1, 5 ],
    "abonentcount": 2,
    "priority": 101
  },
  "ext": {
    "ct": "2019-08-29T08:08:32.60Z",
    "lwt": "2019-08-29T08:08:32.60Z"
  }
}

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

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

Особенности

  • При изменении состава контактов, связка со стороны контактов изменяется автоматически.

  • При изменении кода группы контактов производится автоматическое перестроение ассоциаций между контактами и группой контактов.

  • Если значения полей name и shortname совпадают до изменения, то при изменении поля name без изменения поля shortname содержание последнего автоматически заполняется содержанием, идентичным полю name.

Запрос

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

Пример запроса
PATCH /rest/v1/addressbook/contactgroups/67f1f2df-016c-dc6b-5202-50e54938780c HTTP/1.1
Content-Type: application/json; charset=utf-8

contactgroup entity

Ответ

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

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

{
  "id": "67f1f2df-016c-dc6b-5202-50e54938780c",
  "code": "101",
  "name": "group number 101",
  "shortname": "G.101",
  "opts": {
    "title": "",
    "comment": "",
    "abonents": [ 1, 5, 15, 27 ],
    "abonentcount": 4,
    "priority": 98
  },
  "ext": {
    "ct": "2019-08-29T08:08:32.60Z",
    "lwt": "2019-09-06T16:22:07.54Z"
  }
}

Удаление группы контактов

Запрос

Пример запроса
DELETE /rest/v1/addressbook/contactgroups/67f1f2df-016c-dc6b-5202-50e54938780c HTTP/1.1

Ответ

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

Поиск идентификатора группы контактов

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

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

Запрос

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

"101"

Ответ

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

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

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