Задача [API62]: Получение РКК документа

Формулировка проблемы: необходимо реализовать API-метод, позволяющий получить РКК документа.

Решение:

URL метода: rest/api/docflow/doc/rcc

Тип запроса: GET.

Метод принимает следующие параметры:

В случае успешного выполнения возвращаемая json в самом общем виде имеет следующие поля:

(1) Для документов с типом журнала внутренний:

(2) Для документов с типом журнала входящий:

(3) Для документов с типом журнала исходящий:

Также должны отображаться данные из формы "Дополнительной карточки", в случае ее наличия, в поле data. Данное поле представляется в усеченном формате json:

"data":
[
  {
    "id": "cmp-numericinput",
    "type": "numericinput",
    "value": "20.00"
  },
  {
    "id": "cmp-id",
    "type": "personlink",
    "label": "Label-text",
    "value": "идентификатор записи адресной книги"
  }
]

т.е. имеет формат

"data": [{"id":"field1_id", "type":"widgetType1", "value": "field1_value",}, ..., {"id":"fieldN_id", "type":"widgetType1", "value": "fieldN_value"}]

причем отдельные поля могут так же иметь параметр label. Типы и id форм брать отсюда. Не отображать те компоненты, для которых формат данных не передается.

В случае неуспешного выполнения возвращается json с полями:

Альтернативные потоки событий:

Альтернативный поток №1. Параметр documentID не передан, либо он пустой. Сервер возвращает ошибку:

Не передан параметр documentID

действие не осуществляется.

Альтернативный поток №2. Передан некорректный (несуществующий) параметр documentID. Сервер возвращает ошибку:

Передан некорректный параметр documentID

действие не осуществляется.

Пример возвращаемого массива:

{
  "content": "Future requests.",
  "registerID": "888cfa2e-6d55-4ed5-b1be-890ffad560dq",
  "registerName": "Исходящие документы",
  "number": "{obwii}-{dd}.{MM}.{yyyy}",
  "regDate": "",
  "correspondentOrg": "",
  "correspondent": "",
  "authorID": "179bda2e-6d55-4ed5-b1be-890ffad280ba",
  "authorName": "Aбдрешен Леонид Аркадьевич",
  "registeredByID": "",
  "authorName": "",
  "controlled": true,
  "caseID": "",
  "caseName": "",
  "bases": [],
  "data":
  [
    {
      "id": "cmp-numericinput",
      "type": "numericinput",
      "value": "20.00"
    },
    {
      "id": "cmp-id",
      "type": "personlink",
      "label": "Label-text",
      "value": "идентификатор записи адресной книги"
    }
  ]
}