Перейти к содержанию

Swagger

ℹ️ Этот раздел не актуализируется. Актуальная документация по API доступна через Swagger-интерфейс системы (путь: /swagger).

Примеры веб-сервисов Valhalla

Пример (PowerShell): связывание задач при win-аутентификации:

$versionTaskId = 123456                     #номер задачи для связывания
cd C:\\Source\\1f                             #путь к репозиторию
$log = git shortlog 2.109..origin/master    #получение списка коммитов

$cred = Get-Credential                      #запрос учетных данных для аутентификации

ForEach ($line in $log) 
{
  if($line)
  {
     $lineTrimmed = $line.Trim();          #получение номера задачи из коммита
    if ($lineTrimmed\[1\ -match \'\0-9\\')]
     {
        if ($lineTrimmed\[0\ -match \'\0-9\\')]
        {
           $lineTrimmed = $lineTrimmed.SubString(0,6);
        }
        else
        {
           $lineTrimmed = $lineTrimmed.SubString(1,7);
        }

        $url = "http://web-server.1forma.ru/app/v1.0/api/subtasks/"+$versionTaskId+"/link/" + $lineTrimmed;      #где web-server.1forma.ru — адрес веб-сервера приложения "Первая Форма"

        write-host $url
        Invoke-WebRequest -Method POST -Uri $url -Credential $cred       #вызов веб метода для связывания задач
     }
  }
}
Пример (C#): получение чатов для пользователя при forms-аутентификации:

ℹ️ В примере используются библиотеки JsonRules.dll и FirstFormJsonObjects.dll

using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json.Linq;

namespace TCClassLib.Test.ReadOnly.JsonStructureTest {

  public class JsonStructureTest {
    static FFClient client = null;
    static FFClient Client {
         get {
            if (client == null) {
               client = new FFClient(Settings.FFUrl);
               client.Login(Settings.FFLogin, Settings.FFPassword);
            }
            return client;
         }
     }

    public void GetMyChats_Call() {
        var jChats = Client.Post(DataService.GetMyChats, JObject.Parse("{\\"openedChatId\\":null}"));
        new FirstFormJsonObjects.Responses.Chats().Check(jChats);
     }
  }

  public class FFClient {
    public string BaseFFUrl {
        get;
        private set;
     }
     CookieCollection cookies = new CookieCollection();

    public FFClient(string baseFFUrl) {
        BaseFFUrl = baseFFUrl;
     }

    public JObject Login(string login, string password) {
        var url = "iOSClientServices/Auth.ashx";
        var content = new FormUrlEncodedContent(new Dictionary \< string, string \> {
           {
              "UserName", 
              login
           },
           {
              "Pass",
              password
           }
        });

        var result = PostRequestHelper \< string \> (url, content, async response =\> {
           string res = await response.Content.ReadAsStringAsync();
          return res;
        }).Result;

        bool isError = false;

        try {
          new FirstFormJsonObjects.Responses.AuthError().Check(result);
           isError = true;
        } catch (JsonRules.RuleException) {}

        if (isError) {
          throw new Exception(result.ToString());
        }

        return result;
     }

    public JObject Post(string url, object pars) {
        var result = PostRequestHelper \< string \> (url, pars, async response =\> {
            string res = await response.Content.ReadAsStringAsync();
            return res;
        }).Result;

        return result;
     }

     string RemoveAspNetDProperty(string response) {
        if (!string.IsNullOrWhiteSpace(response)) {
          const string dPropertyPrefix = "{\\"d\\":";
          if (response.StartsWith(dPropertyPrefix)) {
              response = response.Substring(dPropertyPrefix.Length, response.Length  dPropertyPrefix.Length  1);
           }
        }
        return response;
     }

     async Task \< JObject \> PostRequestHelper \< T \> (string requestUri, object content, Func \< HttpResponseMessage, Task \< T \>\> handleResult) {
        var handler = new HttpClientHandler();

        handler.CookieContainer = new CookieContainer();

        using(handler) {
           using(var client = new HttpClient(handler)) {
              client.BaseAddress = new Uri(BaseFFUrl);

              if (cookies != null) {
                 handler.CookieContainer.Add(client.BaseAddress, cookies);
              }

              client.DefaultRequestHeaders.Accept.Clear();
              client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

              HttpResponseMessage response = null;
              if (content is HttpContent) {
                 response = await client.PostAsync(requestUri, (HttpContent) content);
              } else {
                 response = await client.PostAsJsonAsync(requestUri, content);
              }

              cookies = handler.CookieContainer.GetCookies(client.BaseAddress);

              if (response.IsSuccessStatusCode) {
                 string res = await response.Content.ReadAsStringAsync();
                 res = RemoveAspNetDProperty(res);
                return JObject.Parse(res);
              } else {
                 string res = await response.Content.ReadAsStringAsync();
                throw new Exception(res);
              }
           }
        }
     }
  }
}
Описание методов в swagger

Для работы с объектами используются следующие методы:

  • GET — для получения данных.

  • POST — для добавления данных.

  • PUT — для изменения данных.

  • DELETE — для удаления данных.

ℹ️ В приложении не реализована отправка Header и Body для DELETE запроса

ℹ️ API веб-сервиса "Первой Формы" можно посмотреть, добавив в браузере к адресу вашего приложения "Первая Форма" строку /swagger:\

https://%3Cyour_1forma%3E/swagger Порядок действий:

1. Найдите нужный объект в общем списке объектов.

  1. Найдите нужный метод объекта.

3. Заполните параметры метода, если они есть. Если для параметра есть схема, то по щелчку на поле со схемой она будет скопирована в поле со значением параметра. В эту схему подставьте правильные значения (см. пример ниже).

ℹ️ Для обращения к API системы безопасным способом рекомендуется использовать выделенную сервисную учетную запись. Чаще всего для этой цели применяется системный аккаунт systemrobot (Робот 1Ф), либо специально созданный пользователь с правами администратора. Эта учетная запись может быть как локальной, так и синхронизированной с Active Directory, что особенно полезно при настроенном разделении доступа по доменам.

Права, с которыми будет выполнен HTTP-запрос, полностью определяются правами выбранного пользователя в системе. Это означает, что доступ через API будет идентичен доступу через веб-интерфейс, поэтому выбор пользователя должен основываться на тех операциях, которые необходимо выполнить на сервере

Пример заполнения параметра для создания задачи

Задача создается в категории с ID=123 от имени системного пользователя с ID=1. Исполнители не назначаются. В категории настроены ДП "Имя" ID=1111, Email  ID=2222,  "Телефон" ID=3333, "Комментарий" ID=4444.

{
  "subcatId": 123,
    "owner": 1,
    "performers": []
    "extParams": [
     {
           "id": 1111,
           "value": "Антон",
      },
      {
           "id": 2222,
           "value": "test@1forma.ru"
        },
      {
           "id": 3333,
        "value": "+7 (916) 123-45-67"
      },
      {
           "id": 4444,
           "value": "Текст комментария"
        }
    ]
}
4. Когда все параметры заполнены, нажмите на кнопку "Try it out!".

  1. Ниже будет сформирован адрес (URL) для вызова метода, а также отобразятся результаты вызова сервиса (например, номер созданной задачи и пр.), чтобы вы могли убедиться в правильности ваших настроек или проанализировать ошибки. В поле Response Code значение 200 означает корректное выполнение вызова, а 500 — ошибку.

ℹ️ Методы класса CommentsAdmin могут вызывать только пользователи, входящие в системную группу Administrators

Наиболее используемые API методы

Agenda (Повестка дня)

Устаревшее POST /api/agenda:

Возвращает повестку дня пользователя в диапазоне

Параметр

Формат

Описание

userId

integer

Пользователь, чья повестка дня запрашивается. При пустом значении (null), берется идентификатор сессионного пользователя.

subcatIds

array

Фильтр категорий.

catIds

array

Фильтр разделов.

dateTo

string

Окончание диапазона. При пустом значении (null) диапазон равен началу сегодняшнего дня.

dateFrom

string

Начало диапазона. При пустом значении (null) диапазон равен окончанию сегодняшнего дня.

includes

array

Что включать в запрос повестки дня.

Возможные значения: \"events", "tasks", "signatures", "reminders", "providersEvents". По умолчанию providersEvents.

Пример:

{  "userId": 123,  "subcatIds": \    111  \,{.f_CodeExample style="font-size: 0.82rem;"}  "catIds": \    222  \,{.f_CodeExample style="font-size: 0.82rem;"}  "dateTo": "2023-07-12T08:20:44.631Z",  "dateFrom": "2023-07-12T08:20:44.631Z",

 "includes": 
   "Events"
 \{.f_CodeExample style="font-size: 0.82rem;"}
}
Email

GET /api/emails/{emailId}:

Получить письмо

Параметр

Формат

Описание

emailId

integer

Уникальный идентификатор письма

POST /api/emails/delete:

Массовое удаление писем из почтовой папки

Параметр

Формат

Описание

emailIds

array

Список id писем

folderId

integer

Уникальный идентификатор почтовой папки

fromSearchFolder

boolean

Из папки поиска

Пример:

{  "emailIds": \    111, 112  \,{.f_CodeExample style="font-size: 0.82rem;"}  "folderId": 123,  "fromSearchFolder": true } Администрирование

GET /api/admin/forms/tree:

Получить дерево настроек администрирования [Пример результата](../ [\

 {

   "nodeType": "Form",

   "parentId": 7,

   "objectId": 67,

   "actions": null,

   "rowActions": null,

   "alias": "categories",

   "allowAddF": true,

   "allowDeleteF": true,

   "notes": null,

   "url": "/admin/subcategories/default.aspx",

   "id": 1,

   "name": "Разделы"

 },

 {

   "nodeType": "Form",

   "parentId": null,

   "objectId": 2,

   "actions": null,

   "rowActions": "",

   "alias": "2",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": null,

   "id": 2,

   "name": "Колонки форм"

 },

 {

   "nodeType": "Form",

   "parentId": null,

   "objectId": 4,

   "actions": null,

   "rowActions": null,

   "alias": "7",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": null,

   "id": 7,

   "name": "Колонки всего"

 },

 {

   "nodeType": "Form",

   "parentId": null,

   "objectId": 5,

   "actions": null,

   "rowActions": null,

   "alias": "8",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": null,

   "id": 8,

   "name": "Объекты БД"

 },

 {

   "nodeType": "Form",

   "parentId": 6,

   "objectId": 400,

   "actions": null,

   "rowActions": null,

   "alias": "portals",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/PortalGrid/EditPortalGrid.aspx",

   "id": 9,

   "name": "Порталы"

 },

 {

   "nodeType": "Form",

   "parentId": 1,

   "objectId": 11,

   "actions": null,

   "rowActions": null,

   "alias": "absencetype",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/AbsenceTypes.aspx",

   "id": 10,

   "name": "Типы отсутствий"

 },

 {

   "nodeType": "Form",

   "parentId": 9,

   "objectId": 489,

   "actions": null,

   "rowActions": null,

   "alias": "signatures",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/signatures/AddEditSignatures.aspx",

   "id": 11,

   "name": "Подписи"

 },

 {

   "nodeType": "Form",

   "parentId": 8,

   "objectId": 27,

   "actions": null,

   "rowActions": null,

   "alias": "containers",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/API/Container/default.aspx",

   "id": 12,

   "name": "Контейнеры"

 },

 {

   "nodeType": "Form",

   "parentId": null,

   "objectId": 28,

   "actions": null,

   "rowActions": null,

   "alias": null,

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": null,

   "id": 13,

   "name": "Ключи шаблона в контейнере"

 },

 {

   "nodeType": "Form",

   "parentId": null,

   "objectId": 487,

   "actions": null,

   "rowActions": null,

   "alias": null,

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": null,

   "id": 14,

   "name": "Типы резолюций"

 },

 {

   "nodeType": "Form",

   "parentId": 8,

   "objectId": 32,

   "actions": null,

   "rowActions": null,

   "alias": "templates",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/API/Template/default.aspx",

   "id": 15,

   "name": "Шаблоны"

 },

 {

   "nodeType": "Form",

   "parentId": null,

   "objectId": 33,

   "actions": null,

   "rowActions": null,

   "alias": null,

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": null,

   "id": 16,

   "name": "Ключи шаблонов"

 },

 {

   "nodeType": "Form",

   "parentId": null,

   "objectId": 34,

   "actions": null,

   "rowActions": null,

   "alias": null,

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": null,

   "id": 17,

   "name": "Значения шаблонов"

 },

 {

   "nodeType": "Form",

   "parentId": 1,

   "objectId": 440,

   "actions": null,

   "rowActions": null,

   "alias": "quick-replies",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/quickReplies/EditQuickReplies.aspx",

   "id": 18,

   "name": "Быстрые ответы"

 },

 {

   "nodeType": "Form",

   "parentId": 1,

   "objectId": 255,

   "actions": null,

   "rowActions": null,

   "alias": "print-forms",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/administration/entity/printForms/represent/table",

   "id": 19,

   "name": "Печатные формы"

 },

 {

   "nodeType": "Form",

   "parentId": 1,

   "objectId": 346,

   "actions": null,

   "rowActions": null,

   "alias": "mail-templates",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/mailtemplates/MailTemplates.aspx",

   "id": 20,

   "name": "Почтовые шаблоны"

 },

 {

   "nodeType": "Form",

   "parentId": 1,

   "objectId": 466,

   "actions": null,

   "rowActions": null,

   "alias": "roles",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/roles/RoleList.aspx",

   "id": 21,

   "name": "Роли"

 },

 {

   "nodeType": "Form",

   "parentId": 2,

   "objectId": 303,

   "actions": null,

   "rowActions": null,

   "alias": "group-types",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/groups/GroupsTypes.aspx",

   "id": 22,

   "name": "Типы групп"

 },

 {

   "nodeType": "Form",

   "parentId": 3,

   "objectId": 214,

   "actions": null,

   "rowActions": null,

   "alias": "extparamlinks",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/extparams/ExtParamLinks.aspx",

   "id": 23,

   "name": "Связи доп.параметров"

 },

 {

   "nodeType": "Form",

   "parentId": 11,

   "objectId": 415,

   "actions": null,

   "rowActions": null,

   "alias": "publications",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/userInfoExt.aspx",

   "id": 24,

   "name": "Публикации"

 },

 {

   "nodeType": "Form",

   "parentId": 5,

   "objectId": 482,

   "actions": null,

   "rowActions": null,

   "alias": "short-links",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/ShortLinks.aspx",

   "id": 25,

   "name": "Короткие ссылки"

 },

 {

   "nodeType": "Form",

   "parentId": 6,

   "objectId": 2073,

   "actions": null,

   "rowActions": null,

   "alias": null,

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/UserTaskOnlySettings.aspx",

   "id": 26,

   "name": "Общие настройки табличного вида"

 },

 {

   "nodeType": "Form",

   "parentId": 6,

   "objectId": 325,

   "actions": null,

   "rowActions": null,

   "alias": null,

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/LocalizationResources.aspx",

   "id": 27,

   "name": "Ресурсы локализации"

 },

 {

   "nodeType": "Form",

   "parentId": 6,

   "objectId": 557,

   "actions": null,

   "rowActions": null,

   "alias": "summary-categories",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/subcategories/SummaryCategories.aspx",

   "id": 28,

   "name": "Сводные разделы"

 },

 {

   "nodeType": "Form",

   "parentId": 8,

   "objectId": 588,

   "actions": null,

   "rowActions": null,

   "alias": "task-ds",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/MobileApps/TaskDataSource.aspx",

   "id": 29,

   "name": "Источники данных задач"

 },

 {

   "nodeType": "Form",

   "parentId": 10,

   "objectId": 2063,

   "actions": null,

   "rowActions": null,

   "alias": "users",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/users/default.aspx",

   "id": 30,

   "name": "Пользователи"

 },

 {

   "nodeType": "Form",

   "parentId": null,

   "objectId": 2059,

   "actions": null,

   "rowActions": null,

   "alias": null,

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": null,

   "id": 31,

   "name": "Уведомления пользователя"

 },

 {

   "nodeType": "Form",

   "parentId": null,

   "objectId": 2067,

   "actions": null,

   "rowActions": null,

   "alias": null,

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": null,

   "id": 32,

   "name": "SIP номера"

 },

 {

   "nodeType": "Form",

   "parentId": null,

   "objectId": 2068,

   "actions": null,

   "rowActions": null,

   "alias": null,

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": null,

   "id": 33,

   "name": "Настройки пользователей"

 },

 {

   "nodeType": "Form",

   "parentId": null,

   "objectId": 2075,

   "actions": null,

   "rowActions": null,

   "alias": null,

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": null,

   "id": 34,

   "name": "Настройки интерфейса"

 },

 {

   "nodeType": "Form",

   "parentId": 6,

   "objectId": 2046,

   "actions": null,

   "rowActions": null,

   "alias": "workplaces",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/Favourites",

   "id": 35,

   "name": "Групповые настройки пользователей"

 },

 {

   "nodeType": "Form",

   "parentId": null,

   "objectId": 2043,

   "actions": null,

   "rowActions": null,

   "alias": null,

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": null,

   "id": 36,

   "name": "Избранные папки"

 },

 {

   "nodeType": "Form",

   "parentId": null,

   "objectId": 2042,

   "actions": null,

   "rowActions": null,

   "alias": null,

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": null,

   "id": 37,

   "name": "Избранные категории"

 },

 {

   "nodeType": "Form",

   "parentId": 1,

   "objectId": 125,

   "actions": null,

   "rowActions": null,

   "alias": "imports",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/DataImport/DataImports.aspx",

   "id": 38,

   "name": "Импорт данных"

 },

 {

   "nodeType": "Form",

   "parentId": 1,

   "objectId": 309,

   "actions": null,

   "rowActions": null,

   "alias": "includes-global",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/Includes/ListIncludeCollection.aspx",

   "id": 39,

   "name": "Общие JS/CSS вставки"

 },

 {

   "nodeType": "Form",

   "parentId": null,

   "objectId": 505,

   "actions": null,

   "rowActions": null,

   "alias": "smart-global",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": null,

   "id": 40,

   "name": "Smart расписание"

 },

 {

   "nodeType": "Form",

   "parentId": null,

   "objectId": 503,

   "actions": null,

   "rowActions": null,

   "alias": null,

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": null,

   "id": 41,

   "name": "Smart выражения"

 },

 {

   "nodeType": "Form",

   "parentId": null,

   "objectId": 504,

   "actions": null,

   "rowActions": null,

   "alias": null,

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": null,

   "id": 42,

   "name": "Смарт запросы"

 },

 {

   "nodeType": "Form",

   "parentId": null,

   "objectId": 506,

   "actions": null,

   "rowActions": null,

   "alias": null,

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": null,

   "id": 43,

   "name": "LUA скрипты"

 },

 {

   "nodeType": "Form",

   "parentId": 1,

   "objectId": 492,

   "actions": null,

   "rowActions": null,

   "alias": "smart-access",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/SmartAccess/default.aspx",

   "id": 44,

   "name": "Смарт доступ"

 },

 {

   "nodeType": "Form",

   "parentId": null,

   "objectId": 493,

   "actions": null,

   "rowActions": null,

   "alias": null,

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": null,

   "id": 45,

   "name": "Смарт доступ ДП"

 },

 {

   "nodeType": "Form",

   "parentId": 1,

   "objectId": 464,

   "actions": null,

   "rowActions": null,

   "alias": "reports",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/stats/statAdmin.aspx",

   "id": 46,

   "name": "Отчеты"

 },

 {

   "nodeType": "Form",

   "parentId": 1,

   "objectId": 450,

   "actions": null,

   "rowActions": null,

   "alias": "registries",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/spa.aspx/admin/registries",

   "id": 47,

   "name": "Регистры"

 },

 {

   "nodeType": "Form",

   "parentId": 1,

   "objectId": 330,

   "actions": null,

   "rowActions": null,

   "alias": "geo-settings",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/spaex.aspx/admin/location/monitoring-settings",

   "id": 48,

   "name": "Настройка сбора геоданных"

 },

 {

   "nodeType": "Form",

   "parentId": 1,

   "objectId": 118,

   "actions": null,

   "rowActions": null,

   "alias": "queues",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/Queues/default.aspx",

   "id": 49,

   "name": "Очереди событий"

 },

 {

   "nodeType": "Form",

   "parentId": 1,

   "objectId": 287,

   "actions": null,

   "rowActions": null,

   "alias": "freebusystate",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/freebusystatuses.aspx",

   "id": 50,

   "name": "Статусы отсутствий"

 },

 {

   "nodeType": "Form",

   "parentId": 2,

   "objectId": 299,

   "actions": null,

   "rowActions": null,

   "alias": "special-permissions",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/groups/GroupsSpecPermissions.aspx",

   "id": 51,

   "name": "Специальные права"

 },

 {

   "nodeType": "Form",

   "parentId": 2,

   "objectId": 298,

   "actions": null,

   "rowActions": null,

   "alias": "groups",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/groups/default.aspx",

   "id": 52,

   "name": "Группы"

 },

 {

   "nodeType": "Form",

   "parentId": 3,

   "objectId": 222,

   "actions": null,

   "rowActions": null,

   "alias": "extparams",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/extparams/ExtParamsList.aspx",

   "id": 53,

   "name": "Доп.параметры"

 },

 {

   "nodeType": "Form",

   "parentId": 5,

   "objectId": 460,

   "actions": null,

   "rowActions": null,

   "alias": "autoreplace",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/Replacer.aspx",

   "id": 54,

   "name": "Автозамена"

 },

 {

   "nodeType": "Form",

   "parentId": null,

   "objectId": 3,

   "actions": null,

   "rowActions": null,

   "alias": "55",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": null,

   "id": 55,

   "name": "Секции форм"

 },

 {

   "nodeType": "Form",

   "parentId": null,

   "objectId": 1,

   "actions": null,

   "rowActions": null,

   "alias": "56",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": null,

   "id": 56,

   "name": "Формы"

 },

 {

   "nodeType": "Form",

   "parentId": 6,

   "objectId": 600,

   "actions": null,

   "rowActions": null,

   "alias": "task-hierarchies",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/Hierarchy/TaskHierarchies.aspx",

   "id": 58,

   "name": "Иерархии задач"

 },

 {

   "nodeType": "Form",

   "parentId": 6,

   "objectId": 475,

   "actions": null,

   "rowActions": null,

   "alias": null,

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/Scheduler/Configurations.aspx",

   "id": 59,

   "name": "Планировщик"

 },

 {

   "nodeType": "Form",

   "parentId": 7,

   "objectId": 536,

   "actions": null,

   "rowActions": null,

   "alias": "subcategories",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/subcategories/default.aspx",

   "id": 60,

   "name": "Управление категориями"

 },

 {

   "nodeType": "Form",

   "parentId": 8,

   "objectId": 1997,

   "actions": null,

   "rowActions": null,

   "alias": "task-templates",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/spa.aspx/admin/mobile/templates",

   "id": 61,

   "name": "Шаблоны задач"

 },

 {

   "nodeType": "Form",

   "parentId": 8,

   "objectId": 384,

   "actions": null,

   "rowActions": null,

   "alias": "mobile-password-policy",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/PasswordPolicy.aspx",

   "id": 62,

   "name": "Мобильная политика паролей"

 },

 {

   "nodeType": "Form",

   "parentId": 8,

   "objectId": 419,

   "actions": null,

   "rowActions": null,

   "alias": "push-settings",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/PushSettings.aspx",

   "id": 63,

   "name": "Настройки PUSH"

 },

 {

   "nodeType": "Form",

   "parentId": 8,

   "objectId": 2049,

   "actions": null,

   "rowActions": null,

   "alias": "user-info-ext",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/administration/entity/userInfoExt/represent/table",

   "id": 64,

   "name": "Расширенные настройки пользователя"

 },

 {

   "nodeType": "Form",

   "parentId": 8,

   "objectId": 2049,

   "actions": null,

   "rowActions": null,

   "alias": "mobile-builds",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/MobileApps/Builds.aspx",

   "id": 65,

   "name": "Сборки мобильных приложений"

 },

 {

   "nodeType": "Form",

   "parentId": 8,

   "objectId": 356,

   "actions": null,

   "rowActions": null,

   "alias": "mobile-client-stat",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/stats/MobileClientStats.aspx",

   "id": 66,

   "name": "Статистика использования МП"

 },

 {

   "nodeType": "Form",

   "parentId": 11,

   "objectId": 20,

   "actions": null,

   "rowActions": null,

   "alias": "address-providers",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/AddressProviders/default.aspx",

   "id": 67,

   "name": "Адресные провайдеры"

 },

 {

   "nodeType": "Form",

   "parentId": 11,

   "objectId": 203,

   "actions": null,

   "rowActions": null,

   "alias": "external-objects",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/ExternalObjects/default.aspx",

   "id": 68,

   "name": "Внешние объекты"

 },

 {

   "nodeType": "Form",

   "parentId": 11,

   "objectId": 147,

   "actions": null,

   "rowActions": null,

   "alias": "domains",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/Domains.aspx",

   "id": 69,

   "name": "Домены приложения"

 },

 {

   "nodeType": "Form",

   "parentId": 11,

   "objectId": 105,

   "actions": null,

   "rowActions": null,

   "alias": "cryptopro-verification-centers",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/CryptoPro/CryptoProCertificationCenters.aspx",

   "id": 70,

   "name": "КриптоПро: Удостоверяющие центры"

 },

 {

   "nodeType": "Form",

   "parentId": 11,

   "objectId": 480,

   "actions": null,

   "rowActions": null,

   "alias": "system-settings",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/EditInstanceInfo.aspx",

   "id": 71,

   "name": "Общие настройки приложения"

 },

 {

   "nodeType": "Form",

   "parentId": 11,

   "objectId": 481,

   "actions": null,

   "rowActions": null,

   "alias": "custom-settings",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/administration/entity/usersettings/represent/table",

   "id": 72,

   "name": "Пользовательские настройки"

 },

 {

   "nodeType": "Form",

   "parentId": 11,

   "objectId": 179,

   "actions": null,

   "rowActions": null,

   "alias": "mail-servers",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/Email/MailServerList.aspx",

   "id": 73,

   "name": "Почтовые сервера"

 },

 {

   "nodeType": "Form",

   "parentId": 11,

   "objectId": 49,

   "actions": null,

   "rowActions": null,

   "alias": "authentication-providers",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/Authentication/AuthenticationProviders.aspx",

   "id": 74,

   "name": "Провайдеры аутентификации"

 },

 {

   "nodeType": "Form",

   "parentId": 11,

   "objectId": 259,

   "actions": null,

   "rowActions": null,

   "alias": "file-providers",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/FileProviders/default.aspx",

   "id": 75,

   "name": "Провайдеры загружаемых файлов"

 },

 {

   "nodeType": "Form",

   "parentId": 11,

   "objectId": 507,

   "actions": null,

   "rowActions": null,

   "alias": "sms-providers",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/MVC/HookServiceSettingManager",

   "id": 76,

   "name": "Сервис отправки СМС"

 },

 {

   "nodeType": "Form",

   "parentId": 11,

   "objectId": 405,

   "actions": null,

   "rowActions": null,

   "alias": null,

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/spa.aspx/admin/production-calendar",

   "id": 77,

   "name": "Производственный календарь"

 },

 {

   "nodeType": "Form",

   "parentId": 11,

   "objectId": 479,

   "actions": null,

   "rowActions": null,

   "alias": "system-services",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/Services/ServicesList.aspx",

   "id": 78,

   "name": "Сервисы"

 },

 {

   "nodeType": "Form",

   "parentId": 11,

   "objectId": 571,

   "actions": null,

   "rowActions": null,

   "alias": null,

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/Sync1C/SettingsExtForm.aspx",

   "id": 79,

   "name": "Синхронизация 1С"

 },

 {

   "nodeType": "Form",

   "parentId": 11,

   "objectId": 568,

   "actions": null,

   "rowActions": null,

   "alias": "synchronizations",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/Synchronization/SynchronizationProfiles.aspx",

   "id": 80,

   "name": "Синхронизации"

 },

 {

   "nodeType": "Form",

   "parentId": 11,

   "objectId": 491,

   "actions": null,

   "rowActions": null,

   "alias": "sip-providers",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/SipProviders/default.aspx",

   "id": 81,

   "name": "SIP провайдеры"

 },

 {

   "nodeType": "Form",

   "parentId": 12,

   "objectId": 292,

   "actions": null,

   "rowActions": null,

   "alias": "global-step-settings",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/states/GlobalStepList.aspx",

   "id": 82,

   "name": "Глобальные настройки переходов"

 },

 {

   "nodeType": "Form",

   "parentId": 12,

   "objectId": 516,

   "actions": null,

   "rowActions": null,

   "alias": "states",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/states/default.aspx",

   "id": 83,

   "name": "Управление статусами"

 },

 {

   "nodeType": "Form",

   "parentId": 10,

   "objectId": 375,

   "actions": null,

   "rowActions": null,

   "alias": "org-structure",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/OrgStructureUnits.aspx",

   "id": 84,

   "name": "Орг.структура"

 },

 {

   "nodeType": "Form",

   "parentId": 6,

   "objectId": 350,

   "actions": null,

   "rowActions": null,

   "alias": "tickers",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/Tickers.aspx",

   "id": 85,

   "name": "Индикаторы"

 },

 {

   "nodeType": "Form",

   "parentId": 8,

   "objectId": 417,

   "actions": null,

   "rowActions": null,

   "alias": "push-device-tokens",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/PushSettings.aspx",

   "id": 88,

   "name": "Push-токены"

 },

 {

   "nodeType": "Form",

   "parentId": 6,

   "objectId": 131,

   "actions": null,

   "rowActions": null,

   "alias": "custom-data-sources",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/administration/custom-data-sources",

   "id": 89,

   "name": "Произвольные источники данных"

 },

 {

   "nodeType": "Form",

   "parentId": 4,

   "objectId": 13,

   "actions": null,

   "rowActions": null,

   "alias": "log-action",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/log/default.aspx",

   "id": 90,

   "name": "Лог"

 },

 {

   "nodeType": "Form",

   "parentId": 4,

   "objectId": 52,

   "actions": null,

   "rowActions": null,

   "alias": "log-automation-scripts",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/log/AutomationDurationLog.aspx",

   "id": 91,

   "name": "Лог выполнения автоматизации"

 },

 {

   "nodeType": "Form",

   "parentId": 4,

   "objectId": 316,

   "actions": null,

   "rowActions": null,

   "alias": "log-job",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/Jobs/log.aspx",

   "id": 92,

   "name": "Лог выполненных заданий"

 },

 {

   "nodeType": "Form",

   "parentId": 4,

   "objectId": 356,

   "actions": null,

   "rowActions": null,

   "alias": "log-mobile",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/stats/MobileClientStats.aspx",

   "id": 94,

   "name": "Лог МП"

 },

 {

   "nodeType": "Form",

   "parentId": 4,

   "objectId": 418,

   "actions": null,

   "rowActions": null,

   "alias": "push-log",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/log/PushLog.aspx",

   "id": 95,

   "name": "Лог отправки PUSH уведомлений"

 },

 {

   "nodeType": "Form",

   "parentId": 4,

   "objectId": 354,

   "actions": null,

   "rowActions": null,

   "alias": "queue-log",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/Queues/QueueLog.aspx",

   "id": 96,

   "name": "Лог очередей"

 },

 {

   "nodeType": "Form",

   "parentId": 4,

   "objectId": 199,

   "actions": null,

   "rowActions": null,

   "alias": "error-log",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/ErrorLog/default.aspx",

   "id": 97,

   "name": "Лог ошибок"

 },

 {

   "nodeType": "Form",

   "parentId": 4,

   "objectId": 199,

   "actions": null,

   "rowActions": null,

   "alias": "log-error-bl",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/ErrorLog/default.aspx",

   "id": 98,

   "name": "Лог ошибок бизнес логики"

 },

 {

   "nodeType": "Form",

   "parentId": 4,

   "objectId": 353,

   "actions": null,

   "rowActions": null,

   "alias": "flows-log",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/Queues/FlowsLog.aspx",

   "id": 99,

   "name": "Лог потоков"

 },

 {

   "nodeType": "Form",

   "parentId": 4,

   "objectId": 170,

   "actions": null,

   "rowActions": null,

   "alias": "email-job-log",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/Email/JobLog.aspx",

   "id": 100,

   "name": "Лог сессии почтовых джобов"

 },

 {

   "nodeType": "Form",

   "parentId": 4,

   "objectId": 565,

   "actions": null,

   "rowActions": null,

   "alias": "sync-1c-log",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/Sync1C/SyncLog.aspx",

   "id": 101,

   "name": "Лог синхронизации с 1С"

 },

 {

   "nodeType": "Form",

   "parentId": 4,

   "objectId": 388,

   "actions": null,

   "rowActions": null,

   "alias": "phone-calls-log",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/PhoneCalls/Log.aspx",

   "id": 102,

   "name": "Лог телефонных звонков"

 },

 {

   "nodeType": "Form",

   "parentId": 4,

   "objectId": 150,

   "actions": null,

   "rowActions": null,

   "alias": "dss-transaction-log",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/DSSTransactionLog.aspx",

   "id": 103,

   "name": "Лог транзакций DSS"

 },

 {

   "nodeType": "Form",

   "parentId": 4,

   "objectId": 137,

   "actions": null,

   "rowActions": null,

   "alias": "deleted-tasks-log",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/admin/log/DeletedTasksLog.aspx",

   "id": 104,

   "name": "Лог удаленных задач"

 },

 {

   "nodeType": "Form",

   "parentId": 4,

   "objectId": 198,

   "actions": null,

   "rowActions": null,

   "alias": "excel-export-log",

   "allowAddF": false,

   "allowDeleteF": false,

   "notes": null,

   "url": "/spaex.aspx/admin/excel-export-logs",

   "id": 105,

   "name": "Лог экспорта в Excel"

 },

 {

   "nodeType": "Folder",

   "parentId": null,

   "id": 1,

   "name": "Бизнес-логика"

 },

 {

   "nodeType": "Folder",

   "parentId": null,

   "id": 2,

   "name": "Группы"

 },

 {

   "nodeType": "Folder",

   "parentId": null,

   "id": 3,

   "name": "Доп.параметры"

 },

 {

   "nodeType": "Folder",

   "parentId": null,

   "id": 4,

   "name": "Журналы"

 },

 {

   "nodeType": "Folder",

   "parentId": null,

   "id": 5,

   "name": "Инструменты"

 },

 {

   "nodeType": "Folder",

   "parentId": null,

   "id": 6,

   "name": "Интерфейс"

 },

 {

   "nodeType": "Folder",

   "parentId": null,

   "id": 7,

   "name": "Категории"

 },

 {

   "nodeType": "Folder",

   "parentId": null,

   "id": 8,

   "name": "МП"

 },

 {

   "nodeType": "Folder",

   "parentId": null,

   "id": 9,

   "name": "Подписи"

 },

 {

   "nodeType": "Folder",

   "parentId": null,

   "id": 10,

   "name": "Пользователи"

 },

 {

   "nodeType": "Folder",

   "parentId": null,

   "id": 11,

   "name": "Система"

 },

 {

   "nodeType": "Folder",

   "parentId": null,

   "id": 12,

   "name": "Статусы"

 }

]{.f_CodeExample style="font-weight: bold;"} GET /api/admin/smart/packs-on-events/list/{subcatId}/{state}:

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

Параметр

Формат

Описание

subcatId*

integer

Уникальный идентификатор статуса

state*

string

Статус. Возможные значения: All (Все), Enabled (Включено), Disabled (Отключено)

Пример результата:

{
 "data": 
   {
     "id": 123,
     "enabled": true,
     "parameterValue": 111,
     "smartFilterID": 222,
     "eventID": 111,
     "actionsPackID": 123,
     "smartFilterName": "string",
     "actionsPackName": "string",
     "toolTipText": "string",
     "eventName": "string",
     "eventGroup": "ExtParamAndTaskProperty",
     "eventGroupName": "string",
     "parameterValueName": "string",
     "actionPackDescription": "string"
   }
 \,{.f_CodeExample style="font-weight: bold;"}
 "errors": 
   {
     "errorType": "TestPurposes",
     "message": "string"
   }
 \{.f_CodeExample style="font-weight: bold;"}
}
Смарт события

GET /api/admin/smart/packs-on-events/list/{subcatId}:

Получить список смарт-расписаний категории

Параметр

Формат

Описание

subcatId*

integer

Уникальный идентификатор категории

Пример результата:

{
 "data": 
   {
     "id": 123,
     "recurrenceInfoID": 111,
     "packID": 112,
     "packName": "string",
     "filterID": 113,
     "filterName": "string",
     "periodicity": "string",
     "enabled": true,
     "subcatID": 1234,
     "lastExecutionDateTime": "2024-03-30T05:22:44.322Z"
   }
 \,{.f_CodeExample style="font-weight: bold;"}
 "errors": 
   {
     "errorType": "TestPurposes",
     "message": "string"
   }
 \{.f_CodeExample style="font-weight: bold;"}
}
POST /api/admin/smart/packs-on-events/create:

Создать смарт-правило [Пример](../

{

 "subcatId": 123,

 "smartFilterId": 111,

 "actionPackId": 222,

 "eventId": 333,

 "eventParameterValueId": 444,

 "isEnabled": true,

 "isAsync": true

}
POST /api/admin/smart/packs-on-events/events-with-values/list:

Получение всех смарт-событий и всех возможных значений [Пример](

{

 "eventActionId": 1234,

 "originId": 111,

 "subcatId": 222,

 "onlyCurrentStep": true

}
Смарт-расписания

POST /api/admin/smart/recurrences/execute/{id}:

Выполнить смарт-расписание

Параметр

Формат

Описание

Id*

integer

Уникальный идентификатор смарт-расписания

DELETE /api/admin/smart/recurrences/delete/{id}:

Удалить смарт-расписание

Параметр

Формат

Описание

Id*

integer

Уникальный идентификатор смарт-расписания

POST /api/admin/smart/recurrences/delete/{id}:

Удалить смарт-расписание

Параметр

Формат

Описание

Id*

integer

Уникальный идентификатор смарт-расписания

Пакеты действий

GET /api/admin/smart/packs/list/{subcatId}:

Получить список пакетов действий категории

Параметр

Формат

Описание

subcatId*

integer

Уникальный идентификатор категории

isForMailbox

query

Для почтового ящика. Значение по умолчанию: false

Пример результата:

{
 "data": 
   {
     "id": 123,
     "name": "string",
     "eventID": 111,
     "parameterValue": 222,
     "eventName": "string",
     "isUnused": true,
     "packDescription": "string"
   }
 \,{.f_CodeExample style="font-weight: bold;"}
 "errors": 
   {
     "errorType": "TestPurposes",
     "message": "string"
   }
 \{.f_CodeExample style="font-weight: bold;"}
}
POST /api/admin/smart/packs/list:

Получить пакеты действия (глобальные и в категориях) [Пример](../

{

 "subcatId": 123,

 "isForMailbox": true,

 "eventId": 111,

 "eventParameterValue": 222,

 "showCancel": true

}
DELETE /api/admin/smart/packs/delete/{packId}:

Удалить пакет действий из категории

Параметр

Формат

Описание

packId *

integer

Уникальный идентификатор пакета действий

Пример результата:

{
 "data": 
   {
     "id": 124,
     "name": "string",
     "eventID": 111,
     "parameterValue": 222,
     "eventName": "string",
     "isUnused": true,
     "packDescription": "string"
   }
 \,{.f_CodeExample style="font-weight: bold;"}
 "errors": 
   {
     "errorType": "TestPurposes",
     "message": "string"
   }
 \{.f_CodeExample style="font-weight: bold;"}
}
POST /api/admin/smart/packs/delete/{packId}:

Удалить пакет действий из категории

Параметр

Формат

Описание

packId *

integer

Уникальный идентификатор пакета действий

Пример результата:

{
 "data": 
   {
     "id": 124,
     "name": "string",
     "eventID": 111,
     "parameterValue": 222,
     "eventName": "string",
     "isUnused": true,
     "packDescription": "string"
   }
 \,{.f_CodeExample style="font-weight: bold;"}
 "errors": 
   {
     "errorType": "TestPurposes",
     "message": "string"
   }
 \{.f_CodeExample style="font-weight: bold;"}
}
Смарт-выражения

GET /api/admin/smartexpressions/list/{subcatId}:

Получить список смарт-выражений в категории

Параметр

Формат

Описание

subcatId*

integer

Уникальный идентификатор категории

Пример результата:

{
 "data": 
   {
     "id": 123,
     "name": "string",
     "eventId": "BeforeExtParamChange",
     "isFilter": true,
     "subcatId": 0,
     "noContextMode": true,
     "originId": "Mail",
     "availableAsSmartSearch": true,
     "isPublic": true,
     "tSql": "string",
     "xhtml": "string",
     "parameterValue": 0,
     "isUnused": true,
     "groupFilter": "string"
   }
 \,{.f_CodeExample style="font-weight: bold;"}
 "errors": 
   {
     "errorType": "TestPurposes",
     "message": "string"
   }
 \{.f_CodeExample style="font-weight: bold;"}
}
POST /api/admin/smartexpressions/list:

Получить все существующие в категории smart-выражения [Пример](

{

 "eventId": 123,

 "originId": 111,

 "subcatId": 222,

 "selectFilters": true,

 "eventParameterValue": 333,

 "onlyCurrentStep": true

}
POST /api/admin/smartexpressions/delete/{id}:

Удалить смарт-выражение из категории

Параметр

Формат

Описание

Id*

integer

Уникальный идентификатор смарт-выражения

DELETE /api/admin/smartexpressions/delete/{id}:

Удалить смарт-выражение из категории

Параметр

Формат

Описание

Id*

integer

Уникальный идентификатор смарт-выражения

Категории и разделы

POST /api/admin/subcategories:

Создать категорию [Пример](

{

 "categoryId": 123,

 "subcategoryName": "Название категории"

}
POST /api/admin/subcategories/{subcatId}/copy:

Копировать категорию

Параметр

Формат

Описание

subcatId*

integer

Уникальный идентификатор копируемой категории

Пример результата:

{
 "subcategoryName": "string"
}
GET /api/admin/categories:

Получить список всех разделов [Пример результата](

{

 "data": 

   {

     "categoryName": "Название категории",

     "parentCategoryId": 123,

     "defaultViewType": "feed",

     "additionalSyndicateLink": " ",

     "id": 0

   }

 \,{.f_CodeExample style="font-weight: bold;"}

 "errors": 

   {

     "errorType": "TestPurposes",

     "message": "string"

   }

 \{.f_CodeExample style="font-weight: bold;"}

}
POST /api/admin/categories:

Создать раздел [Пример](

{

 "categoryName": "Название категории",

 "parentCategoryId": 123,

 "defaultViewType": "feed",

 "additionalSyndicateLink": " "

}
POST /api/admin/categories/{categoryId}:

Редактирует параметры раздела

Параметр

Формат

Описание

categoryId*

integer

Уникальный идентификатор раздела

Пример:

{
 "categoryName": "string",
 "parentCategoryId": 0,
 "defaultViewType": "feed",
 "additionalSyndicateLink": "string"
}
DELETE /api/admin/categories/{categoryId}:

Удаляет раздел рекурсивно, все его категории, ДП, задачи

Параметр

Формат

Описание

categoryId*

integer

Уникальный идентификатор раздела

POST /api/admin/categories/{categoryId}/copy:

Копирует раздел и все его категории

Параметр

Формат

Описание

categoryId*

integer

Уникальный идентификатор раздела

Пример:

{
 "categoryName": "Название категории"
}
POST /api/admin/categories/{categoryId}/notifications/set:

Устанавливает уведомления на события во всех категориях раздела

Параметр

Формат

Описание

categoryId*

integer

Уникальный идентификатор раздела

Пример:

{  "type": "MailNewTask",  "recipients": {    "users": \      0    \,{.f_CodeExample style="font-weight: bold;"}    "groups": \      0    \,{.f_CodeExample style="font-weight: bold;"}    "orgUnits": \      0    \,{.f_CodeExample style="font-weight: bold;"}    "mailBoxes": \      0    \,{.f_CodeExample style="font-weight: bold;"}

   "unresolvedRecipients": 
     "string"
   \{.f_CodeExample style="font-weight: bold;"}
 }
}
POST /api/admin/categories/{categoryId}/notifications/unset:

Снимает уведомления на события во всех категориях раздела

Параметр

Формат

Описание

categoryId*

integer

Уникальный идентификатор раздела

Пример:

{  "type": "MailNewTask",  "recipients": {    "users": \      0    \,{.f_CodeExample style="font-weight: bold;"}    "groups": \      0    \,{.f_CodeExample style="font-weight: bold;"}    "orgUnits": \      0    \,{.f_CodeExample style="font-weight: bold;"}    "mailBoxes": \      0    \,{.f_CodeExample style="font-weight: bold;"}

   "unresolvedRecipients": 
     "string"
   \{.f_CodeExample style="font-weight: bold;"}
 }
}
POST /api/admin/categories/{categoryId}/permissions/revoke:

Отбирает права у всех групп на все категории в разделе

Параметр

Формат

Описание

categoryId*

integer

Уникальный идентификатор раздела

GET /api/admin/enums:

Получить список всех "бизнесовых" enum в сборках. [Пример результата](

{

 "data": 

   {

     "id": "string",

     "name": "string"

   }

 \,{.f_CodeExample style="font-weight: bold;"}

 "errors": 

   {

     "errorType": "TestPurposes",

     "message": "string"

   }

 \{.f_CodeExample style="font-weight: bold;"}

}
GET /api/admin/enums/{type}:

Возвращает список значений запрошенного enum. Если enum локализован, то вернутся названия элементов в текущей локали.

Параметр

Формат

Описание

type*

string

Тип.

Пример: /api/admin/enums/SubcatNotificationTypes - возвращает локализованный список значений enum SubcatNotificationTypes.

Пример:

{
 "data": 
   {
     "id": "string",
     "name": "string"
   }
 \,{.f_CodeExample style="font-weight: bold;"}
 "errors": 
   {
     "errorType": "TestPurposes",
     "message": "string"
   }
 \{.f_CodeExample style="font-weight: bold;"}
}
Маршрут категории

GET /api/admin/subcategories/steps:

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

Параметр

Формат

Описание

subcatId

integer

Уникальный идентификатор категории

Пример:

{
 "data": 
   {
     "stepId": 1234,
     "stateId": 111,
     "actionId": 222,
     "stateDescription": "string",
     "stateNextId": 34,
     "stateNextDescription": "string",
     "stepDescription": "string",
     "actionDesciption": "string",
     "termMinutes": 0,
     "userOnly": true,
     "ownerOnly": true,
     "hiddenStep": true,
     "isMainRouteStep": true,
     "hasSubTask": true,
     "isSignature": true,
     "isProcedure": true,
     "stepEventActionsExists": true,
     "hasExtParamsRestrictions": true,
     "hasAutoperformer": true,
     "hasActionsWithExtParams": true
   }
 \,{.f_CodeExample style="font-weight: bold;"}
 "errors": 
   {
     "errorType": "TestPurposes",
     "message": "string",
     "exceptionTitle": "string"
   }
 \{.f_CodeExample style="font-weight: bold;"}
}
POST /api/admin/subcategories/steps:

Создание перехода [Пример](

{

 "stateId": 0,

 "stateNextId": 0,

 "actionId": 0,

 "ownerOnly": true,

 "userOnly": true,

 "subcatId": 0,

 "stepDescription": "string",

 "hiddenStep": false, // необязателен, по умолчанию false (кнопка видна)

 "stepToolTip": "string",

 "autoPerformerSignatureId": 0,

 "autoperformerAssingAction": "RemoveOldSetResponsible",

 "termMinutes": 0,

 "transparentApproval": true,

 "forceComment": true,

 "resetDueTime": true,

 "stepOwnerToolTip": "string",

 "stepUserToolTip": "string",

 "isButtonPresserAutoPerformer": true,

 "autoAssignCustomer": true,

 "cycleApproval": true,

 "disableMail": true,

 "autoPerformStepOnSubtasksClose": true,

 "onOverduePerformStepId": 0,

 "stepConfirmationMode": "None",

 "confirmText": "string",

 "stepConfirmationSmartExpressionId": 0,

 "termDateSourceExtParamId": 0,

 "requestDirectorSignatureOnReject": true,

 "forAdmin": true,

 "forViewver": true,

 "taskStartTimeAction": 0,

 "askPermissionToPerformTSTAction": true,

 "autoPerformerSourceExtParamId": 0,

 "isAutoPerfomedOnPostTask": true,

 "guid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",

 "storedProcedures": "string",

 "changeTaskText": true,

 "changeTaskTextTemplate": "string",

 "forPerfRight": true,

 "forAddRight": true,

 "forResponsiblePerformer": true,

 "notifyUsersInSubcat": true,

 "notifyUsersInSubcatText": "string",

 "notifyUsersInSubcatGroupId": 0,

 "actionsWithExtParams": 0,

 "visibilitySmartFilterId": 0,

 "disallowRevisionsOnSign": true,

 "doSetComplainted": true,

 "removeCommentsOnSignWhenEP": 0,

 "redirectUrlAfterStepSmartExpressionId": 0,

 "isMainRouteStep": true,

 "isMainRouteAvailable": true,

 "requireChangeDateBefore": true,

 "localizedStepDescrId": 0,

 "localizedStepTooltipId": 0,

 "localizedStepOwnerTooltipId": 0,

 "localizedStepUserTooltipId": 0,

 "localizedConfirmTextId": 0,

 "taskEntityPermissionSetId": 0,

 "taskEntityPermissionControl": true,

 "orderId": 0

}
POST /api/admin/subcategories/steps/restore/{subcatId}:

Восстановление маршрута по умолчанию в категории

Параметр

Формат

Описание

subcatId*

integer

Уникальный идентификатор категории

GET /api/admin/subcategories/steps/{stepId}:

Получить переход

Параметр

Формат

Описание

stepId*

integer

Уникальный идентификатор перехода

Пример результата:

{
 "data": {
   "stateId": 0,
   "stateNextId": 0,
   "actionId": 0,
   "ownerOnly": true,
   "userOnly": true,
   "subcatId": 0,
   "stepDescription": "string",
   "hiddenStep": true,
   "stepToolTip": "string",
   "autoPerformerSignatureId": 0,
   "autoperformerAssingAction": "RemoveOldSetResponsible",
   "termMinutes": 0,
   "transparentApproval": true,
   "forceComment": true,
   "resetDueTime": true,
   "stepOwnerToolTip": "string",
   "stepUserToolTip": "string",
   "isButtonPresserAutoPerformer": true,
   "autoAssignCustomer": true,
   "cycleApproval": true,
   "disableMail": true,
   "autoPerformStepOnSubtasksClose": true,
   "onOverduePerformStepId": 0,
   "stepConfirmationMode": "None",
   "confirmText": "string",
   "stepConfirmationSmartExpressionId": 0,
   "termDateSourceExtParamId": 0,
   "requestDirectorSignatureOnReject": true,
   "forAdmin": true,
   "forViewver": true,
   "taskStartTimeAction": 0,
   "askPermissionToPerformTSTAction": true,
   "autoPerformerSourceExtParamId": 0,
   "isAutoPerfomedOnPostTask": true,
   "guid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
   "storedProcedures": "string",
   "changeTaskText": true,
   "changeTaskTextTemplate": "string",
   "forPerfRight": true,
   "forAddRight": true,
   "forResponsiblePerformer": true,
   "notifyUsersInSubcat": true,
   "notifyUsersInSubcatText": "string",
   "notifyUsersInSubcatGroupId": 0,
   "actionsWithExtParams": 0,
   "visibilitySmartFilterId": 0,
   "disallowRevisionsOnSign": true,
   "doSetComplainted": true,
   "removeCommentsOnSignWhenEP": 0,
   "redirectUrlAfterStepSmartExpressionId": 0,
   "isMainRouteStep": true,
   "isMainRouteAvailable": true,
   "requireChangeDateBefore": true,
   "localizedStepDescrId": 0,
   "localizedStepTooltipId": 0,
   "localizedStepOwnerTooltipId": 0,
   "localizedStepUserTooltipId": 0,
   "localizedConfirmTextId": 0,
   "taskEntityPermissionSetId": 0,
   "taskEntityPermissionControl": true,
   "orderId": 0,
   "stepId": 0
 },
 "errors": 
   {
     "errorType": "TestPurposes",
     "message": "string",
     "exceptionTitle": "string"
   }
 \{.f_CodeExample style="font-weight: bold;"}
}
POST /api/admin/subcategories/steps/{stepId}:

Обновление перехода

Параметр

Формат

Описание

stepId*

integer

Уникальный идентификатор перехода

Пример результата:

{
 "stateId": 0,
 "stateNextId": 0,
 "actionId": 0,
 "ownerOnly": true,
 "userOnly": true,
 "subcatId": 0,
 "stepDescription": "string",
 "hiddenStep": true,
 "stepToolTip": "string",
 "autoPerformerSignatureId": 0,
 "autoperformerAssingAction": "RemoveOldSetResponsible",
 "termMinutes": 0,
 "transparentApproval": true,
 "forceComment": true,
 "resetDueTime": true,
 "stepOwnerToolTip": "string",
 "stepUserToolTip": "string",
 "isButtonPresserAutoPerformer": true,
 "autoAssignCustomer": true,
 "cycleApproval": true,
 "disableMail": true,
 "autoPerformStepOnSubtasksClose": true,
 "onOverduePerformStepId": 0,
 "stepConfirmationMode": "None",
 "confirmText": "string",
 "stepConfirmationSmartExpressionId": 0,
 "termDateSourceExtParamId": 0,
 "requestDirectorSignatureOnReject": true,
 "forAdmin": true,
 "forViewver": true,
 "taskStartTimeAction": 0,
 "askPermissionToPerformTSTAction": true,
 "autoPerformerSourceExtParamId": 0,
 "isAutoPerfomedOnPostTask": true,
 "guid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
 "storedProcedures": "string",
 "changeTaskText": true,
 "changeTaskTextTemplate": "string",
 "forPerfRight": true,
 "forAddRight": true,
 "forResponsiblePerformer": true,
 "notifyUsersInSubcat": true,
 "notifyUsersInSubcatText": "string",
 "notifyUsersInSubcatGroupId": 0,
 "actionsWithExtParams": 0,
 "visibilitySmartFilterId": 0,
 "disallowRevisionsOnSign": true,
 "doSetComplainted": true,
 "removeCommentsOnSignWhenEP": 0,
 "redirectUrlAfterStepSmartExpressionId": 0,
 "isMainRouteStep": true,
 "isMainRouteAvailable": true,
 "requireChangeDateBefore": true,
 "localizedStepDescrId": 0,
 "localizedStepTooltipId": 0,
 "localizedStepOwnerTooltipId": 0,
 "localizedStepUserTooltipId": 0,
 "localizedConfirmTextId": 0,
 "taskEntityPermissionSetId": 0,
 "taskEntityPermissionControl": true,
 "orderId": 0
}
DELETE /api/admin/subcategories/steps/{stepId}:

Удаление перехода

Параметр

Формат

Описание

stepId*

integer

Уникальный идентификатор перехода

POST /api/admin/subcategories/steps/copy/{stepId}:

Копирование перехода

Параметр

Формат

Описание

stepId*

integer

Уникальный идентификатор перехода

Пример результата:

{
 "data": {
   "stateId": 0,
   "stateNextId": 0,
   "actionId": 0,
   "ownerOnly": true,
   "userOnly": true,
   "subcatId": 0,
   "stepDescription": "string",
   "hiddenStep": true,
   "stepToolTip": "string",
   "autoPerformerSignatureId": 0,
   "autoperformerAssingAction": "RemoveOldSetResponsible",
   "termMinutes": 0,
   "transparentApproval": true,
   "forceComment": true,
   "resetDueTime": true,
   "stepOwnerToolTip": "string",
   "stepUserToolTip": "string",
   "isButtonPresserAutoPerformer": true,
   "autoAssignCustomer": true,
   "cycleApproval": true,
   "disableMail": true,
   "autoPerformStepOnSubtasksClose": true,
   "onOverduePerformStepId": 0,
   "stepConfirmationMode": "None",
   "confirmText": "string",
   "stepConfirmationSmartExpressionId": 0,
   "termDateSourceExtParamId": 0,
   "requestDirectorSignatureOnReject": true,
   "forAdmin": true,
   "forViewver": true,
   "taskStartTimeAction": 0,
   "askPermissionToPerformTSTAction": true,
   "autoPerformerSourceExtParamId": 0,
   "isAutoPerfomedOnPostTask": true,
   "guid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
   "storedProcedures": "string",
   "changeTaskText": true,
   "changeTaskTextTemplate": "string",
   "forPerfRight": true,
   "forAddRight": true,
   "forResponsiblePerformer": true,
   "notifyUsersInSubcat": true,
   "notifyUsersInSubcatText": "string",
   "notifyUsersInSubcatGroupId": 0,
   "actionsWithExtParams": 0,
   "visibilitySmartFilterId": 0,
   "disallowRevisionsOnSign": true,
   "doSetComplainted": true,
   "removeCommentsOnSignWhenEP": 0,
   "redirectUrlAfterStepSmartExpressionId": 0,
   "isMainRouteStep": true,
   "isMainRouteAvailable": true,
   "requireChangeDateBefore": true,
   "localizedStepDescrId": 0,
   "localizedStepTooltipId": 0,
   "localizedStepOwnerTooltipId": 0,
   "localizedStepUserTooltipId": 0,
   "localizedConfirmTextId": 0,
   "taskEntityPermissionSetId": 0,
   "taskEntityPermissionControl": true,
   "orderId": 0,
   "stepId": 0
 },
 "errors": 
   {
     "errorType": "TestPurposes",
     "message": "string",
     "exceptionTitle": "string"
   }
 \{.f_CodeExample style="font-weight: bold;"}
}
GET /api/admin/subcat/step/signatures:

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

Параметр

Формат

Описание

stepId

integer

Уникальный идентификатор перехода

Пример результата:

{ [  "data": \    {      "id": 0,      "stepId": 0,      "signatureId": 0,      "isNecessary": true,      "description": "string",      "isSignRestriction": true,      "isSignInfo": true,      "signatureOrder": 0,      "maxTimeToSign": 0,      "timeToSignSmartId": 0,      "isByExtParameter": true,      "spName": "string",      "reason": "string",      "reasonSmartId": 0,      "canChangeSigRequestReason": true,      "sigRequestReasonRequired": true,      "returnIfNotSignedStateId": 0,      "actionIfNotSigned": 0,      "excludeAlreadySigned": true,      "requestReasonOnAccept": true,      "splitForEachAcceptor": true,      "canBeEscalated": true,      "escalateOnOverDue": true,      "isOwnerSignature": true,      "enabled": true,      "acceptorsEvalutionBaseUser": 0,      "canBeDelegated": true,      "isEds": true,      "isAsyncAvailable": true,      "excludeSystemSubstitutes": true,      "canSignedOnlyOnce": true,      "smartFilterId": 0,      "stepsIfNotSigned": \        0      \,{.f_CodeExample style="font-weight: bold;"}      "stepSignExtParamsIdForRestriction": \        0      \,{.f_CodeExample style="font-weight: bold;"}      "stepSignExtParamsIdForInfo": \        0      \,{.f_CodeExample style="font-weight: bold;"}

     "stepSignatureConditions": 
       {
         "extParamId": 0,
         "fixedValue": "string"
       }
     \{.f_CodeExample style="font-weight: bold;"}
   }
 \,]{.f_CodeExample style="font-weight: bold;"}
 "errors": 
   {
     "errorType": "TestPurposes",
     "message": "string",
     "exceptionTitle": "string"
   }
 \{.f_CodeExample style="font-weight: bold;"}
}
POST /api/admin/subcat/step/signatures:

Создать подпись на переходе в категории [Пример](../ {

"stepId": 0,

"signatureId": 0,

"isNecessary": true,

"description": "string",

"isSignRestriction": true,

"isSignInfo": true,

"signatureOrder": 0,

"maxTimeToSign": 0,

"timeToSignSmartId": 0,

"isByExtParameter": true,

"spName": "string",

"reason": "string",

"reasonSmartId": 0,

"canChangeSigRequestReason": true,

"sigRequestReasonRequired": true,

"returnIfNotSignedStateId": 0,

"actionIfNotSigned": 0,

"excludeAlreadySigned": true,

"requestReasonOnAccept": true,

"splitForEachAcceptor": true,

"canBeEscalated": true,

"escalateOnOverDue": true,

"isOwnerSignature": true,

"enabled": true,

"acceptorsEvalutionBaseUser": "Owner",

"canBeDelegated": true,

"isEds": true,

"isAsyncAvailable": true,

"excludeSystemSubstitutes": true,

"canSignedOnlyOnce": true,

"smartFilterId": 0,

"stepsIfNotSigned": \

0

\,{.f_CodeExample style="font-weight: bold;"}

"stepSignExtParamsIdForRestriction": \

0

\,{.f_CodeExample style="font-weight: bold;"}

"stepSignExtParamsIdForInfo": \

0

\,{.f_CodeExample style="font-weight: bold;"}

 "stepSignatureConditions": 

   {

     "extParamId": 0,

     "fixedValue": "string"

   }

 \{.f_CodeExample style="font-weight: bold;"}

}
GET /api/admin/subcat/step/signatures/step/{stepId}/id/{stepSignatureId}:

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

Параметр

Формат

Описание

stepId*

integer

Уникальный идентификатор перехода

stepSignatureId*

integer

Уникальный идентификатор подписи на переходе

Пример результата:

{  "data": {    "id": 0,    "stepId": 0,    "signatureId": 0,    "isNecessary": true,    "description": "string",    "isSignRestriction": true,    "isSignInfo": true,    "signatureOrder": 0,    "maxTimeToSign": 0,    "timeToSignSmartId": 0,    "isByExtParameter": true,    "spName": "string",    "reason": "string",    "reasonSmartId": 0,    "canChangeSigRequestReason": true,    "sigRequestReasonRequired": true,    "returnIfNotSignedStateId": 0,    "actionIfNotSigned": 0,    "excludeAlreadySigned": true,    "requestReasonOnAccept": true,    "splitForEachAcceptor": true,    "canBeEscalated": true,    "escalateOnOverDue": true,    "isOwnerSignature": true,    "enabled": true,    "acceptorsEvalutionBaseUser": 0,    "canBeDelegated": true,    "isEds": true,    "isAsyncAvailable": true,    "excludeSystemSubstitutes": true,    "canSignedOnlyOnce": true,    "smartFilterId": 0,    "stepsIfNotSigned": \      0    \,{.f_CodeExample style="font-weight: bold;"}    "stepSignExtParamsIdForRestriction": \      0    \,{.f_CodeExample style="font-weight: bold;"}    "stepSignExtParamsIdForInfo": \      0    \,{.f_CodeExample style="font-weight: bold;"}

   "stepSignatureConditions": 
     {
       "extParamId": 0,
       "fixedValue": "string"
     }
   \{.f_CodeExample style="font-weight: bold;"}
 },
 "errors": 
   {
     "errorType": "TestPurposes",
     "message": "string",
     "exceptionTitle": "string"
   }
 \{.f_CodeExample style="font-weight: bold;"}
}
POST /api/admin/subcat/step/signatures/{stepSignatureId}:

Обновление подписи на переходе в категории

Параметр

Формат

Описание

stepSignatureId*

integer

Уникальный идентификатор подписи на переходе

Пример:

{  "stepId": 0,  "signatureId": 0,  "isNecessary": true,  "description": "string",  "isSignRestriction": true,  "isSignInfo": true,  "signatureOrder": 0,  "maxTimeToSign": 0,  "timeToSignSmartId": 0,  "isByExtParameter": true,  "spName": "string",  "reason": "string",  "reasonSmartId": 0,  "canChangeSigRequestReason": true,  "sigRequestReasonRequired": true,  "returnIfNotSignedStateId": 0,  "actionIfNotSigned": 0,  "excludeAlreadySigned": true,  "requestReasonOnAccept": true,  "splitForEachAcceptor": true,  "canBeEscalated": true,  "escalateOnOverDue": true,  "isOwnerSignature": true,  "enabled": true,  "acceptorsEvalutionBaseUser": "Owner",  "canBeDelegated": true,  "isEds": true,  "isAsyncAvailable": true,  "excludeSystemSubstitutes": true,  "canSignedOnlyOnce": true,  "smartFilterId": 0,  "stepsIfNotSigned": \    0  \,{.f_CodeExample style="font-weight: bold;"}  "stepSignExtParamsIdForRestriction": \    0  \,{.f_CodeExample style="font-weight: bold;"}  "stepSignExtParamsIdForInfo": \    0  \,{.f_CodeExample style="font-weight: bold;"}

 "stepSignatureConditions": 
   {
     "extParamId": 0,
     "fixedValue": "string"
   }
 \{.f_CodeExample style="font-weight: bold;"}
}
DELETE /api/admin/subcat/step/signatures/{stepSignatureId}:

Удаление подписи на переходе в категории

Параметр

Формат

Описание

stepSignatureId*

integer

Уникальный идентификатор подписи на переходе

Уведомления в категории

POST /api/subcategories/{subcatId}/notifications/add:

Добавление уведомления в категорию

Параметр

Формат

Описание

subcatId*

integer

Уникальный идентификатор категории

Пример:

{
 "id": 123,
 "type": "User"
},
{
 "id": 456,
 "type": "Group"
}
GET /api/subcategories/{subcatId}/notifications:

Получить все уведомления в категории

Параметр

Формат

Описание

subcatId*

integer

Уникальный идентификатор категории

Пример:

{
 "data": 
   {
     "id": 1234,
     "type": "User",
     "displayName": "Иванов Иван",
     "mailNewTask": true,
     "autoSubscribe": true,
     "mailOrderDataChange": true,
     "autoPerformer": true,
     "isAutoPerformerResponsible": true,
     "mailRejectedTask": true
   }
 \,{.f_CodeExample style="font-weight: bold;"}
 "errors": 
   {
     "errorType": "TestPurposes",
     "message": "string",
     "exceptionTitle": "string"
   }
 \{.f_CodeExample style="font-weight: bold;"}
}
POST /api/subcategories/{subcatId}/notifications/update:

Изменение настроек уведомления

Параметр

Формат

Описание

subcatId*

integer

Уникальный идентификатор категории

Пример:

{
 "id": 1234,
 "type": "User",
 "mailNewTask": true,
 "autoSubscribe": true,
 "mailOrderDataChange": true,
 "mailStatusChange": true,
 "autoPerformer": true,
 "isAutoPerformerResponsible": true,
 "mailRejectedTask": true
}
DELETE /api/subcategories/{subcatId}/notifications/delete:

Удаление уведомлений в категории

Параметр

Формат

Описание

subcatId*

integer

Уникальный идентификатор категории

ДП в категории

GET /api/admin/subcat/extparam:

Получить все ДП в категории

Параметр

Формат

Описание

subcatId

integer

Уникальный идентификатор категории

Пример результата:

{ [  "data": \    {      "extParamId": 0,      "extParamName": "string",      "extParamType": "string",      "isRequired": true,      "toolTip": "string",      "isReadonly": true,      "newTaskMode": {        "id": "string",        "name": "string"      },      "accessControl": {        "id": "string",        "name": "string"      },      "regExp": "string",      "subcatOrder": 0,      "stateControl": true,      "smartAccessControl": true,      "syncToParent": true,      "hidden": true,      "hideIfEmpty": true,      "syncToChild": true,      "defaultValue": "string",      "notifyOnChange": true,      "allowHistory": true,      "allowEditHistory": true,      "changeWithComment": true,      "defaultValueSmartExpressionId": 0,      "targetExtParamId": 0,      "extParamBlock": {        "id": "string",        "name": "string"      },      "validatorId": 0,      "colspan": 0,      "maxLength": 0,      "encrypt": true,      "extParamInSubcatName": "string",      "extParamInSubcatId": 0,      "useInSearch": true,      "isValidatorUsed": true,      "supportsChangeWithComment": true,      "defaultValueSmartExpressionName": "string",      "taskEntityPermissionControl": true,      "askSaveConfirm": true,      "uniqueValues": true,      "changeWithCommentMode": {        "id": "string",        "name": "string"      },      "extParamStateViews": \        {          "stateId": 0,          "stateName": "string",          "canEdit": true,          "canRead": true        }      \,{.f_CodeExample style="font-weight: bold;"}      "smartAccessForExtParamInfos": \        {          "id": 0,          "name": "string",          "usersSmartExpressionId": 0,          "canRead": true,          "canWrite": true,          "usersSmartExpressionName": "string",          "subcatId": 0,          "subcatName": "string",          "triggerExtParamNames": "string",          "triggerGroupNames": "string",          "extParamId": 0,          "extParamName": "string"        }      \,{.f_CodeExample style="font-weight: bold;"}      "extParamsInSubcatValidator": {        "valdatorId": 0,        "smartExpressionId": 0,        "runOnSave": true,        "runOnTaskCreated": true,        "steps": \          0        \,{.f_CodeExample style="font-weight: bold;"}        "customButtons": \          0        {.f_CodeExample style="font-weight: bold;"}      }    }  \,]{.f_CodeExample style="font-weight: bold;"}

 "errors": 
   {
     "errorType": "TestPurposes",
     "message": "string",
     "exceptionTitle": "string"
   }
 \{.f_CodeExample style="font-weight: bold;"}
}
POST /api/admin/subcat/extparams:

Создать ДП в категории

Параметр

Формат

Описание

subcatId

integer

Уникальный идентификатор категории

Параметры доп. параметра в категории:

{  "extParamId": 0,  "extParamName": "string",  "extParamType": "string",  "isRequired": true,  "toolTip": "string",  "isReadonly": true,  "newTaskMode": {    "id": "string",    "name": "string"  },  "accessControl": {    "id": "string",    "name": "string"  },  "regExp": "string",  "subcatOrder": 0,  "stateControl": true,  "smartAccessControl": true,  "syncToParent": true,  "hidden": true,  "hideIfEmpty": true,  "syncToChild": true,  "defaultValue": "string",  "notifyOnChange": true,  "allowHistory": true,  "allowEditHistory": true,  "changeWithComment": true,  "defaultValueSmartExpressionId": 0,  "targetExtParamId": 0,  "extParamBlock": {    "id": "string",    "name": "string"  },  "validatorId": 0,  "colspan": 0,  "maxLength": 0,  "encrypt": true,  "extParamInSubcatName": "string",  "extParamInSubcatId": 0,  "useInSearch": true,  "isValidatorUsed": true,  "supportsChangeWithComment": true,  "defaultValueSmartExpressionName": "string",  "taskEntityPermissionControl": true,  "askSaveConfirm": true,  "uniqueValues": true,  "changeWithCommentMode": {    "id": "string",    "name": "string"  },  "extParamStateViews": \    {      "stateId": 0,      "stateName": "string",      "canEdit": true,      "canRead": true    }  \,{.f_CodeExample style="font-weight: bold;"}  "smartAccessForExtParamInfos": \    {      "id": 0,      "name": "string",      "usersSmartExpressionId": 0,      "canRead": true,      "canWrite": true,      "usersSmartExpressionName": "string",      "subcatId": 0,      "subcatName": "string",      "triggerExtParamNames": "string",      "triggerGroupNames": "string",      "extParamId": 0,      "extParamName": "string"    }  \,{.f_CodeExample style="font-weight: bold;"}  "extParamsInSubcatValidator": {    "valdatorId": 0,    "smartExpressionId": 0,    "runOnSave": true,    "runOnTaskCreated": true,    "steps": \      0    \,{.f_CodeExample style="font-weight: bold;"}    "customButtons": \      0    {.f_CodeExample style="font-weight: bold;"}  } } POST /api/extparams/update:

Обновить ДП в задаче

Параметр

Формат

Описание

initiatorUserId

integer

Уникальный идентификатор инициирующего действие пользователя

confirmed

boolean

Если true, то смарт-отмена будет проигнорирована.

Значение по умолчанию: false

Пример:

Значения: -extParamStr — строка ДП-значений через разделитель :: "#n#v1\<значение>::#n#\< значение>" -writeComment — Писать комментарий об изменении. -commentText — Текст комментария. -addOnly — Только добавить, не очищая имеющееся значение. -taskId — Номер задачи -userId — ID меняющего пользователя body: [\

 {
   "extParamStr": "\#n1767\#v17342730::\#n2426\#vтесттекст",
   "taskId": 17516164,
   "userId": 4013,
   "writeComment": true
 }
]{.f_CodeExample style="font-weight: bold;"} GET /api/admin/subcat/extparam:

Получить все ДП в категории

Параметр

Формат

Описание

subcatId*

integer

Уникальный идентификатор категории

extParamId*

integer

Уникальный идентификатор ДП

Пример результата:

{  "data": {    "extParamId": 0,    "extParamName": "string",    "extParamType": "string",    "isRequired": true,    "toolTip": "string",    "isReadonly": true,    "newTaskMode": {      "id": "string",      "name": "string"    },    "accessControl": {      "id": "string",      "name": "string"    },    "regExp": "string",    "subcatOrder": 0,    "stateControl": true,    "smartAccessControl": true,    "syncToParent": true,    "hidden": true,    "hideIfEmpty": true,    "syncToChild": true,    "defaultValue": "string",    "notifyOnChange": true,    "allowHistory": true,    "allowEditHistory": true,    "changeWithComment": true,    "defaultValueSmartExpressionId": 0,    "targetExtParamId": 0,    "extParamBlock": {      "id": "string",      "name": "string"    },    "validatorId": 0,    "colspan": 0,    "maxLength": 0,    "encrypt": true,    "extParamInSubcatName": "string",    "extParamInSubcatId": 0,    "useInSearch": true,    "isValidatorUsed": true,    "supportsChangeWithComment": true,    "defaultValueSmartExpressionName": "string",    "taskEntityPermissionControl": true,    "askSaveConfirm": true,    "uniqueValues": true,    "changeWithCommentMode": {      "id": "string",      "name": "string"    },    "extParamStateViews": \      {        "stateId": 0,        "stateName": "string",        "canEdit": true,        "canRead": true      }    \,{.f_CodeExample style="font-weight: bold;"}    "smartAccessForExtParamInfos": \      {        "id": 0,        "name": "string",        "usersSmartExpressionId": 0,        "canRead": true,        "canWrite": true,        "usersSmartExpressionName": "string",        "subcatId": 0,        "subcatName": "string",        "triggerExtParamNames": "string",        "triggerGroupNames": "string",        "extParamId": 0,        "extParamName": "string"      }    \,{.f_CodeExample style="font-weight: bold;"}    "extParamsInSubcatValidator": {      "valdatorId": 0,      "smartExpressionId": 0,      "runOnSave": true,      "runOnTaskCreated": true,      "steps": \        0      \,{.f_CodeExample style="font-weight: bold;"}      "customButtons": \        0      {.f_CodeExample style="font-weight: bold;"}    }  },

 "errors": 
   {
     "errorType": "TestPurposes",
     "message": "string",
     "exceptionTitle": "string"
   }
 \{.f_CodeExample style="font-weight: bold;"}
}
DELETE /api/admin/subcat/extparams/subcat/{subcatId}/extparam/{extParamId}:

Удаление ДП в категории

Параметр

Формат

Описание

subcatId*

integer

Уникальный идентификатор категории

extParamId*

integer

Уникальный идентификатор ДП

POST /api/admin/subcat/extparams/{subcatId}:

Обновить ДП в категории

Параметр

Формат

Описание

subcatId*

integer

Уникальный идентификатор категории

Параметры доп. параметра в категории:

{  "extParamId": 0,  "extParamName": "string",  "extParamType": "string",  "isRequired": true,  "toolTip": "string",  "isReadonly": true,  "newTaskMode": {    "id": "string",    "name": "string"  },  "accessControl": {    "id": "string",    "name": "string"  },  "regExp": "string",  "subcatOrder": 0,  "stateControl": true,  "smartAccessControl": true,  "syncToParent": true,  "hidden": true,  "hideIfEmpty": true,  "syncToChild": true,  "defaultValue": "string",  "notifyOnChange": true,  "allowHistory": true,  "allowEditHistory": true,  "changeWithComment": true,  "defaultValueSmartExpressionId": 0,  "targetExtParamId": 0,  "extParamBlock": {    "id": "string",    "name": "string"  },  "validatorId": 0,  "colspan": 0,  "maxLength": 0,  "encrypt": true,  "extParamInSubcatName": "string",  "extParamInSubcatId": 0,  "useInSearch": true,  "isValidatorUsed": true,  "supportsChangeWithComment": true,  "defaultValueSmartExpressionName": "string",  "taskEntityPermissionControl": true,  "askSaveConfirm": true,  "uniqueValues": true,  "changeWithCommentMode": {    "id": "string",    "name": "string"  },  "extParamStateViews": \    {      "stateId": 0,      "stateName": "string",      "canEdit": true,      "canRead": true    }  \,{.f_CodeExample style="font-weight: bold;"}  "smartAccessForExtParamInfos": \    {      "id": 0,      "name": "string",      "usersSmartExpressionId": 0,      "canRead": true,      "canWrite": true,      "usersSmartExpressionName": "string",      "subcatId": 0,      "subcatName": "string",      "triggerExtParamNames": "string",      "triggerGroupNames": "string",      "extParamId": 0,      "extParamName": "string"    }  \,{.f_CodeExample style="font-weight: bold;"}  "extParamsInSubcatValidator": {    "valdatorId": 0,    "smartExpressionId": 0,    "runOnSave": true,    "runOnTaskCreated": true,    "steps": \      0    \,{.f_CodeExample style="font-weight: bold;"}    "customButtons": \      0    {.f_CodeExample style="font-weight: bold;"}  } } POST /app/v1.2/api/eps/multilookup/{epId}/{taskId}/update:

Заполнить ДП MultiLookup

Параметр

Формат

Описание

taskId*

integer

Номер задачи

epId*

integer

ID ДП. Значения необходимо передавать в виде строки taskId с разделителем ]||\||\ при добавлении задач и # для множественных операций (удаление и добавление)

[Подробнее про формат значения ДП Multilookup

Пример:

body:

| \'17527471\||\||\17505804\'\' -- добавить  задачи 17527471, 17505804\'\' | | \'-17527471#17515247\||\||\17514596\' -- удалить 17527471 и добавить 17515247, 17514596\' |

Настройки портального блока

POST /api/portals/block/add:

Добавить портальный блок

Параметр

Формат

Описание

blockId*

integer

Уникальный идентификатор виджета

GET /api/portals/block/{blockId}:

Получить общие настройки портального блока

Параметр

Формат

Описание

blockId*

integer

Уникальный идентификатор виджета

Пример результата:

{
 "data": {
   "userId": 0,
   "blockId": 0,
   "name": "string",
   "type": {
     "id": 0,
     "name": "string"
   },
   "isRequired": true,
   "isEnabled": true,
   "headerColor": "string",
   "icon": "string",
   "footerText": "string",
   "footerLink": "string",
   "showFooter": true,
   "startPageBlockId": 0,
   "templateId": 0,
   "guid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
   "contextType": {
     "id": 0,
     "name": "string"
   },
   "isFilterHidden": true,
   "isHideableByUser": true,
   "isHeaderHidden": true,
   "localizedNameId": 0,
   "canExpand": true,
   "widgetNameType": "Fixed",
   "widgetNameSmartId": 0,
   "widgetColorMode": "Default",
   "groups": 
     {
       "id": 0,
       "name": "string"
     }
   \,{.f_CodeExample style="font-weight: bold;"}
   "sections": 
     {
       "id": 0,
       "name": "string"
     }
   \{.f_CodeExample style="font-weight: bold;"}
 },
 "errors": 
   {
     "errorType": "TestPurposes",
     "message": "string",
     "exceptionTitle": "string"
   }
 \{.f_CodeExample style="font-weight: bold;"}
}
GET /api/portals/block/sections:

Получить список разделов

Параметр

Формат

Описание

Пример результата:

{
 "data": 
   {
     "id": 1234,
     "name": "string"
   }
 \,{.f_CodeExample style="font-weight: bold;"}
 "errors": 
   {
     "errorType": "TestPurposes",
     "message": "string",
     "exceptionTitle": "string"
   }
 \{.f_CodeExample style="font-weight: bold;"}
}
GET /api/portals/block/types:

Получить список типов

Параметр

Формат

Описание

Пример результата:

{
 "data": 
   {
     "id": 1234,
     "name": "string"
   }
 \,{.f_CodeExample style="font-weight: bold;"}
 "errors": 
   {
     "errorType": "TestPurposes",
     "message": "string",
     "exceptionTitle": "string"
   }
 \{.f_CodeExample style="font-weight: bold;"}
}
POST /api/portals/block/{blockId}/update:

Изменить настройки портального блока

Параметр

Формат

Описание

blockId*

integer

Уникальный идентификатор виджета

Пример:

{  "userId": 111,  "name": "Name",  "typeId": 222,  "isRequired": true,  "isEnabled": true,  "headerColor": "string",  "icon": "string",  "footerText": "string",  "footerLink": "string",  "showFooter": true,  "startPageBlockId": 0,  "templateId": 0,  "contextTypeId": 0,  "isFilterHidden": true,  "isHideableByUser": true,  "isHeaderHidden": true,  "localizedNameId": 0,  "canExpand": true,  "widgetNameType": "Fixed",  "widgetNameSmartId": 0,  "widgetColorMode": "Default",  "groupsIds": \    0  \,{.f_CodeExample style="font-weight: bold;"}  "sectionsIds": \    0  {.f_CodeExample style="font-weight: bold;"} } DELETE /api/portals/block/{blockId}/delete:

Удалить портальный блок

Параметр

Формат

Описание

blockId*

integer

Уникальный идентификатор виджета

GET /api/portals/block/{blockId}/type-params:

Получить дополнительные настройки портального блока

Параметр

Формат

Описание

blockId*

integer

Уникальный идентификатор виджета

Пример результата:

{
 "data": {},
 "errors": 
   {
     "errorType": "TestPurposes",
     "message": "string",
     "exceptionTitle": "string"
   }
 \{.f_CodeExample style="font-weight: bold;"}
}
POST /api/portals/block/{blockId}/type-params/update:

Изменить дополнительные настройки портального блока

Параметр

Формат

Описание

blockId*

integer

Уникальный идентификатор виджета

Пример результата:

{
 "type": "string",
 "title": "string",
 "status": 0,
 "detail": "string",
 "instance": "string",
 "additionalProp1": "string",
 "additionalProp2": "string",
 "additionalProp3": "string"
}
Аутентификация

GET /api/auth/info:

Получить информацию для авторизации (по текущему пользователю) [Пример результата](../

{

 "data": {

   "userId": 1234,

   "isAdmin": true,

   "groups": 

     {

       "id": 1,

       "description": "Administrators",

       "typeId": 345,

       "code": "abc",

       "customerId": 1,

       "adSid": null,

       "details": "Администраторы системы",

       "domain": null

     },

     {

       "id": 2,

       "description": "Все пользователи",

       "typeId": 123,

       "code": null,

       "customerId": 1,

       "adSid": null,

       "details": "В данной группе содержатся все активные учетные записи. Состав группы поддерживается автоматически.",

       "domain": null

     }

   \{.f_CodeExample style="font-weight: bold;"}

 }

}
POST /api/auth/{userId}/impersonate:

Перевоплщение в пользователя

Параметр

Формат

Описание

userId

integer

Уникальный идентификатор пользователя, в которого необходимо перевоплотиться

POST /api/auth/{userId}/stopimpersonate:

Прекратить перевоплощение

Параметр

Формат

Описание

userId

integer

Уникальный идентификатор пользователя, перевоплощение в которого необходимо прекратить

POST /api/auth/token/refresh:

Запрос нового токена по refresh-токену. Доступен только из аутентифицированного контекста (с валидным access-токеном)

Параметр

Формат

Описание

refreshToken

string

refresh-токен

Метод может работать анонимно

Брендирование

POST /api/admin/spa/branding:

Принимает архив с SPA-файлами, которые могут быть подвержены брендированию, и выдает архив с брендированными файлами и иконками

Параметр

Формат

Описание

file

string

Архив с SPA-файлами:

  • /spa/favicon.ico

  • /spa/index.html

  • /spa/manifest.json

  • /spa/ngsw.json

  • /spa/assets/icons/brand/default

Группы

GET /api/group/group-card:

Получить пользователей, входящих в группу

Параметр

Формат

Описание

groupId

integer

Уникальный идентификатор группы

Пример результата:

{
 "data": {
   "id": 123,
   "description": "Внештатные сотрудники",
   "users": 
     {
       "id": 345,
       "name": "Иванов Иван",
       "isFired": false,
       "isInMaternityLeave": false,
       "isOnline": false,
       "isEmployee": true,
       "isAway": true,
       "awayColor": null
     }
   \{.f_CodeExample style="font-weight: bold;"}
 }
}
Задачи

GET /app/v1.0/api/subcategories/tree

Возвращает список категорий для текущего пользователя.

Параметр

Формат

Описание

allTasksCount

integer

Общее количество задач в категории

newTasksCount

integer

Количество новых задач

overdueTasksCount

integer

Количество просроченных задач

allTasksUserOwns

integer

Количество задач, в которых текущий пользователь является заказчиком

allTasksUserPerforms

integer

Количество задач, в которых текущий пользователь является исполнителем

parentId

integer

Идентификатор родительской категории

nodeType

string

Тип. Варианты значений: Category, Subcategory

isDictionary

boolean

Является справочником

isSpace

boolean

Является пространством

canEdit

boolean

Можно редактировать

openType

string

Представление категории. Варианты значений: feed, grid, additionalsyndicate, filebrowser_thumbnailsview, kanban.

portalId

integer

Идентификатор портала

canCreateTask

boolean

Право создавать задачи

details

string

Описание категории

availableRepresentations

array

Массив объектов доступных представлений категории. Варианты значений: Grid, Feeds, Calendar, Gantt, Kanban, Channel, Chat, Files

name

string

Наименование категории

id

integer

Идентификатор категории

total

integer

Общее количество

Пример результат:

{  "data": [    {      "tasksCounters": {        "allTasksCount": 100,        "newTasksCount": 12,        "overdueTasksCount": 1,        "allTasksUserOwns": 34,        "allTasksUserPerforms": 0      },      "parentId": 1234,      "nodeType": "Category",      "isDictionary": true,      "isSpace": true,      "canEdit": true,      "openType": "feed",      "portalId": 0,      "canCreateTask": true,      "details": "Категория для данных по клиентам",      "availableRepresentations": \        "Grid"      \,      "name": "Клиенты",      "id": 55563    }  \,]  "total": 1,  "aggregates": {} } GET /api/tasks:

Получить задачу

Параметр

Формат

Описание

id

integer

Номер задачи

Пример результата:

{
 "data": {
   "subcategory": {
     "allowSetTimeParamsInPast": true,
     "srokRequired": true,
     "id": 1234
   },
   "subcatId": 111,
   "plannedEnd": "2022-12-28T07:59:02.903Z",
   "commentQuestionsAllow": true,
   "commentNotMeAnswerRequired": true,
   "id": 122
 },
 "errors": 
   {
     "errorType": "TestPurposes",
     "message": "string"
   }

}
GET /api/tasks/{taskId}/actions:

Получить доступные действия для задачи. Включены пошаговые и пользовательские кнопки.

Параметр

Формат

Описание

taskId

integer

Номер задачи

Пример результата:

{
 "data": [
   {
     "id": 123,
     "description": "Описание",
     "disabled": true,
     "otherActions": true,
     "forceComment": true,
     "startTimeChangeConfirmText": null,
     "stepTooltip": null,
     "stateDescription": "Новая",
     "doSetPerformer": true,
     "closeTask": true,
     "finishWork": true,
     "newDueDateRequired": true,
     "overdueReasonRequired": true,
     "signatures": 
       {
         "id": 123,
         "description": "Описание",
         "reason": "Причина"
       }
     \,      "confirmText": "Текст"    }  \,]
 "errors": 
   {
     "errorType": "TestPurposes",
     "message": "string"
   }

}
GET /app/v1.0/api/tasks/{taskId}/mainroute:

Метод для получения основного маршрута по задаче и доступных пользователю переходов из текущего статуса

Параметр

Формат

Описание

taskId

integer

Номер задачи

Пример результата:

{
 "taskMainRoute": {
   "isConfigured": true,
   "isValid": true,
   "states": 
     {
       "description": "Новая",
       "isPassed": true,
       "isCurrent": false,
       "isRejected": false,
       "startDate": "2023-06-16T10:15:49",
       "endDate": "2023-06-26T11:44:31",
       "stateTime": "Начало: 16 июня 10:15\\r\\nОкончание: 26 июня 11:44\\r\\nДлительность: 10 дней 1 час 28 минут",
       "realState": null,
       "name": "Новая",
       "id": 1
     },
     {
       "description": "Выполняется",
       "isPassed": false,
       "isCurrent": true,
       "isRejected": false,
       "startDate": "2023-06-26T11:44:31",
       "endDate": null,
       "stateTime": "Начало: 26 июня 11:44\\r\\nДлительность: 2 дня 5 часов 56 минут",
       "realState": null,
       "name": "Выполняется",
       "id": 2
     },
     {
       "description": "Завершена",
       "isPassed": false,
       "isCurrent": false,
       "isRejected": false,
       "startDate": null,
       "endDate": null,
       "stateTime": null,
       "realState": null,
       "name": "Завершена",
       "id": 3
     }
   \,    "isHidden": true  },
 "steps": 
   {
     "stateId": 2,
     "stateNextId": 3,
     "fromUserId": null,
     "confirmText": null,
     "needRates": false,
     "requireChangeDateBefore": false,
     "isMainRouteAvailable": true,
     "isMainRoute": true,
     "name": "Завершить",
     "id": 12946
   },
   {
     "stateId": 2,
     "stateNextId": 523,
     "fromUserId": null,
     "confirmText": "",
     "needRates": false,
     "requireChangeDateBefore": false,
     "isMainRouteAvailable": false,
     "isMainRoute": false,
     "name": "Отложить",
     "id": 23831
   },
   {
     "stateId": 2,
     "stateNextId": 4,
     "fromUserId": null,
     "confirmText": "",
     "needRates": false,
     "requireChangeDateBefore": false,
     "isMainRouteAvailable": false,
     "isMainRoute": false,
     "name": "Отклонить",
     "id": 13568
   }
 \,
 "terminalStates": 
   {
     "description": "Отклонена",
     "isPassed": false,
     "isCurrent": false,
     "isRejected": true,
     "startDate": null,
     "endDate": null,
     "stateTime": null,
     "realState": null,
     "name": "Отклонена",
     "id": 4
   }

}
GET /api/tasks/check-exist-and-access/{taskId}:

Проверить задачу на существование и доступ

Параметр

Формат

Описание

taskId

integer

Номер задачи

Пример результата:

{
 "data": {
   "isTaskExists": true,
   "isUserHasAccess": true,
   "taskShortInfo": {
     "taskId": [1190635](https://ru.1forma.ru/spa/tasks/1190635),
     "subcatId": 21001,
     "subcatDescription": "Договор оказания услуг",
     "isEncrypted": false,
     "isClosed": false,
     "isWaitingSign": false,
     "isConfidential": false,
     "taskText": "Согласование платежа",
     "priority": 1,
     "stateId": 2,
     "stateDescription": "Выполняется",
     "owner": {
       "userId": 29155,
       "userName": "Герасимов Михаил",
       "isLastOnlineFromMobileApp": false,
       "lastOnlineTime": "2022-11-29T14:56:40",
       "lastPersonalInfoUpdateTime": "2022-10-13T13:10:00",
       "gender": 1,
       "birthDate": null,
       "birthDaySoon": false,
       "hasAvatar": true,
       "userAvatarFile": {
         "fileId": 1473372,
         "latestVersionId": 1
       },
       "absences": []
       "isEmployee": false,
       "isFired": false,
       "displayName": "Герасимов Михаил"
     }
   }
 }
}
GET /api/tasks/{taskId}/states:

Получить статусы задачи

Параметр

Формат

Описание

taskId

integer

Номер задачи

Пример результата:

{
 "data": {
   "states": 
     {
       "id": 1,
       "name": "Новая"
     },
     {
       "id": 4,
       "name": "Отклонена"
     },
     {
       "id": 313,
       "name": "Архив"
     },
     {
       "id": 983,
       "name": "Действует"
     }
   \{.f_CodeExample style="font-weight: bold;"}
 }
}
GET /api/task/avatar/{taskId}:

Отдает аватар задачи, если он есть

Параметр

Формат

Описание

taskId

integer

Номер задачи

scaleX

integer

Ось X

scaleY

integer

Ось Y

fullImg

boolean

Полное изображение

enlargeImage

boolean

Увеличить изображение

doNotSendDefaultAvatar

boolean

Не отправлять аватар по умолчанию

GET /api/tasks/linked/{taskId}:

Получить связанные задачи

Параметр

Формат

Описание

taskId

integer

Номер родительской задачи

Пример результата:

{
 "data": 
   {
     "taskID": 123,
     "createdTask": "2022-09-09T09:03:15",
     "taskAssigner": "Иванов Иван",
     "subcat": "Договор оказания услуг",
     "description": "Договор №12193786",
     "stateName": "Отклонена",
     "taskPerformer": "Иванов Иван",
     "isClosed": true,
     "sourceTaskId": 345
   }

}
GET /api/tasks/subtasks/removelink/{taskId}/{subtaskId}:

Разорвать связь с задачей

Параметр

Формат

Описание

taskId

integer

Номер родительской задачи

subtaskId

integer

Задача для удаления

POST /app/v1.2/api/tasks/feeds:

Получить ленту задач

Параметр

Формат

Описание

limit

integer

Размер страницы

offset

integer

Количество пропускаемых элементов при генерации страницы

subcatId

integer

Уникальный идентификатор категории

catId

integer

startTime

string

Дата начала

endTime

string

Дата окончания

taskParamFilter

array

Массив объектов

feedTypes

array

Массив объектов

extParamFilters

string

Пример:

{
 "limit": 20,
 "offset": 0,
 "subcatId": 1234,
 "catId": null,
 "startTime": "2022-12-27T07:33:42.294Z",
 "endTime": "2022-12-27T07:33:42.294Z",
 "taskParamFilter": 
   {
     "type": "string",
     "startValue": {},
     "endValue": {},
     "operation": "string"
   }
 \,  "feedTypes": \    "All"  \,  "extParamFilters": "null"  ] } POST /api/tasks/feedsBySP:

Получить ленту задач

Параметр

Формат

Описание

resultRowsCount

integer

Количество выводимых строк

resultSetOffset

integer

Количество пропускаемых элементов при генерации страницы

include

array

Массив объектов для отображения. Пример: ДП ("ExtParams"), комментарии ("CommentCounters"), подписчики ("Subscribers")

showLastComment

boolean

Показывать последний комментарий

openOnlyF

boolean

Задачи в активном статусе

closedOnlyF

boolean

Закрытые задачи

favoritesOnlyF

boolean

Избранные задачи

taskHelperOnlyF

boolean

Задачи, где пользователь исполнитель

subscriberOnlyF

boolean

Задачи, где пользователь подписчик

Пример:

{   "resultRowsCount": 50,   "resultSetOffset": 0,   "include": \       "ExtParams",       "CommentCounters",       "Commenters",       "Subscribers"   \,   "showLastComment": true,   "openOnlyF": false,   "closedOnlyF": false,   "favoritesOnlyF": false,   "taskHelperOnlyF": false,   "subscriberOnlyF": true,   "oneFMainVisibilityModeF": true,   "workNotStartedOnlyF": false,   "orderByLastCommentIdF": true,   "reversedOrderF": true,   "outLastCommentF": true,   "orderByCreatedTaskF": false,   "lastCommentUnreadOnlyF": false,   "topCommentersCount": 10 } POST /api/tasks:

Получить информацию о задаче с некоторыми информационными частями

Параметр

Формат

Описание

taskId

integer

Номер задачи

selectedInfoParts

array

Массив данных, по которым получаем информацию. Пример: ДП ("ExtParams")

addToHistory

boolean

При необходимости добавить задачу в историю.

Пример:

body:

{
 "taskId": 17516164,
 "selectedInfoParts": 
   "ExtParams"

}

Ответ: {  "errors": null,  "unreadCommentsCount": 0,  "otherActionsButtonText": null,  "threadsCount": 0,  "extParams": \    {      "hideLink": false,      "id": 2429,      "name": "Лид",      "type": "LookUpField",      "value": {        "taskId": 17414895,        "taskText": "Новый лид: ООО \"1Форма\" (7704719651), код (Комплектующие Смазка, Комплектующие Балки, Изоляция Звукоизоляция)",        "taskColor": "None",        "taskIcon": "task-list-document-text"      }    }... ... } POST /api/tasks/create:

Создать задачу

Параметр

Формат

Описание

subcatId

integer

Идентификатор категории, в которой необходимо создать задачу

taskText

string

Текст задачи

orderedTime

string

Дата создания

priorityId

integer

Приоритет. Низкий приоритет — 0; обычный — 1; высокий — 3.

userToMakeOwnerId

integer

Идентификатор заказчика задачи

addToFavourites

boolean

Добавить задачу в избранное

extParams

array

Список ДП

subscriberIds

array

Список подписчиков задачи

notifyIds

array

Список пользователей, уведомлённых о создании задачи

parentTaskId

integer

Родительская задача

linkedTaskId

integer

Связанная задача

Пример:

{
 "subcatId": 111,
 "taskText": "CreateTask {{TodayDateFromPost}}",
 "orderedTime": "{{TomorrowDateFromPost}}",
 "performerIds": 
 \,{.f_CodeExample style="font-weight: bold;"}
 "priorityId": 1,
 "userToMakeOwnerId": 3,
 "addToFavourites": false,
 "extParams": {},
 "subscriberIds": 
 \,{.f_CodeExample style="font-weight: bold;"}
 "notifyIds": 
 \,{.f_CodeExample style="font-weight: bold;"}
 "parentTaskId": 123,
 "linkedTaskId": 456,
 "guid": "JHGhjgjyiuej"
}
POST /api/tasks/set-color:

Добавить задачу в избранное

Параметр

Формат

Описание

taskId

integer

Номер задачи, которую необходимо добавить в избранное

color

string

Цвет текста задачи после добавления в избранное

favsFolderId

integer

Идентификатор папки избранного

Пример:

{
 "taskId": {{taskPost}},
 "color": "\#FF3333",
 "favsFolderId": null
}
POST /api/tasks/delete:

Удалить список задач

Параметр

Формат

Описание

taskIDs

array

Список номеров задач, которые необходимо удалить

initiatorUserId

integer

Пользователь от имени которого выполнится удаление

Пример:

{  "taskIDs": \    {       111, 112, 113    },   "initiatorUserId": 123  {.f_CodeExample style="font-weight: bold;"} } POST /api/tasks/{taskId}/set-priority:

Изменить приоритет задачи

Параметр

Формат

Описание

TaskId

integer

Номер задачи, в которой необходимо изменить приоритет

priority

string

Низкий приоритет — Low; обычный — Normal; высокий — High.

Пример:

{
 "priority": "Low"
}
POST /api/tasks/{taskId}/lock-due-date:

Заблокировать срок исполнения

Параметр

Формат

Описание

taskId

integer

Номер задачи

POST /api/tasks/{taskId}/unlock-due-date:

Разблокировать срок исполнения

Параметр

Формат

Описание

taskId

integer

Номер задачи

POST /api/tasks/{taskId}/change-duedate:

Изменить срок задачи

Параметр

Формат

Описание

taskId

integer

Номер задачи

newDate

string

Новый срок

reason

string

Причина смены срока

addToQuickReply

boolean

Добавить в быстрый ответ

initiatorUserId

integer

Идентификатор пользователя-инициатора

Пример:

{
 "newDate": "{{TomorrowDateFromPost}}",
 "reason": "TEST",
 "аddToQuickReply": true
}
POST /api/tasks/{taskId}/change-subscribers:

Добавить и/или удалить подписчиков в задачу

Параметр

Формат

Описание

taskId

integer

Номер задачи

addUsers

array

Идентификаторы пользователей, которые нужно добавить подписчиками в задачу

removeUsers

array

Идентификаторы пользователей, которых нужно удалить из подписчиков задачи

addGroups

array

Идентификаторы групп, пользователей которых нужно добавить подписчиками в задачу

removeGroups

array

Идентификаторы групп, пользователей из которых нужно удалить из подписчиков задачи

initiatorUserId

integer

Идентификатор пользователя-инициатора действия

Пример:

{  "taskId": 123,  "addUsers": \   111, 112  \,{.f_CodeExample style="font-weight: bold;"}  "initiatorUserId": 456 } POST /api/tasks/{taskId}/remove-all-subscribers:

Удалить всех подписчиков

Параметр

Формат

Описание

taskId

integer

Номер задачи

initiatorUserId

integer

Идентификатор пользователя-инициатора действия

POST /api/tasks/{taskId}/change-performers:

Сменить исполнителей задачи

Параметр

Формат

Описание

taskId

integer

Номер задачи

add

array

Идентификаторы пользователей, которых нужно добавить исполнителями задачи

remove

array

Идентификаторы пользователей, которых нужно удалить из исполнителей задачи

initiatorUserId

integer

Идентификатор пользователя-инициатора действия

Пример:

{  "taskId": 123,  "add": \   111, 112  \,{.f_CodeExample style="font-weight: bold;"}  "initiatorUserId": 456 } POST /api/tasks/{taskId}/responsible-performer/{userId}:

Назначить исполнителя отвественным

Параметр

Формат

Описание

taskId

integer

Номер задачи

userId

integer

Идентификаторы пользователя, которого нужно назначить ответственным исполнителем

initiatorUserId

integer

Идентификатор пользователя-инициатора действия

Пример:

{
 "taskId": 123,
 "userId": 111,
 "initiatorUserId": 456
}
POST /api/tasks/{taskId}/pin-as-chat-to-all-users:

Закрепить всем задачу как чат

Параметр

Формат

Описание

taskId

integer

Номер задачи

POST /api/tasks/{taskId}/new-doc/{docType}:

Добавить новый документ в задачу

Параметр

Формат

Описание

taskId

integer

Номер задачи

docType

string

Тип нового документа

POST /api/tasks/{taskId}/responsible-performer/{userId}:

Добавить подзадачу для задачи

Параметр

Формат

Описание

taskId

integer

Номер задачи

subtaskId

integer

Идентификаторы категории подзадачи

needCopySubscribers

boolean

Копировать подписчиков из родительской задачи

needCopyFiles

boolean

Копировать вложения из родительской задачи

deletePreviousParent

boolean

Удалить предыдущую родительскую задачу

Пример:

{
 "subtaskId": {{taskPost2Copy}},
 "needCopySubscribers": true,
 "needCopyFiles": true,
 "deletePreviousParent": true
}
POST /api/tasks/{taskId}/add-task-link:

Связать задачу с задачей

Параметр

Формат

Описание

taskId

integer

Номер задачи

subtaskId

integer

Идентификаторы категории

needCopySubscribers

boolean

Копировать подписчиков из родительской задачи

needCopyFiles

boolean

Копировать вложения из родительской задачи

isSilent

boolean

Тихий комментарий

linkType

string

Возможные варианты: "None", "StartToStart", "StartToFinish", "FinishToStart", "FinishToFinish"

Пример:

{
 "subtaskId": 123,
 "needCopySubscribers": true,
 "needCopyFiles": true,
 "isSilent": true,
 "linkType": "None"
}
POST /api/tasks/change-owner:

Смена исполнителя задачи

Параметр

Формат

Описание

taskId

integer

Номер задачи

newOwnerId

integer

Идентификатор нового исполнителя

initiatorUserId

integer

Идентификатор пользователя-инициатора действия

Пример:

{
 "taskId": 123,
 "newOwnerId": 112
}
POST /api/tasks/{taskId}/changeState:

Изменить статус задачи

Параметр

Формат

Описание

taskId

integer

Номер задачи

newStateId

integer

Идентификатор нового статуса

initiatorUserId

integer

Идентификатор пользователя-инициатора действия

Пример:

{
 "taskId": 123,
 "newStateId": 2,
 "initiatorUserId": 112
}
POST /app/v1.0/api/tasks/template:

Получить шаблон для редактирования задачи

Параметр

Формат

Описание

subcatId

integer

Идентификатор подкатегории

parentTaskId

integer

Идентификатор родительской задачи

taskId

integer

Идентификатор задачи

action

string

Действие с задачей. Возможные варианты: \'NewTask\', \'CopyTask\', \'MoveTask\', \'NewLinkTask\', \'NewSubtask\'\

Пример:

{  "isChat": true,  "subcatDescription": "string",  "subcatMobileTemplate": "string",  "epSourceTaskId": 0,  "pinToChat": true,  "canPerform": true,  "extParams": \    {}  \,  "template": {    "description": "string",    "subcatId": 0,    "subcatName": "string",    "content": {},    "guid": "string",    "standardMTFTemplate": true,    "standardNTFTemplate": true,    "templateContext": "Cell",    "complexContextName": "string",    "modifiedUserID": 0,    "modifiedUser": "string",    "oldContent": {},    "currentLanguageId": 0,    "id": 0,    "name": "string",    "typeId": "string",    "modified": "2023-04-05T12:38:25.277Z",    "created": "2023-04-05T12:38:25.277Z"  },

 "mainParams": 
   {
     "type": "TaskId",
     "value": {},
     "isRequired": true,
     "canEdit": true,
     "placeholder": "string",
     "settings": {
       "singleChoice": true,
       "allowDeleteSelf": true,
       "allowGroups": true
     },
     "name": "string"
   }

}
POST /api/tasks/params/update:

Изменение запросом системных и дополнительных параметров задачи

Параметр

Формат

Описание

updateParamsDtoJson

string

Список параметров в формате JSON

Пример body:

{    "taskIds": \        1178846    \,    "extParams": [        {            "id": 5999,            "value": {                "add": \                    28813            }        },        {            "id": 6017,            "value": "text"        },        {            "id": 5992,            "value": \                1246532        },        {            "id": 6006,            "value": "inbox\@1forma.ru"        },        {            "id": 6007,            "value": "да"        },        {            "id": 6009,            "value": "2022-10-20T14:00:00"        },        {            "id": 6010,            "value": "2,0"        },        {            "id": 5998,            "value": \                596695,                596694,                596696        },

       {
           "id": 10023,
           "value": "1 форма"
       }
   \,]    "mainParams": [        {            "type": "Owner",            "value": 28813        },        {            "type": "Priority",            "value": "Low"        },        {            "type": "TaskText",            "value": "Задача"        },        {            "type": "Subscribers",            "value": {                "add": \                    6762                \,                "remove": \                    28813            }        },        {            "type": "Performers",            "value": {                "add": \                    28813            }        }    ] } POST /api/task/actions/batch/smartbutton/smartbuttons:

Получить доступные смарт-кнопки.

Параметр

Формат

Описание

tasksIds

integer

Задачи для совершения действия.

initiatorUserId

integer

Пользователь, от имени которого совершается действие. Если не указан - действие совершается от имени сессионного пользователя.

Пример:

{
[  "data": 
   {
     "id": "string",
     "description": "string",
     "disabled": true,
     "otherActions": true,
     "forceComment": true,
     "startTimeChangeConfirmText": "string",
     "stepTooltip": "string",
     "stateDescription": "string",
     "doSetPerformer": true,
     "closeTask": true,
     "finishWork": true,
     "newOrderedTimeRequired": true,
     "overdueReasonRequired": true,
     "requireChangeDateBefore": true,
     "alertText": "string",
     "confirmText": "string",
     "signatures": 
       {
         "id": 0,
         "description": "string",
         "reason": "string"
       }
     \,{.f_CodeExample style="font-size: 0.82rem;"}
     "orderId": 0,
     "stepOrderedTime": "2024-01-18T13:24:10.373Z"
   }
 \,]{.f_CodeExample style="font-size: 0.82rem;"}
 "errors": 
   {
     "errorType": "TestPurposes",
     "message": "string"
   }
 \{.f_CodeExample style="font-size: 0.82rem;"}
}
POST /api/task/files/history:

Получение полной истории изменения значения ДП "Файл" в задаче

Параметр

Формат

Описание

taskId

integer

Идентификатор задачи

extParamId

integer

Идентификатор ДП "Файл"

Пример:

{
 "data": 
   {
     "id": 123,
     "name": "File",
     "user": {
       "userId": 45,
       "displayName": "File"
     },
     "uploadDate": "2024-01-23T10:24:33.379Z",
     "size": 100,
     "isDeleted": true,
     "versionId": 1,
     "extParamLinkId": 123
   }
 \,{.f_CodeExample style="font-weight: bold;"}
 "errors": 
   {
     "errorType": "TestPurposes",
     "message": "string"
   }
 \{.f_CodeExample style="font-weight: bold;"}
}
POST /api/task/actions/batch/copy:

Пакетное копирование задач

Параметр

Формат

Описание

tasksIds

array

Задачи для совершения действия

initiatorUserId

integer

Пользователь, от имени которого совершается действие. Если не указан - действие совершается от имени сессионного пользователя

subcatId

integer

Целева категория

taskName

string

Название для новых задач

orderedTime

string

Срок выполнения для новых задач

noOrderedTime

boolean

Не задавать срок выполнения для новых задач

linkToCopiedTask

boolean

Связать новые задачи с исходными задачами

assignAsSubtaskForCopiedTask

boolean

Назначить новые задачи подзадачами исходных задач

extParams

array

ДП. В массиве передаются параметры: id (идентификатор ДП) и value (значение ДП)

Пример:

{   "tasksIds": \       12345   \,{.f_CodeExample style="font-weight: bold;"}   "subcatId": 222,   "taskName": "Текст задачи",   "orderedTime": "2024-03-15T19:06:00.000Z",   "noOrderedTime": false,   "linkToCopiedTask": true,   "assignAsSubtaskForCopiedTask": false,

[   "extParams": 
      {
          "id": 5992,
          "value": "1421600"
      },
      {
          "id": 6001,
          "value": "{\\"Users\\":{\\"Deleted\\":[\,\\"Added\\":\5144,28477\,\\"Selected\\":\5144,28477\},\\"Groups\\":{\\"Deleted\\":\\,\\"Added\\":\\,\\"Selected\\":\\},\\"OrgUnits\\":{\\"Deleted\\":\\,\\"Added\\":\\,\\"Selected\\":\\}}"]{.f_CodeExample style="font-weight: bold;"}
      },
      {
          "id": 6002,
          "value": "{\\"Users\\":{\\"Deleted\\":[\,\\"Added\\":\\,\\"Selected\\":\\},\\"Groups\\":{\\"Deleted\\":\\,\\"Added\\":\\,\\"Selected\\":\\},\\"OrgUnits\\":{\\"Deleted\\":\\,\\"Added\\":\\,\\"Selected\\":\\}}"]{.f_CodeExample style="font-weight: bold;"}
      },
      {
          "id": 6003,
          "value": "{\\"Users\\":{\\"Deleted\\":[\,\\"Added\\":\29531\,\\"Selected\\":\29531\},\\"Groups\\":{\\"Deleted\\":\\,\\"Added\\":\\,\\"Selected\\":\\},\\"OrgUnits\\":{\\"Deleted\\":\\,\\"Added\\":\\,\\"Selected\\":\\}}"]{.f_CodeExample style="font-weight: bold;"}
      },
      {
          "id": 6004,
          "value": "Loren"
      },
      {
          "id": 6011,
          "value": "111111"
      },
      {
          "id": 6018,
          "value": "null"
      },
      {
          "id": 6022,
          "value": "{\\"file\\":{\\"id\\":\\"0bfcd13f-90ae-4860-a723-8da6f4e8cf70\\"},\\"name\\":\\"test.json\\",\\"fileName\\":\\"test.json\\",\\"size\\":52848,\\"fileSize\\":52848,\\"mime\\":\\"application/json\\",\\"fileMime\\":\\"application/json\\",\\"guid\\":\\"3543b828-7ad5-4d00-9f33-d5a020d6a4f2\\"}"
      },
      {
          "id": 12545,
          "value": "{\\"textValue\\":null,\\"addressId\\":null}"
      },
      {
          "id": 5996,
          "value": "тест"
      },
      {
          "id": 6017,
          "value": "test14"
      }
  ]{.f_CodeExample style="font-weight: bold;"}
}
ДП Таблица

GET /app/v1.2/api/ep/tableSettings/{tableId}/subcat/{subcatId}/{taskId}:

Получить настройки ДП Таблица: общие настройки и список столбцов

Параметр

Формат

Описание

tableId

integer

Идентификатор таблицы

subcatId

integer

Идентификатор категории

taskId

integer

Номер задачи

Пример результата:

{
 "tableSettings": {
   "multiselectColumnId": null,
   "useRowIdAsKeyColumn": false,
   "uploadWhenFileAttach": false,
   "numberOfParallelDownloads": 0,
   "numberOfIterationsForDownloadOneFile": 1,
   "timeToWaitForDownloadOneFile": 0,
   "timeToWaitForReloadFile": 0,
   "webServerKey": "",
   "importEnabled": false,
   "exportEnabled": false,
   "autosaveEnabled": true,
   "id": 69860,
   "scrollingHeight": 0,
   "rowsPerPage": 0,
   "canRemoveRows": false
 },
 "tableColumnsSettings": 
   {
     "extParamId": 69860,
     "defaultValue": null,
     "dataSource": null,
     "dataValueField": null,
     "dataTextField": null,
     "setOfElementsAsDataSource": false,
     "maxHeight": null,
     "isMultifile": false,
     "mask": "",
     "lookupParamSettingId": null,
     "smartExpressionId": null,
     "referencedExtParamId": null,
     "taskIdContextField": null,
     "mode": "Required",
     "msOfficeInteractionSettingId": null,
     "createSystemFileVersionsOnSignatureSign": false,
     "virtualColumnReferencedLookupColumnId": null,
     "virtualColumnReferencedExtParamId": null,
     "isVirtual": false,
     "referencedExtParamNumberSettings": null,
     "referencedExtParamLookupSettings": null,
     "buttons": null,
     "winAppLinks": false,
     "defaultValueSmartExpressionId": null,
     "importEnabled": false,
     "exportEnabled": false,
     "allowScanning": false,
     "referencedExtParamSelectUserSettings": null,
     "selectUsersDefaultValue": null,
     "defaultSort": 0,
     "showEdsIcon": false,
     "showInputPicIcon": false,
     "id": 17641,
     "name": "Степень родства",
     "orderId": 1,
     "columnType": "Text",
     "align": 1,
     "columnWidth": 0,
     "enableTotal": false,
     "guid": "2fc0095a-acb9-ec11-a447-00505682abf5",
     "locked": "none",
     "template": null,
     "showImagePreview": false,
     "imagePreviewWidth": null,
     "imagePreviewHeight": null
   },
   {
     "extParamId": 69860,
     "defaultValue": null,
     "dataSource": null,
     "dataValueField": null,
     "dataTextField": null,
     "setOfElementsAsDataSource": false,
     "maxHeight": null,
     "isMultifile": false,
     "mask": "",
     "lookupParamSettingId": null,
     "smartExpressionId": null,
     "referencedExtParamId": null,
     "taskIdContextField": null,
     "mode": "Required",
     "msOfficeInteractionSettingId": null,
     "createSystemFileVersionsOnSignatureSign": false,
     "virtualColumnReferencedLookupColumnId": null,
     "virtualColumnReferencedExtParamId": null,
     "isVirtual": false,
     "referencedExtParamNumberSettings": null,
     "referencedExtParamLookupSettings": null,
     "buttons": null,
     "winAppLinks": false,
     "defaultValueSmartExpressionId": null,
     "importEnabled": false,
     "exportEnabled": false,
     "allowScanning": false,
     "referencedExtParamSelectUserSettings": null,
     "selectUsersDefaultValue": null,
     "defaultSort": 0,
     "showEdsIcon": false,
     "showInputPicIcon": false,
     "id": 17651,
     "name": "ФИО",
     "orderId": 2,
     "columnType": "Text",
     "align": 1,
     "columnWidth": 0,
     "enableTotal": false,
     "guid": "c10ba166-acb9-ec11-a447-00505682abf5",
     "locked": "none",
     "template": null,
     "showImagePreview": false,
     "imagePreviewWidth": null,
     "imagePreviewHeight": null
   },
   {
     "extParamId": 69860,
     "defaultValue": null,
     "dataSource": null,
     "dataValueField": null,
     "dataTextField": null,
     "setOfElementsAsDataSource": false,
     "maxHeight": null,
     "isMultifile": false,
     "mask": "",
     "lookupParamSettingId": null,
     "smartExpressionId": null,
     "referencedExtParamId": null,
     "taskIdContextField": null,
     "mode": "Default",
     "msOfficeInteractionSettingId": null,
     "createSystemFileVersionsOnSignatureSign": false,
     "virtualColumnReferencedLookupColumnId": null,
     "virtualColumnReferencedExtParamId": null,
     "isVirtual": false,
     "referencedExtParamNumberSettings": null,
     "referencedExtParamLookupSettings": null,
     "buttons": null,
     "winAppLinks": false,
     "defaultValueSmartExpressionId": null,
     "importEnabled": false,
     "exportEnabled": false,
     "allowScanning": false,
     "referencedExtParamSelectUserSettings": null,
     "selectUsersDefaultValue": null,
     "defaultSort": 0,
     "showEdsIcon": false,
     "showInputPicIcon": false,
     "id": 17661,
     "name": "Дата рождения",
     "orderId": 3,
     "columnType": "DateOnly",
     "align": 1,
     "columnWidth": 0,
     "enableTotal": false,
     "guid": "f1d6367e-acb9-ec11-a447-00505682abf5",
     "locked": "none",
     "template": null,
     "showImagePreview": false,
     "imagePreviewWidth": null,
     "imagePreviewHeight": null
   },
   {
     "extParamId": 69860,
     "defaultValue": null,
     "dataSource": null,
     "dataValueField": null,
     "dataTextField": null,
     "setOfElementsAsDataSource": false,
     "maxHeight": null,
     "isMultifile": false,
     "mask": "",
     "lookupParamSettingId": null,
     "smartExpressionId": null,
     "referencedExtParamId": null,
     "taskIdContextField": null,
     "mode": "Default",
     "msOfficeInteractionSettingId": null,
     "createSystemFileVersionsOnSignatureSign": false,
     "virtualColumnReferencedLookupColumnId": null,
     "virtualColumnReferencedExtParamId": null,
     "isVirtual": false,
     "referencedExtParamNumberSettings": null,
     "referencedExtParamLookupSettings": null,
     "buttons": null,
     "winAppLinks": false,
     "defaultValueSmartExpressionId": null,
     "importEnabled": false,
     "exportEnabled": false,
     "allowScanning": false,
     "referencedExtParamSelectUserSettings": null,
     "selectUsersDefaultValue": null,
     "defaultSort": 0,
     "showEdsIcon": false,
     "showInputPicIcon": false,
     "id": 17671,
     "name": "Место работы",
     "orderId": 4,
     "columnType": "Text",
     "align": 1,
     "columnWidth": 0,
     "enableTotal": false,
     "guid": "cf7ae287-acb9-ec11-a447-00505682abf5",
     "locked": "none",
     "template": null,
     "showImagePreview": false,
     "imagePreviewWidth": null,
     "imagePreviewHeight": null
   },
   {
     "extParamId": 69860,
     "defaultValue": null,
     "dataSource": null,
     "dataValueField": null,
     "dataTextField": null,
     "setOfElementsAsDataSource": false,
     "maxHeight": null,
     "isMultifile": false,
     "mask": "",
     "lookupParamSettingId": null,
     "smartExpressionId": null,
     "referencedExtParamId": null,
     "taskIdContextField": null,
     "mode": "Default",
     "msOfficeInteractionSettingId": null,
     "createSystemFileVersionsOnSignatureSign": false,
     "virtualColumnReferencedLookupColumnId": null,
     "virtualColumnReferencedExtParamId": null,
     "isVirtual": false,
     "referencedExtParamNumberSettings": null,
     "referencedExtParamLookupSettings": null,
     "buttons": null,
     "winAppLinks": false,
     "defaultValueSmartExpressionId": null,
     "importEnabled": false,
     "exportEnabled": false,
     "allowScanning": false,
     "referencedExtParamSelectUserSettings": null,
     "selectUsersDefaultValue": null,
     "defaultSort": 0,
     "showEdsIcon": false,
     "showInputPicIcon": false,
     "id": 17731,
     "name": "Место жительства",
     "orderId": 5,
     "columnType": "Text",
     "align": 1,
     "columnWidth": 0,
     "enableTotal": false,
     "guid": "2dc982b4-43ba-ec11-a446-005056822fbb",
     "locked": "none",
     "template": null,
     "showImagePreview": false,
     "imagePreviewWidth": null,
     "imagePreviewHeight": null
   },
   {
     "extParamId": 69860,
     "defaultValue": null,
     "dataSource": null,
     "dataValueField": null,
     "dataTextField": null,
     "setOfElementsAsDataSource": false,
     "maxHeight": null,
     "isMultifile": false,
     "mask": "",
     "lookupParamSettingId": null,
     "smartExpressionId": null,
     "referencedExtParamId": null,
     "taskIdContextField": null,
     "mode": "Required",
     "msOfficeInteractionSettingId": null,
     "createSystemFileVersionsOnSignatureSign": false,
     "virtualColumnReferencedLookupColumnId": null,
     "virtualColumnReferencedExtParamId": null,
     "isVirtual": false,
     "referencedExtParamNumberSettings": null,
     "referencedExtParamLookupSettings": null,
     "buttons": null,
     "winAppLinks": false,
     "defaultValueSmartExpressionId": null,
     "importEnabled": false,
     "exportEnabled": false,
     "allowScanning": false,
     "referencedExtParamSelectUserSettings": null,
     "selectUsersDefaultValue": null,
     "defaultSort": 0,
     "showEdsIcon": false,
     "showInputPicIcon": false,
     "id": 17741,
     "name": "Телефон",
     "orderId": 6,
     "columnType": "Text",
     "align": 1,
     "columnWidth": 0,
     "enableTotal": false,
     "guid": "991438bb-43ba-ec11-a446-005056822fbb",
     "locked": "none",
     "template": null,
     "showImagePreview": false,
     "imagePreviewWidth": null,
     "imagePreviewHeight": null
   }
 \,  "tableMultiselectColumnsSettings": null,  "columnDependencies": [\,]  "exportEnabled": false,  "importEnabled": false,  "readonly": false,  "canAddNewRows": true,  "canRemoveRows": true,  "canFilterRows": false,  "dontCopySourceTaskValue": false } GET /app/v1.2/api/admin/extparams/table/{tableExtParamId}/columns/{columnId}:

Получить указанный столбец таблицы.

Параметр

Формат

Описание

tableExtParamId

integer

Идентификатор таблицы

columnId

integer

Идентификатор столбца

Пример результата:

{
 "id": 17651,
 "extParamId": 69860,
 "name": "ФИО",
 "localizedNameId": null,
 "orderID": 2,
 "type": "Text",
 "dataSource": null,
 "dataValueField": null,
 "dataTextField": null,
 "mask": "",
 "guid": "c10ba166-acb9-ec11-a447-00505682abf5",
 "defaultValue": null,
 "defaultSort": "None",
 "setOfElementsAsDataSource": false,
 "lookupParamSettingID": null,
 "modeID": "Required",
 "enableTotal": false,
 "align": 1,
 "smartExpressionId": null,
 "columnWidth": 0,
 "referencedExtParamId": null,
 "taskIdContextField": null,
 "msOfficeInteractionSettingId": null,
 "createSystemFileVersionsOnSignatureSign": false,
 "virtualColumnReferencedLookupColumnId": null,
 "virtualColumnReferencedExtParamId": null,
 "usedInMultiselect": false,
 "multiselectWidth": null,
 "multiselectOrder": null,
 "multiselectLocked": "none",
 "locked": "none",
 "template": null,
 "showImagePreview": false,
 "isMultifile": false,
 "imagePreviewWidth": null,
 "imagePreviewHeight": null,
 "defaultValueSmartExpressionId": null,
 "maxHeight": null,
 "importEnabled": false,
 "exportEnabled": false,
 "allowScanning": false,
 "showEdsIcon": false,
 "showInputPicIcon": false,
 "extParam": null,
 "extParamsVirtualColumnReferencedExtParamId": null,
 "extParamTableCommonSettings": null,
 "extParamTableOptions": null,
 "extParamTableSettingsInSubcatColumnIds": null,
 "extParamTableSettingsInSubcatGroupPermissionsColumnIds": null,
 "extParamTableSettingsInSubcatStatePermissionsColumnIds": null,
 "extParamTableValues": null,
 "fileStorageFileToExtParamLinksTableColumnIDs": null,
 "virtualColumnReferencedLookupColumn": null,
 "virtualColumnReferencedLookupColumns": null,
 "referencedExtParam": null,
 "lookupParamSetting": null,
 "actionButtons": null,
 "msOfficeInteractionSetting": null,
 "subcategorySpecialTemplateSettings": null,
 "defaultValueSmartExpression": null,
 "taskUniversalTemplateSettings": null,
 "smartExpression": null,
 "extParamSelectUsersValues": null,
 "extParamSelectUsersValuesGroups": null,
 "extParamSelectUsersValuesOrgUnits": null,
 "localizedName": null
}
POST /app/v1.2/api/task/{taskId}/ep/table/{tableId}/update:

Обновление данных в ДП Таблица

Параметр

Формат

Описание

rows

array

Массив объектов

id

integer

Идентификатор строки

modifyType

string

Тип операции со строкой \'create\', \'update\', \'delete\'\

cols

array

Массив объектов с id колонки и значением

Пример:

{
 "rows": [
   {
     "id": 0,
     "modifyType": "create",
     "cols": 
       {
         "id": 0,
         "value": "string",
         "dataSourceItemId": "string"
       }

   }
 ] } POST /app/v1.2/api/admin/extparams/table/{tableExtParamId}/columns/add:

Добавить указанный столбец таблицы

Параметр

Формат

Описание

tableExtParamId

integer

Идентификатор таблицы

columnSetting

array

Настройки столбца

Пример columnSetting:

{
   "id": 123,
   "extParamId": 4567,
   "name": "Текст",
   "localizedNameId": null,
   "orderID": 1,
   "type": "Text",
   "dataSource": null,
   "dataValueField": null,
   "dataTextField": null,
   "mask": "",
   "guid": "HTJHJJKWHKWUYWKJD",
   "defaultValue": null,
   "defaultSort": null,
   "setOfElementsAsDataSource": false,
   "lookupParamSettingID": null,
   "modeID": "Default",
   "enableTotal": false,
   "align": 1,
   "smartExpressionId": null,
   "columnWidth": 0,
   "referencedExtParamId": null,
   "taskIdContextField": null,
   "msOfficeInteractionSettingId": null,
   "createSystemFileVersionsOnSignatureSign": false,
   "virtualColumnReferencedLookupColumnId": null,
   "virtualColumnReferencedExtParamId": null,
   "usedInMultiselect": false,
   "multiselectWidth": null,
   "multiselectOrder": null,
   "multiselectLocked": "none",
   "locked": "none",
   "template": null,
   "showImagePreview": false,
   "imagePreviewWidth": null,
   "imagePreviewHeight": null,
   "defaultValueSmartExpressionId": null,
   "maxHeight": null,
   "importEnabled": false,
   "exportEnabled": false,
   "allowScanning": false,
   "extParam": null,
   "extParamsVirtualColumnReferencedExtParamId": null,
   "extParamTableCommonSettings": null,
   "extParamTableOptions": null,
   "extParamTableSettingsInSubcatColumnIds": null,
   "extParamTableSettingsInSubcatGroupPermissionsColumnIds": null,
   "extParamTableSettingsInSubcatStatePermissionsColumnIds": null,
   "extParamTableValues": null,
   "fileStorageFileToExtParamLinksTableColumnIDs": null,
   "virtualColumnReferencedLookupColumn": null,
   "virtualColumnReferencedLookupColumns": null,
   "referencedExtParam": null,
   "lookupParamSetting": null,
   "actionButtons": null,
   "msOfficeInteractionSetting": null,
   "subcategorySpecialTemplateSettings": null,
   "defaultValueSmartExpression": null,
   "taskUniversalTemplateSettings": null,
   "smartExpression": null,
   "extParamSelectUsersValues": null,
   "extParamSelectUsersValuesGroups": null,
   "extParamSelectUsersValuesOrgUnits": null,
   "localizedName": null
}
POST /app/v1.2/api/admin/extparams/table/{tableExtParamId}/columns/edit:

Редактировать указанный столбец таблицы

Параметр

Формат

Описание

tableExtParamId

integer

Идентификатор таблицы

columnId

integer

Идентификатор столбца

columnSetting

array

Настройки столбца

Пример columnSetting:

{
   "id": 123,
   "extParamId": 4567,
   "name": "Текст",
   "localizedNameId": null,
   "orderID": 1,
   "type": "Text",
   "dataSource": null,
   "dataValueField": null,
   "dataTextField": null,
   "mask": "",
   "guid": "HTJHJJKWHKWUYWKJD",
   "defaultValue": null,
   "defaultSort": null,
   "setOfElementsAsDataSource": false,
   "lookupParamSettingID": null,
   "modeID": "Default",
   "enableTotal": false,
   "align": 1,
   "smartExpressionId": null,
   "columnWidth": 0,
   "referencedExtParamId": null,
   "taskIdContextField": null,
   "msOfficeInteractionSettingId": null,
   "createSystemFileVersionsOnSignatureSign": false,
   "virtualColumnReferencedLookupColumnId": null,
   "virtualColumnReferencedExtParamId": null,
   "usedInMultiselect": false,
   "multiselectWidth": null,
   "multiselectOrder": null,
   "multiselectLocked": "none",
   "locked": "none",
   "template": null,
   "showImagePreview": false,
   "imagePreviewWidth": null,
   "imagePreviewHeight": null,
   "defaultValueSmartExpressionId": null,
   "maxHeight": null,
   "importEnabled": false,
   "exportEnabled": false,
   "allowScanning": false,
   "extParam": null,
   "extParamsVirtualColumnReferencedExtParamId": null,
   "extParamTableCommonSettings": null,
   "extParamTableOptions": null,
   "extParamTableSettingsInSubcatColumnIds": null,
   "extParamTableSettingsInSubcatGroupPermissionsColumnIds": null,
   "extParamTableSettingsInSubcatStatePermissionsColumnIds": null,
   "extParamTableValues": null,
   "fileStorageFileToExtParamLinksTableColumnIDs": null,
   "virtualColumnReferencedLookupColumn": null,
   "virtualColumnReferencedLookupColumns": null,
   "referencedExtParam": null,
   "lookupParamSetting": null,
   "actionButtons": null,
   "msOfficeInteractionSetting": null,
   "subcategorySpecialTemplateSettings": null,
   "defaultValueSmartExpression": null,
   "taskUniversalTemplateSettings": null,
   "smartExpression": null,
   "extParamSelectUsersValues": null,
   "extParamSelectUsersValuesGroups": null,
   "extParamSelectUsersValuesOrgUnits": null,
   "localizedName": null
}
POST /app/v1.2/api/admin/extparams/table/{tableExtParamId}/columns/delete:

Редактировать указанный столбец таблицы

Параметр

Формат

Описание

tableExtParamId

integer

Идентификатор таблицы

columnId

integer

Идентификатор столбца

Избранное

GET /api/history/tasks:

Удалить папку из избранного

Параметр

Формат

Описание

folderId

integer

Идентификатор папки

POST /api/favorite/addLink:

Добавить ссылку в Избранное

Параметр

Формат

Описание

link

string

Ссылка

name

string

Название

isJsFunction

boolean

JS функция

customImagePath

string

Путь к изображению

customImageClass

string

Название класса изображения

type

string

Тип ссылки. Варианты значений: \'None\', \'Subcategory\', \'Category\', \'Task\', \'SearchReport\', \'NewTaskInSubcat\', \'Report\', \'User\', \'Comment\', \'MailFolder\', \'SummaryCategory\', \'SearchMailFolder\', \'PortalGrid\', \'PublicLink\', \'SmartSearch\'\

linkedObjectId

integer

Идентификатор связанного объекта

folderId

integer

Идентификатор папки избранного

[Пример](../

{
 "link": "https:/www.google.com/",
 "name": "Google",
 "isJsFunction": true,
 "customImagePath": "string",
 "customImageClass": "string",
 "type": "None",
 "linkedObjectId": 0,
 "folderId": null
}
POST /api/favorite/addFolder:

Добавить папку в Избранное

Параметр

Формат

Описание

name

string

Название папки

parentId

integer

Идентификатор родительской папки

Пример:

{
 "name": "Documents",
 "parentId": null
}
POST /api/favorite/moveLink:

Переместить ссылку в папку

Параметр

Формат

Описание

linkId

integer

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

folderId

integer

Идентификатор папки

groupId

integer

Идентификатор группы

[Пример](

{
 "linkId": 123,
 "folderId": 345,
 "groupId": null
}
POST /api/favorite/shareLink:

Поделиться ссылкой

Параметр

Формат

Описание

linkId

integer

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

userIds

array

Список пользователей-получателей ссылки

[Пример](

{  "linkId": 123,  "userIds": /   111, 112  / } POST /api/favorite/renameLink:

Переименовать ссылку

Параметр

Формат

Описание

linkId

integer

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

newName

string

Новое наименование ссылки

[Пример](

{
 "linkId": 123,
 "newName": "Rename"
}
POST /api/favorite/renameFolder:

Переименовать папку

Параметр

Формат

Описание

linkId

integer

Идентификатор папки

newName

string

Новое наименование папки

[Пример](

{
 "linkId": 123,
 "newName": "Rename"
}
POST /api/favorite/updateIcon:

Обновить иконку

Параметр

Формат

Описание

linkId

integer

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

customImageClass

string

Класс изображения

[Пример](

{
 "linkId": {{linkPost}},
 "customImageClass": "fa-home"
}
POST /api/favorite/deleteLink:

Удалить ссылку из избранного

Параметр

Формат

Описание

linkId

integer

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

Индикаторы

GET /api/tickers/all:

Получить все тикеры [Пример результата]( {

"data": {

"systemTickers": {

"assistantUsers": [\,]

"availableTypes": \

"Unread",

"Milestones",

"Overdue",

"Signatures",

"Question",

"FavoriteComments"

\,

"unreadCommentsCount": 0,

"questionsCount": 0,

"overDueTasksCount": 0,

"signaturesCount": 0,

"directorSignaturesCount": 0,

"overdueSigns": 0,

"missedCalls": 0,

"milestones": 0,

"myQuestionsCount": 0,

"unreadChatCommentsCount": 0,

"badge": 0,

"allTasksUserOwns": 31,

"allTasksUserPerforms": 14,

"favoriteComments": 1,

"allNewTasksUserPerforms": 2,

"allNewTasksUserOwns": 25

},

   "customTickers": 

     {

       "iconSet": "material",

       "iconFromSet": "vh-calendar-24",

       "iconCss": "smallTickerBubble",

       "url": "/spa/calendar-events",

       "type": "custom",

       "clickAction": "openLink",

       "color": "blue",

       "value": 0,

       "gridUrl": "/spa/calendar-events",

       "name": "Календарные события",

       "id": 113

     },

     {

       "iconSet": "material",

       "iconFromSet": "alarm",

       "iconCss": "",

       "url": "/NewCustomGrid.aspx?TickerID=333",

       "type": "custom",

       "clickAction": "openTasksList",

       "color": "red",

       "value": 0,

       "gridUrl": "/NewCustomGrid.aspx?TickerID=333",

       "name": "Просроченные задачи без исполнителя",

       "id": 83

     }

\,

"customAssistantTickers": [\,]

"systemTickersNames": {

"unreadCommentsCount": "Непрочитанные комментарии",

"questionsCount": "Вопросы мне",

"overDueTasksCount": "Просроченные задачи",

"signaturesCount": "Ожидающие вашей подписи",

"directorSignaturesCount": "Ожидающие вашей подписи",

"overdueSigns": "Просроченные задачи",

"missedCalls": "Пропущенные вызовы",

"myQuestionsCount": "Мои вопросы",

"unreadChatCommentsCount": "Чаты",

"badge": "Непрочитанные комментарии",

"favoriteComments": "Избранные комментарии"

}

}

} GET /api/tickers/custom:

Получить кастомные тикеры [Пример результата](

{

 "data": 

   {

     "iconSet": "material",

     "iconFromSet": "vh-calendar-24",

     "iconCss": "smallTickerBubble",

     "url": "/spa/calendar-events",

     "type": "custom",

     "clickAction": "openLink",

     "color": "blue",

     "value": 0,

     "gridUrl": "/spa/calendar-events",

     "name": "Календарные события",

     "id": 113

   },

   {

     "iconSet": "material",

     "iconFromSet": "alarm",

     "iconCss": "",

     "url": "/NewCustomGrid.aspx?TickerID=333",

     "type": "custom",

     "clickAction": "openTasksList",

     "color": "red",

     "value": 0,

     "gridUrl": "/NewCustomGrid.aspx?TickerID=333",

     "name": "Просроченные задачи без исполнителя",

     "id": 83

   }



}
GET /api/tickers/system:

Получить системные тикеры [Пример результата](

{

 "data": {

   "assistantUsers": []{.f_CodeExample style="font-size: 0.82rem;"}

   "availableTypes": 

     "Unread",

     "Milestones",

     "Overdue",

     "Signatures",

     "Question",

     "FavoriteComments"

   \,{.f_CodeExample style="font-size: 0.82rem;"}

   "unreadCommentsCount": 0,

   "questionsCount": 0,

   "overDueTasksCount": 0,

   "signaturesCount": 0,

   "directorSignaturesCount": 0,

   "overdueSigns": 0,

   "missedCalls": 0,

   "milestones": 0,

   "myQuestionsCount": 0,

   "unreadChatCommentsCount": 0,

   "badge": 0,

   "allTasksUserOwns": 31,

   "allTasksUserPerforms": 14,

   "favoriteComments": 1,

   "allNewTasksUserPerforms": 2,

   "allNewTasksUserOwns": 25

 }

}
GET /api/tickers/systemNames:

Получить имена системных тикеров [Пример результата](

{

 "data": {

   "unreadCommentsCount": "Непрочитанные комментарии",

   "questionsCount": "Вопросы мне",

   "overDueTasksCount": "Просроченные задачи",

   "signaturesCount": "Ожидающие вашей подписи",

   "directorSignaturesCount": "Ожидающие вашей подписи",

   "overdueSigns": "Просроченные задачи",

   "missedCalls": "Пропущенные вызовы",

   "myQuestionsCount": "Мои вопросы",

   "unreadChatCommentsCount": "Чаты",

   "badge": "Непрочитанные комментарии",

   "favoriteComments": "Избранные комментарии"

 }

}
История

GET /api/history/tasks:

Получить сотрудников (группа + сотрудники)

Параметр

Формат

Описание

count

integer

Количество

Пример результата:

{
 "data": [
   {
     "id": 1234,
     "isTask": true,
     "key": "1232003",
     "name": "Задача",
     "avatarSubscribers": [
       {
         "userId": 111,
         "userName": "Герасимов Сергей",
         "isLastOnlineFromMobileApp": false,
         "lastOnlineTime": "2023-01-17T12:57:32",
         "lastPersonalInfoUpdateTime": "2022-11-17T14:38:00",
         "gender": 0,
         "birthDate": "28.11.1991",
         "birthDaySoon": false,
         "hasAvatar": true,
         "userAvatarFile": {
           "fileId": 2222,
           "latestVersionId": 1
         },
         "absences": []
         "isEmployee": true,
         "isFired": false,
         "displayName": "Герасимов Сергей"
       },
       {
         "userId": 112,
         "userName": "Иванов Иван",
         "isLastOnlineFromMobileApp": false,
         "lastOnlineTime": "2023-01-17T12:54:02",
         "lastPersonalInfoUpdateTime": "2023-01-13T14:55:00",
         "gender": 0,
         "birthDate": "10.10.1999",
         "birthDaySoon": false,
         "hasAvatar": true,
         "userAvatarFile": {
           "fileId": 1111,
           "latestVersionId": 1
         },
         "absences": []
         "isEmployee": true,
         "isFired": false,
         "displayName": "Иванов Иван"
       }
     \,]      "hasAvatar": false    }  ] } GET /api/history/employees:

Получить сотрудников (группа + сотрудники)

Параметр

Формат

Описание

groupsCount

integer

Количество групп

coworkersCount

integer

Количество сотрудников

Пример результата:

{  "data": [    {      "lastOnlineTime": null,      "id": 111,      "isGroup": true,      "name": "1Форма",      "isOnline": null,      "userStatus": null,      "hasAvatar": false,      "userAvatarFile": null,      "gender": 0,      "isEmployee": false    },    {      "lastOnlineTime": "2023-01-17T13:52:38",      "id": 123,      "isGroup": false,      "name": "Иванов Иван",      "isOnline": false,      "userStatus": {        "isOnline": false,        "state": \          "None"        \,        "absences": [\,]        "id": 8323      },      "hasAvatar": true,      "userAvatarFile": {        "fileId": 3333,        "latestVersionId": 1      },      "gender": 1,      "isEmployee": true    }  ] } Календарь

GET /api/calendar/userConfig:

Получить используемого провайдера по умолчанию

Параметр

Формат

Описание

providerName

string

Наименование провайдера

enableRecurrence

boolean

Включить повторения

Пример:

{
 "providerName": "ews",
 "enableRecurrence": true
}
GET /api/calendar/get:

Получить карточку встречи

Параметр

Формат

Описание

key

string

Ключ встречи

GET /api/calendar/attachment:

Получить вложения встречи

Параметр

Формат

Описание

key

string

Ключ вложения. Его можно получить через get/update/create.

GET /api/calendar/all-attachments:

Получить все вложения встречи

Параметр

Формат

Описание

key

string

Ключ встречи

api/calendar/all-attachments?key={meetingKey}

GET /api/calendar/permissions:

Проверка прав на почтовый ящик

Параметр

Формат

Описание

toUserId

integer

Идентификатор пользователя, права которого необходимо проверить.

/api/calendar/permissions?toUserId=123

fromUserId

integer

Идентификатор пользователя, права к которому необходимо проверить. Позволяет осуществить проверку прав от одного пользователя к другому:

/api/calendar/permissions?toUserId=123&fromUserId=456

noCache

boolean

Сброс кеша. Значение по умолчанию: false

Пример результата:

{    "provider": "VirtualAppointmentsCalendarProvider",    "canCreateItems": true,    "readItems": "FullDetails",    "deleteItems": "All",    "editItems": "All",    "areNeighbours": false,    "usedServiceOfUserId": 0  },  {    "provider": "VirtualTaskRecurrenceCalendarProvider",    "canCreateItems": true,    "readItems": "FullDetails",    "deleteItems": "All",    "editItems": "All",    "areNeighbours": false,    "usedServiceOfUserId": 0  },  {    "provider": "1forma",    "canCreateItems": true,    "readItems": "FullDetails",    "deleteItems": "All",    "editItems": "All",    "areNeighbours": false,    "usedServiceOfUserId": 0  },  {    "provider": "ews",    "canCreateItems": true,    "readItems": "FullDetails",    "deleteItems": "All",    "editItems": "All",    "areNeighbours": false,    "usedServiceOfUserId": 1234  } GET /api/calendar/resolveName:

Поиск пользователей по email

Параметр

Формат

Описание

name

string

Email-адрес

contextMeetingKey

string

Ключ встречи

Пример результата:

{    "id": 0,    "key": null,    "displayName": "User",    "routingType": null,    "type": "Unknown",    "userId": 123,    "email": "test\@1forma.ru",    "hasAvatar": false,    "userAvatarFile": null  },  {    "id": 0,    "key": null,    "displayName": "User2",    "routingType": null,    "type": "Unknown",    "userId": 456,    "email": "testcompany\@1forma.company",    "hasAvatar": false,    "userAvatarFile": null  },  {    "id": 0,    "key": null,    "displayName": "User3",    "routingType": null,    "type": "Unknown",    "userId": 789,    "email": "testtt\@1forma.ru",    "hasAvatar": false,    "userAvatarFile": null  },  {    "id": 0,    "key": null,    "displayName": "User4",    "routingType": null,    "type": "Unknown",    "userId": 101,    "email": "test1\@1forma.ru",    "hasAvatar": false,    "userAvatarFile": null  },  {    "id": 0,    "key": null,    "displayName": "User5",    "routingType": null,    "type": "User",    "userId": 102,    "email": "test2\@1forma.ru",    "hasAvatar": false,    "userAvatarFile": null  } GET /api/calendar/events:

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

Параметр

Формат

Описание

from

datetime

Начало периода

to

datetime

Окончание периода

calendarOwnerUserId

integer

Календарь пользователя. По умолчанию сессионного.

taskId

integer

Идентификатор задачи

Пример результата:

[  {    "title": "Совещание",    "start": "2023-07-11T10:00:00",    "end": "2023-07-11T11:00:00",    "location": "https://video.1forma.ru/task1234567",    "backgroundColor": "#DEEAFF",    "textColor": "#192880",    "appointmentType": "Occurrence",    "taskId": 0,    "actions": [\,]    "state": "MeetingReceivedCanceled",    "isCanceled": true,    "isAllDayEvent": false,    "freeBusyState": "Free",    "myResponseType": "NoResponseReceived",    "hasAttachments": false,    "organizer": {      "id": 0,      "key": null,      "displayName": "Иванов Иван",      "routingType": null,      "type": "User",      "userId": 1234,      "email": "ivanov\@1forma.ru",      "hasAvatar": true,      "userAvatarFile": {        "fileId": 1512829,        "latestVersionId": 1      }    },    "onlyStatus": false,    "key": "ews:28694:AAMkAGU0MzkyODFmLWI3NWEtNGU5Yy05MTA1LTgyZjM1M2E1NTNjMQ4FRAAgI24GhxSBAAEYAAAAAaOz/po0gmEKkV+oA4c0YtwcA0ibBHMew80+8fdyU2U93NgAAAABDQAA40ibBHMew80+8fdyU293NgABXXCcTwAAEA==",    "attachments": null,    "masterKey": null  },  {    "title": "Вебинар",    "start": "2023-07-11T11:00:00",    "end": "2023-07-11T13:00:00",    "location": "https://events.webinar.ru/123/4567",    "backgroundColor": "#DEEAFF",    "textColor": "#192880",    "appointmentType": "Single",    "taskId": 0,    "actions": \      "Accept",      "AcceptTentatively",      "AcceptTentativeWithNewTime",      "Decline",      "DeclineWithNewTime"    \,    "state": "MeetingReceived",    "isCanceled": false,    "isAllDayEvent": false,    "freeBusyState": "Busy",    "myResponseType": "Accept",    "hasAttachments": false,    "organizer": {      "id": 0,      "key": null,      "displayName": "Иванов Иван",      "routingType": null,      "type": "User",      "userId": 1234,      "email": "ivanov\@1forma.ru",      "hasAvatar": true,      "userAvatarFile": {        "fileId": 1359502,        "latestVersionId": 1      }    },    "onlyStatus": false,    "key": "ews:28694:AAMkAGU0MzkyODFmLWI3NWEtNGU5Yy05MTA1LgyZjM1M2E1NTNjMQBGAAAAAABo7P+mjSCYQqRX6gDhzRi3BwDSJsEcx7DzT7x93JTZT3c2AAAAAAENAADSJsEcx7D32T7x93JTZT3c2AAGKKfj7AAA=",    "attachments": null,  } ] Значения freeBusyState:

  • "Free" ="Свободен"

  • "Busy" = "Занят"

  • "Tentative" = "Под вопросом"

  • "OOF" = "Нет на месте"

  • "WorkingElsewhere"= "Работаю в другом месте"

GET /app/v1.2/api/calendar/nonworkingdays:

Возвращает все нерабочие дни производственного календаря (как праздничные, так и выходные) в диапазоне "от" и "до" включительно.

Параметр

Формат

Описание

from

datetime

Дата начала

to

datetime

Дата окончания

Пример результата:

"2022-12-03T00:00:00",  "2022-12-04T00:00:00",  "2022-12-10T00:00:00",  "2022-12-11T00:00:00",  "2022-12-17T00:00:00",  "2022-12-18T00:00:00",  "2022-12-24T00:00:00",  "2022-12-25T00:00:00" GET /app/v1.2/api/calendar/menuItems:

Возвращает элементы всплывающего меню календаря

Параметр

Формат

Описание

subcatId

integer

Идентификатор календарной категории

take

integer

Сколько занимают категории календаря (по умолчанию 20)

Пример результата:

{
 "data": 
   {
     "value": "CalendarApp",
     "name": "Создать"
   }
 \{.f_CodeExample style="font-weight: bold;"}
}
GET /app/v1.2/api/calendar/nonworkingdaysandpreholidays:

Возвращает все нерабочие дни из производственного календаря (праздничные, выходные и предпраздничные дни) в диапазоне "от" и "до" включительно

Параметр

Формат

Описание

year

integer

Год

from

datetime

Дата начала

to

datetime

Дата окончания

Пример результата:

[\

 {
   {
   "date": "2022-12-24T00:00:00",
   "isHoliday": true,
   "isPreHoliday": false
 },
 {
   "date": "2022-12-25T00:00:00",
   "isHoliday": true,
   "isPreHoliday": false
 },
 {
   "date": "2022-12-31T00:00:00",
   "isHoliday": true,
   "isPreHoliday": false
 }
]{.f_CodeExample style="font-weight: bold;"} POST /api/calendar/action:

Прочтение сообщения о календарном событии

Параметр

Формат

Описание

key

string

Ключ встречи

action

string

Действие

args

object

"args": {

"additionalProp1": [

"string"

\,]

"additionalProp2": [

"string"

\,]

"additionalProp3": [

"string"

]

}

Пример:

{
 "key": "ews:28694:AAMkAGU0MzkyODFmLWI3NWEtNGU5Yy05MTA1LTgyZjM1M2E1NTNjMQBGAAAAAABo7P+mjSCYQqRX6gDhzRi3BwDSJsEcx7DzT7x93JTZT3c2AAAAAAENAADSJsEcx7DzT7x93JTZT3c2AAGKKfj7AAA=",
 "action": "Read"
}
POST /api/calendar/messages:

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

Параметр

Формат

Описание

dateFrom

string

Начало диапазона

dateTo

string

Окончание диапазона

limit

integer

Размер страницы

offset

integer

Количество пропускаемых элементов при генерации страницы

meetingKey

string

Ключ встречи

Пример:

{
 "dateFrom": "2023-07-11T09:42:35.502Z",
 "dateTo": "2023-07-12T09:42:35.502Z",
 "limit": 10,
 "offset": 50,
 "meetingKey": "ews:28694:AAMkAGU0MzkyODFmLWI3NWEtNGU5Yy05MTA1LTgyZjM1M2E1NTNjMQBGAAAAAABo7P+mjSCYQqRX6gDhzRi3BwDSJsEcx7DzT7x93JTZT3c2AAAAAAENAADSJsEcx7DzT7x93JTZT3c2AAGKKfj7AAA="
}
POST /api/calendar/messages/unread/count:

Количество непрочитанных сообщений о календарных событиях в диапазоне

Параметр

Формат

Описание

dateFrom

string

Начало диапазона

dateTo

string

Окончание диапазона

Пример:

{
 "dateFrom": "2023-07-11T09:42:35.502Z",
 "dateTo": "2023-07-12T09:42:35.502Z"
}
POST /api/calendar/create:

Создать встречу

Параметр

Формат

Описание

calendarOwnerUserId

integer

Календарь пользователя. По умолчанию сессионного.

Пример:

{ "subject":"тест", ["requiredAttendees":\ {"userId":5144}, {"userId":28813} \,]{.f_CodeExample style="font-weight: bold;"} "start":"2023-07-12T13:00:00", "end":"2023-07-12T13:10:00", "isAllDayEvent":false, "location":"https://video.1forma.ru/user1234", "freeBusyState":"Busy", "linkedTaskId":1257513, "textBody":" ВКС Первая Форма\n Присоединиться на компьютере или в мобильном приложении \n \n Щелкните здесь, чтобы присоединиться к собранию\n",

"attachments": 
     {"fileId": 1547931},
     {"preUploadedFileId": 123456678890}
  \,{.f_CodeExample style="font-weight: bold;"}
"recurrence":null
}
Значения freeBusyState:

  • "Free" ="Свободен"

  • "Busy" = "Занят"

  • "Tentative" = "Под вопросом"

  • "OOF" = "Нет на месте"

  • "WorkingElsewhere"= "Работаю в другом месте"

POST /app/v1.2/api/calendar/isWorkingDateTime:

Раздельная проверка времени на вхождение в допустимый рабочий инервал и проверка даты на пересечение с выходными и праздниками

Параметр

Формат

Описание

timestamp

number

Интервал времени

performerId

integer

Идентификатор исполнителя

Пример:

{
"timestamp": 1630679041,
"performerId": 3
}
POST /api/calendar/messages:

Отображение календарных событий

Параметр

Формат

Описание

dateFrom

string

Начало периода

dateTo

string

Конец периода

limit

integer

Размер страницы

offset

integer

Количество пропускаемых элементов при генерации страницы

meetingKey

string

Ключ встречи

Пример:

{
 "dateFrom": "2023-01-18T10:19:40.996Z",
 "dateTo": "2023-01-18T10:19:40.996Z",
 "limit": 10,
 "offset": 50,
 "meetingKey": "12345"
}
DELETE /api/calendar/delete:

Удаление встречи

Параметр

Формат

Описание

key

string

Ключ встречи

PUT /api/calendar/update:

Внесение изменений в существующую встречу в календаре

Параметр

Формат

Описание

key

string

Ключ встречи

Пример:

{
"key":"ews:5144:AAMkADM59Dc1MGRjLTViZWMtNDVkZi05ZjdjLTdjODg4MzRiNTIyOABGAAAAAAC2IrZhhFuPRKYaA8UOavIZBwB9fKp/5kTvSJDnSteOIxH3AAAA9it5AACAbR3/sEnaRKf+xlXp0g14AAX4ZrcRAAA=",
"subject":"test",
"requiredAttendees":[]
"start":"2023-07-11T10:45:00",
"end":"2023-07-11T11:15:00",
"isAllDayEvent":false,
"location":"test",
"freeBusyState":"Tentative",
"linkedTaskId":null,
"textBody":null
}
Значения freeBusyState:

  • "Free" ="Свободен"

  • "Busy" = "Занят"

  • "Tentative" = "Под вопросом"

  • "OOF" = "Нет на месте"

  • "WorkingElsewhere"= "Работаю в другом месте"

Комментарии

GET /app/v1.2/api/mobile/comments/{commentId}/likedby:

Получение списка пользователей которые лайкнули комментарий

Параметр

Формат

Описание

commentId

integer

Идентификатор комментария

GET /api/comments/recipients/{commentId}/{searchInArchiveIfNotFound}:

Получить получателей комментария

Параметр

Формат

Описание

commentId

integer

Идентификатор комментария

searchInArchiveIfNotFound

boolean

Искать в архиве, если получатели не найдены

POST /api/comments/lenta:

Отображать ленту комментариев

Параметр

Формат

Описание

limit

integer

Размер страницы

offset

integer

Количество пропускаемых элементов при генерации страницы

subcatId

integer

Уникальный идентификатор категории

catId

integer

lentaCommTypes

array

Массив объектов

commentId

integer

Идентификаор комментария, от которого отображается лента

limitBefore

integer?

Количество комментариев до указанного комментария в параметре commentId. При одновременной передаче limitBefore и limitAfter без commentId включается anchor mode — сервер использует lastSeenCommentId пользователя как якорь. Если сохранённой позиции нет, загружаются последние комментарии.

limitAfter

integer?

Количество комментариев после указанного комментария в параметре commentId. См. описание limitBefore для anchor mode.

Пример:

{
 "limit": 10,
 "offset": 1,
 "subcatId": 111,
 "catId": null,
 "lentaCommTypes": \"0"\, {.f_CodeExample style="font-weight: bold;"}
 "commentId": 123,
 "limitBefore": 0,
 "limitAfter": 10
}

Поля ответа (anchor mode):

Поле

Формат

Описание

lastSeenCommentId

integer?

ID последнего просмотренного комментария пользователя. null — пользователь открывает ленту впервые или запрос не в anchor mode.

hasMoreBefore

boolean?

Есть ли комментарии выше якоря (не вошедшие в ответ). null если запрос не в anchor mode.

hasMoreAfter

boolean?

Есть ли комментарии ниже якоря (не вошедшие в ответ). null если запрос не в anchor mode.

POST /api/comments/add:

Оставить комментарий

Параметр

Формат

Описание

taskId

integer

Номер задачи, в которой необходимо отправить комментарий

commentText

string

Текст комментария

recipientIds

array

Список идентификаторов (ID) получателей комментария

copyRecipientsIds

array

Список идентификаторов (ID) получателей копии комментария

inReplyToCommentId

integer

Идентификатор комментария, в ответ на который написан текущий комментарий

fileIds

array

Массив объектов

isChat

boolean

Комментарий в чате

needsAnswer

boolean

Пометить комментарий как вопрос

guid

string

Comments.GUID

Пример:

{  "taskId": 1234,  "commentText": "comment",  "recipientIds": \    1, 2  \,{.f_CodeExample style="font-weight: bold;"}

 "copyRecipientsIds": 
 \,{.f_CodeExample style="font-weight: bold;"}
 "inReplyToCommentId": null,
 "fileIds": 

 \,{.f_CodeExample style="font-weight: bold;"}
 "isChat": false,
 "needsAnswer": false,
 "guid": "KJHiuhiuehjIU"
}
POST /api/comments/delete:

Удалить комментарии

Параметр

Формат

Описание

ids

array

Массив идентификаторов комментариев, которые нужно удалить

Пример:

{  "ids": \    111, 112, 113  {.f_CodeExample style="font-weight: bold;"} } POST /api/comments/previous-task-comments:

Отображать предыдущие комментарии в задаче

Параметр

Формат

Описание

taskId

integer

Номер задачи

maxCommentId

integer

Идентификатор комментария

maxCommentsToReturn

integer

Количество предыдущих комментариев для отображения

Пример:

{
 "taskId": 123,
 "maxCommentId": 111,
 "maxCommentsToReturn": 10
}
POST /api/comments/mark-as-question/{commentId}:

Отметить комментарий как вопрос

Параметр

Формат

Описание

commentId

integer

Уникальный идентификатор комментария, которой необходимо отметить как вопрос

POST /api/comments/mark-comments-as-read:

Отметить комментарий как прочитанный

Параметр

Формат

Описание

commentIds

integer

Уникальный идентификатор комментария, которой необходимо отметить прочитанным

POST /api/comments/mark-as-not-my-question/{commentId}:

Отметить комментарий как "Вопрос не мне"

Параметр

Формат

Описание

commentId

integer

Уникальный идентификатор комментария, которой необходимо отметить как "Вопрос не мне"

POST /api/comments/mark-as-answered:

Отметить вопрос как отвеченный

Параметр

Формат

Описание

commentId

integer

Уникальный идентификатор пользователя

commentText

string

Текст ответа на вопрос

isForAll

boolean

Вопрос отвечен для всех

Пример:

{
 "commentId": 123,
 "commentText": "Ответ на вопрос",
 "isForAll": true
}

PUT /api/comments/last-seen:

Сохранить позицию скролла пользователя в ленте комментариев. При повторном открытии задачи лента будет загружена с сохранённой позиции.

Параметр

Формат

Описание

taskId

integer

Номер задачи (обязательный)

lastSeenCommentId

integer

ID последнего просмотренного комментария (обязательный)

threadCommentId

integer?

ID комментария-треда. null = основная лента.

Ответ: 204 No Content. 403 — нет доступа к задаче.

Пример:

{
 "taskId": 1234,
 "lastSeenCommentId": 5678,
 "threadCommentId": null
}
POST /app/v1.2/api/mobile/comments/{commentId}/edit:

Обновление текста комментария

Параметр

Формат

Описание

commentId

integer

Уникальный идентификатор пользователя

text

string

Текст комментария

Пример:

{
 "text": "Комментарий изменен  + {{TodayDateFromPost}} "
}
POST /app/v1.2/api/mobile/comments/{commentId}/like:

Поставить лайк комментарию

Параметр

Формат

Описание

commentId

integer

Уникальный идентификатор комментария

likesCount

integer

Количество лайков

isLikedByCurrentUser

boolean

Лайкт от текущего пользователя

canBeLiked

boolean

Комментарий, которому можно поставить лайк

Пример:

{
 "likesCount": 2,
 "isLikedByCurrentUser": false,
 "canBeLiked": true
}
POST /app/v1.2/api/mobile/comments/{commentId}/unlike:

Убрать лайк с комментария

Параметр

Формат

Описание

commentId

integer

Уникальный идентификатор комментария

likesCount

integer

Количество лайков

isLikedByCurrentUser

boolean

Лайкт от текущего пользователя

canBeLiked

boolean

Комментарий, которому можно поставить лайк

Пример:

{
 "likesCount": 2,
 "isLikedByCurrentUser": false,
 "canBeLiked": true
}
POST /api/tasks/set-color:

Добавить комментарий в избранное

Параметр

Формат

Описание

commentId

integer

Идентификатор комментария, который необходимо добавить в избранное

color

string

Цвет текста комментария после добавления в избранное

Пример:

{
 "commentId": 123,
 "color": "\#FF3333"
}
Локализация

GET /api/languages:

Получить все используемые языки [Пример результата](../

{

 "data": 

   {

     "alias": "fr",

     "isDefault": false,

     "culture": "fr-FR",

     "code": "fr",

     "isInternational": false,

     "display": "Français(fr-FR)",

     "name": "Français",

     "id": 5

   },

   {

     "alias": "cn",

     "isDefault": false,

     "culture": "zh-CN",

     "code": "zh-Hans",

     "isInternational": false,

     "display": "简体中文(zh-CN)",

     "name": "简体中文",

     "id": 3

   },

   {

     "alias": "es",

     "isDefault": false,

     "culture": "es-ES",

     "code": "es",

     "isInternational": false,

     "display": "Español(es-ES)",

     "name": "Español",

     "id": 7

   },

   {

     "alias": "rus",

     "isDefault": true,

     "culture": "ru-RU",

     "code": "ru",

     "isInternational": false,

     "display": "Русский(ru-RU)",

     "name": "Русский",

     "id": 1

   },

   {

     "alias": "ja",

     "isDefault": false,

     "culture": "ja-JP",

     "code": "ja",

     "isInternational": false,

     "display": "日本語(ja-JP)",

     "name": "日本語",

     "id": 10

   },

   {

     "alias": "da",

     "isDefault": false,

     "culture": "da-DA",

     "code": "da",

     "isInternational": false,

     "display": "Dansk(da-DA)",

     "name": "Dansk",

     "id": 8

   },

   {

     "alias": "de",

     "isDefault": false,

     "culture": "de-DE",

     "code": "de",

     "isInternational": false,

     "display": "Deutsch(de-DE)",

     "name": "Deutsch",

     "id": 4

   },

   {

     "alias": "eng",

     "isDefault": false,

     "culture": "en-US",

     "code": "en",

     "isInternational": true,

     "display": "English(en-US)",

     "name": "English",

     "id": 2

   },

   {

     "alias": "it",

     "isDefault": false,

     "culture": "it-IT",

     "code": "it",

     "isInternational": false,

     "display": "Italiana(it-IT)",

     "name": "Italiana",

     "id": 6

   },

   {

     "alias": "pl",

     "isDefault": false,

     "culture": "pl-PL",

     "code": "pl",

     "isInternational": false,

     "display": "Polski(pl-PL)",

     "name": "Polski",

     "id": 9

   }



}
GET /api/languages/user:

Получить язык пользователя [Пример результата](../

{

 "data": {

   "alias": "string",

   "isDefault": true,

   "culture": "string",

   "code": "string",

   "isInternational": true,

   "display": "string",

   "name": "string",

   "id": 0

 },

 "errors": 

   {

     "errorType": "TestPurposes",

     "message": "string"

   }

 \{.f_CodeExample style="font-weight: bold;"}

}
GET /api/languages/default:

Получить системный язык по умолчанию [Пример результата](

{

 "data": {

   "alias": "rus",

   "isDefault": true,

   "culture": "ru-RU",

   "code": "ru",

   "isInternational": false,

   "display": "Русский(ru-RU)",

   "name": "Русский",

   "id": 1

 }

}
МП

GET /app/v1.2/api/mobile/tasks/{taskId}:

Отзыв подписей у задачи

Параметр

Формат

Описание

taskId

integer

Уникальный идентификатор задачи

includeToolbar

boolean

Отдавать панель инструментов задачи

POST /app/v1.2/api/mobile/tasks/{taskId}/pin:

Закрепить задачу как чат

Параметр

Формат

Описание

taskId

integer

Уникальный идентификатор задачи, которую нужно закрепить

POST /app/v1.2/api/mobile/tasks/{taskId}/unpin:

Открепить задачу от чата

Параметр

Формат

Описание

taskId

integer

Уникальный идентификатор задачи, которую нужно открепить

POST /api/mobile-app/settings/update:

Обновить настройки мобильных приложений пользователя

Параметр

Формат

Описание

notifInCallOnWorkPhone

boolean

Уведомлять о вызове

notifyUntilOpen

boolean

Уведомлять до открытия

showUserAvatars

boolean

Показывать аватары пользователей

twoStepsAuthenticatorNotificationType

string

Тип двухфакторной аутентификации. Примеры значений: \'None\', \'Sms\', \'Push\'\

Пример:

{
 "notifInCallOnWorkPhone": false,
 "notifyUntilOpen": false,
 "showUserAvatars": false,
 "twoStepsAuthenticatorNotificationType": "None"
}
POST /api/mobile-app/send-link-to-email:

Отправлять ссылку на мобильное приложение на почту

Параметр

Формат

Описание

email

string

Идентификатор комментария, который необходимо добавить в избранное

appType

string

Тип приложеня. Примеры значений: \'OneFChat\', \'AndroidOneFChat\', \'OneFChat_AppStore_1f\', \'DirectorsClub\', \'DirectorsClub_AppStore_1f\', \'iOSMobile_1\', \'iOSMobile_1_AppStore\', \'iOSMobile_2\', \'iOSMobile_2_AppStore\', \'iOSMobile_3\', \'iOSMobile_3_AppStore\', \'iOSMobile_4\', \'iOSMobile_4_AppStore\', \'iOSMobile_5\', \'iOSMobile_5_AppStore\', \'AnyClient\'\

Пример:

{
 "email": "mail@1forma.ru",
 "appType": "OneFChat"
}
Орг.структура

GET /api/org-structure/card:

Получить краткую карточку элемента орг.структуры

Параметр

Формат

Описание

orgUnitId

integer

Уникальный идентификатор элемента орг.структуры

Подписи

GET /api/signatures/dynamic/{signatureId}/acceptors:

Возвращает акцептантов запроса динамической подписи

Параметр

Формат

Описание

signatureId

integer

Динамическая подпись

taskId

integer

Задача, в которой запрашивается подпись

GET /api/signatures/dynamic:

Возвращает динамические подписи с настройками

Параметр

Формат

Описание

taskId

integer

Задача, в которой допустим запрос подписи (опционально). Если не указан — вернет все настроенные в системе динамические подписи

acceptantId

integer

Допустимый акцептант подписи (опционально). Если указан — возвращаются только подписи, где пользователь может быть акцептантом

GET /api/storage/signatures/{id}:

Получает совокупность подписей по идентификатору

Параметр

Формат

Описание

id

integer

Идентификатор подписи

GET /api/storage/signatures:

Получает совокупность подписей по диапазону

Параметр

Формат

Описание

skip

integer

Пропустить в порядке хранения

take

integer

Принять в порядок хранения

POST /api/signatures/dynamic/request:

Запросить динамическую подпись

Параметр

Формат

Описание

taskId

integer

Номер задачи

due

string

Срок подписи

reason

string

Причина запроса подписи

acceptors

array

Список акцептантов

signatureId

integer

Идентификатор подписи

separateForEach

boolean

Отдельная подпись для каждого акцептанта

Пример:

{  "taskId": 123,  "reason": "Согласование",  "acceptors": {    "users": \      111, 112    {.f_CodeExample style="font-weight: bold;"}  },  "signatureId": 444,  "separateForEach": false } Пользователи

GET /api/user/{userId}/info:

Получить информацию о пользователе

Параметр

Формат

Описание

userId

integer

Уникальный идентификатор пользователя

Пример результата:

{
 "data": {
   "userId": 28988,
   "displayName": "Иванов Иван",
   "firstName": "Иван",
   "lastName": "Иванов",
   "cellPhone": "",
   "homePhone": "",
   "phone2": "",
   "phone3": "",
   "phone": "",
   "email": "mail@gmail.com",
   "externalEmail": "",
   "externalDisplayName": "",
   "country": "",
   "city": "",
   "room": "Фармстандарт",
   "appointment": "Пользователи",
   "lastOnlineTime": "2023-01-09T10:03:48",
   "isLastOnlineFromMobileApp": false,
   "lastPersonalInfoUpdateTime": "2022-10-13T13:12:00",
   "absenceMessage": "",
   "pinCode": null,
   "pinCodeIssued": null,
   "linkedId": null,
   "sip": "",
   "absences": []{.f_CodeExample style="font-weight: bold;"}
   "userGroups": {
     "2085": "Все пользователи",
     "2123": "Сотрудники"
   },
   "description": null,
   "hasAvatar": true,
   "userAvatarFile": {
     "fileId": 1473393,
     "latestVersionId": 1
   },
   "gender": 1,
   "userInfoExtParams": []{.f_CodeExample style="font-weight: bold;"}
   "counters": 
     {
       "userId": 28988,
       "counterType": "UsersLikes",
       "type": "UsersLikes",
       "exists": true,
       "active": true,
       "changed": false,
       "counter": 0
     }
   \,{.f_CodeExample style="font-weight: bold;"}
   "voipTokens": []{.f_CodeExample style="font-weight: bold;"}
   "isEmployee": false,
   "isFired": false
 }
}
GET /api/user/settings:

Получить пользовательские настройки

Параметр

Формат

Описание

userId

integer

Уникальный идентификатор пользователя

Пример результата:

{
 "data": {
   "startPage": "spa.aspx/portal/1",
   "showUserTooltip": false,
   "enableDesktopNotifications": false,
   "fileOnClickActionMode": "Default",
   "navigationPanelLogo": "",
   "createButtonVisible": "NoSet",
   "calendarVisible": "NoSet",
   "lentaVisible": "NoSet",
   "staffVisible": "NoSet",
   "searchVisible": "Invisible",
   "chooseLanguageVisible": "NoSet",
   "categoryVisible": "NoSet",
   "personalVisible": "NoSet",
   "favoriteVisible": "NoSet",
   "reportVisible": "NoSet",
   "mailVisible": "NoSet",
   "personalMenuTimeSheet": "NoSet",
   "personalMenuKanban": "NoSet",
   "personalMenuOthers": "NoSet",
   "userProfileCustomer": "NoSet",
   "userProfilePerformer": "NoSet",
   "userProfileActivity": "NoSet",
   "userProfileCalendar": "NoSet",
   "userProfileJournal": "NoSet",
   "userProfileLaborCost": "NoSet",
   "userProfileReport": "NoSet",
   "userProfileAgenda": "NoSet",
   "showCreatePersonalTaskButton": "NoSet",
   "ownTaskSubcatId": 43350,
   "openConversationOnCommentClick": true,
   "removeFromSubscribersAfterDecision": false,
   "sendCommentByEnter": false,
   "notAutoSetCommentAsQuestion": false,
   "orgChartVisible": "Invisible",
   "useNewTaskCard": true,
   "forceChangePassword": false,
   "accessToOtherUserProfiles": false,
   "jitsiServicePersonalRoomVisible": "Invisible",
   "jitsiServicePersonalRoom": "user28988",
   "autoReadCommentsInTask": true,
   "userUISettings": {
     "useNewTaskCard": true,
     "viewTaskState": "Bottom",
     "viewCommentsInTaskState": "Bottom",
     "showUserCardOnMouseOver": false,
     "filterCommentsDependByLentaSettings": false,
     "showDateInHumanFormat": true,
     "showIAndMeInsteadOfDisplayName": false,
     "userNameMode": "SurNameName",
     "translateCommentsInFeed": false,
     "useStartUpPage": true,
     "showStartupPageOnLogoClick": true,
     "userStartPageType": "Default",
     "colorTheme": "Light",
     "fontSize": "Middle",
     "panelsFontSize": "Middle",
     "navigationPanelPosition": "Above",
     "navigationPanelColor": null,
     "showCalendarInNavigationPanel": true,
     "allowUnreadCommentsDesktopNotification": false,
     "allowOverdueTasksDesktopNotification": false,
     "allowSignaturesDesktopNotification": true,
     "allowQuestionsDesktopNotification": false,
     "allowChatsDesktopNotification": true,
     "apenCharts": false,
     "contextModalWindows": false,
     "popupChats": false,
     "showNavigationAlways": true
   },
   "useNewGridSubcats": {
     "subcatIds": []{.f_CodeExample style="font-weight: bold;"}
     "allSubcats": true,
     "myTasks": true,
     "tickers": true
   },
   "useNewExtParamsAndTaskUsedSubcats": []{.f_CodeExample style="font-weight: bold;"}
   "click2call": true,
   "groupChatSubCatId": 978,
   "canEditUserProfile": true,
   "canImpersonate": true,
   "canSetAbsence": true,
   "notSetNeedAnswerCheckboxAutomatically": false,
   "removeFinishedTasksFromFavourites": false,
   "id": 28988
 }
}
GET /api/user/{userId}/info:

Получить информацию о пользователе

Параметр

Формат

Описание

userId

integer

Уникальный идентификатор пользователя

includeUserEvents

boolean

Получить события пользователя

inlcudeCoWorkers

boolean

Получить информацию о коллегах

Пример результата:

{
 "data": {
   "processAssistantOf": []{.f_CodeExample style="font-weight: bold;"}
   "phone3Additional": "",
   "phoneAdditional": "",
   "homePhoneAdditional": "",
   "fax": "",
   "skype": "",
   "twitter": "",
   "liveJournal": "",
   "zoom": "",
   "telegram": "tg@1forma.ru",
   "computerName": "",
   "phone2Additional": "",
   "icq": "",
   "telegramId": "",
   "timeZone": "Russian Standard Time (UTC+03:00) Moscow, St. Petersburg",
   "currentTime": "13.01.2023 13:56",
   "coWorkers": null,
   "userEvents": null,
   "birthDate": null,
   "hideBirthYear": false,
   "userText": "",
   "englishDisplayName": "",
   "orgUnits": 
     {
       "name": "Отдел",
       "id": 3010
     },
     {
       "name": "Пользователи",
       "id": 3077
     }
   \,{.f_CodeExample style="font-weight: bold;"}
[    "userOrgUnits": 
     {
       "isPrimary": true,
       "units": 
         {
           "name": "Отдел",
           "id": 3010
         },
         {
           "name": "Пользователи",
           "id": 3077
         }
       \{.f_CodeExample style="font-weight: bold;"}
     }
   \,]{.f_CodeExample style="font-weight: bold;"}
   "workStartDate": null,
   "directors": []{.f_CodeExample style="font-weight: bold;"}
   "hasSubordinates": false,
   "helpers": []{.f_CodeExample style="font-weight: bold;"}
   "helperOf": []{.f_CodeExample style="font-weight: bold;"}
   "processAssistants": []{.f_CodeExample style="font-weight: bold;"}
   "assistants": []{.f_CodeExample style="font-weight: bold;"}
   "assistantOf": []{.f_CodeExample style="font-weight: bold;"}
   "canEditUserProfile": true,
   "canImpersonate": true,
   "canSetAbsence": true,
   "jitsiServicePersonalRoom": "user28988",
   "userId": 28988,
   "displayName": "Иванов Иван",
   "firstName": "Иван",
   "lastName": "Иванов",
   "cellPhone": "",
   "homePhone": "",
   "phone2": "",
   "phone3": "",
   "phone": "",
   "email": "mail@gmail.com",
   "externalEmail": "",
   "externalDisplayName": "",
   "country": "",
   "city": "",
   "room": "Фармстандарт",
   "appointment": "Пользователи",
   "lastOnlineTime": "2023-01-09T10:03:48",
   "isLastOnlineFromMobileApp": false,
   "lastPersonalInfoUpdateTime": "2022-10-13T13:12:00",
   "absenceMessage": "",
   "pinCode": null,
   "pinCodeIssued": null,
   "linkedId": null,
   "sip": "",
   "absences": []{.f_CodeExample style="font-weight: bold;"}
   "userGroups": {
     "2085": "Все пользователи",
     "2123": "Сотрудники"
   },
   "description": null,
   "hasAvatar": true,
   "userAvatarFile": {
     "fileId": 1473393,
     "latestVersionId": 1
   },
   "gender": 1,
   "userInfoExtParams": []{.f_CodeExample style="font-weight: bold;"}
   "counters": 
     {
       "userId": 28988,
       "counterType": "UsersLikes",
       "type": "UsersLikes",
       "exists": true,
       "active": true,
       "changed": false,
       "counter": 0
     }
   \,{.f_CodeExample style="font-weight: bold;"}
   "voipTokens": []{.f_CodeExample style="font-weight: bold;"}
   "isEmployee": false,
   "isFired": false
 }
}
GET /api/user/process-assistants/{userId}:

Получить заместителей пользователя

Параметр

Формат

Описание

userId

integer

Уникальный идентификатор пользователя

GET /api/user/assistants/restrictions/{assistanceId}:

Получает ограничения для заместителя

Параметр

Формат

Описание

assistanceId

integer

Уникальный идентификатор заместителя

POST /api/user/change-password:

Смена пароля пользователя

Параметр

Формат

Описание

userId

integer

Уникальный идентификатор пользователя

newPassword

string

Новый пароль

Пример:

{
 "userId": 123,
 "newPassword": "HHgduieuh290fj\*"
}
POST /api/user/password-recovery:

Восстановление пароля пользователя

Параметр

Формат

Описание

mode

string

Режим. Пример значений: \'Email\', \'SMS\'.

restoreByLogin

boolean

Восстановление по логину

cellPhone

string

Номер телефона

email

string

Почта

login

string

Логин

captchaKey

string

Публичный ключ

captchaSecret

string

Приватный ключ

language

string

Язык локализации

Пример:

{
 "mode": "Email",
 "restoreByLogin": true,
 "cellPhone": "8374829",
 "email": "ttt@mail.ru",
 "login": "login123",
 "captchaKey": "12342d2-52f3-45ec-8aj7-41c99c053d63",
 "captchaSecret": "iVBORw0KGgoAAAANSUhEUgAAAZAAAABkCAIAAAAnqfEgAAAAAXNSR0IArs4c6QAAAARnQU1BAA\...",
 "language": "russian"
}
POST /api/user/{userId}/language:

Смена языка пользователя

Параметр

Формат

Описание

language

string

Язык

allowNotification

boolean

Разрешить уведомления

Пример:

{
 "language": "russian",
 "allowNotification": true
}
POST /api/user/coworkers:

Справочник "Сотрудники"

Параметр

Формат

Описание

limit

integer

Размер страницы

offset

integer

Количество пропускаемых элементов при генерации страницы

search

string

Данные для поиска

Пример:

{
 "limit": 50,
 "offset": 0
}
POST /api/user/change-password:

Изменить пароль пользователя

Параметр

Формат

Описание

userId

integer

Уникальный идентификатор пользователя

newPassword

string

Новый пароль

Пример:

{
 "userId": 123,
 "newPassword": "Pass12322"
}
POST /api/admin/user/notifications/{userId}/subcategory-flag:

Обновление оповещений пользователя по конкретной категории

Параметр

Формат

Описание

subcategoryId

integer

Идентификатор категории

column

string

Колонка

ℹ️ Название колонки берется из SubcategoriesSettings в методе GET /api/admin/user/notifications/{userId} — TaskCreated, RejectedTask, AutoSubscribe, ChangeDueDate, AutoPerform

check

boolean

Проверка

Пример:

{
 "subcategoryId": 123,
 "column": "TaskCreated",
 "check": true
}
POST /api/user/search:

Поиск контактов

Параметр

Формат

Описание

query

string

Запрос поиска

searchCount

integer

Количество найденных контактов

Пример:

{
 "query": "Иванов",
 "searchCount": 1
}
POST /api/user/{userId}/ui-settings:

Сохранить настройки пользовательского интерфейса

Параметр

Формат

Описание

useNewTaskCard

boolean

Использовать новую карточку задачи

viewTaskState

string

Просмотр задачи: снизу, справа, в новом окне, во всплывающем окне.\ Пример значений: \'Bottom\', \'Right\', \'NewWindow\', \'PopupWindow\'\,

viewCommentsInTaskState

string

Просмотр комментариев в задаче: снизу, справа.

Пример значений: \'Bottom\', \'Right\'\

showUserCardOnMouseOver

boolean

Показывать карточку пользователя при наведении курсора мыши

filterCommentsDependByLentaSettings

boolean

Фильтры комментариев зависят от настроек Ленты

showDateInHumanFormat

boolean

Отображать дату с форматированием

showIAndMeInsteadOfDisplayName

boolean

Показывать "Я" вместо отображаемого имени

userNameMode

string

Формат имен. Пример значений:  \'SurName\', \'SurNameName\', \'SurNameNP\', \'Nick\', \'Appointment\', \'ExternalName\', \'Name\', \'AppointmentName\', \'NickName\', \'NameParentName\', \'AppointmentSurName\', \'AppointmentNick\', \'SurnameNameParentName\', \'NameSurname\', \'EnglishNick\', \'MaidennameNameParentname\', \'MaidennameName\'\

translateCommentsInFeed

boolean

Переводить комментарии в ленте

useStartUpPage

boolean

Отображать стартовую страницу при открытии системы

showStartupPageOnLogoClick

boolean

Показывать стартовую страницу по клику на логотип

userStartPageType

string

Тип стартовой страницы пользователя: по умолчанию, лента, повестка дня. Пример значений: \'Default\', \'Lenta\', \'Agenda\'\

colorTheme

string

Цветовая тема: светлая, темная. Пример значений: \'Light\', \'Dark\'\

fontSize

string

Размер шрифта: маленький, средний, большой. Пример значений: \'Small\', \'Middle\', \'Big\'\

panelsFontSize

string

Размер шрифта панелей: маленький, средний, большой. Пример значений: \'Small\', \'Middle\', \'Big\'\

navigationPanelPosition

string

Панель навигации: слева, справа, сверху. Пример значений: \'Left\', \'Right\', \'Above\'\

navigationPanelColor

string

Цвет панели навигации

showCalendarInNavigationPanel

boolean

Показывать индикатор календаря в панели навигации

allowUnreadCommentsDesktopNotification

boolean

Разрешить уведомление о непрочитанных комментариях на рабочем столе

allowOverdueTasksDesktopNotification

boolean

Разрешить уведомление о просроченных задачах на рабочем столе

"allowSignaturesDesktopNotification": true,

boolean

Разрешить уведомление о подписях на рабочем столе

allowQuestionsDesktopNotification

boolean

Разрешить уведомление о вопросах на рабочем столе

allowChatsDesktopNotification

boolean

Разрешить уведомление о чатах на рабочем столе

apenCharts

boolean

apenCharts

contextModalWindows

boolean

Контекстные модальные окна

popupChats

boolen

Всплывающие чаты

showNavigationAlways

boolean

Всегда показывать навигацию

Пример:

{
  "useNewTaskCard": true,
  "viewTaskState": "Bottom",
  "viewCommentsInTaskState": "Bottom",
  "showUserCardOnMouseOver": true,
  "filterCommentsDependByLentaSettings": true,
  "showIAndMeInsteadOfDisplayName": true,
  "userNameMode": "SurNameName",
  "translateCommentsInFeed": true,
  "useStartUpPage": true,
  "showStartupPageOnLogoClick": true,
  "userStartPageType": "Default",
  "colorTheme": "Light",
  "fontSize": "Small",
  "panelsFontSize": "Small",
  "navigationPanelPosition": "Left",
  "showCalendarInNavigationPanel": true,
  "allowUnreadCommentsDesktopNotification": true,
  "allowOverdueTasksDesktopNotification": true,
  "allowSignaturesDesktopNotification": true,
  "allowQuestionsDesktopNotification": true,
  "allowChatsDesktopNotification": true,
  "apenCharts": true,
  "contextModalWindows": true,
  "popupChats": true
}
POST /api/user/short-info:

Получить краткую информацию о пользователях

Параметр

Формат

Описание

userIds

array

Список идентификаторов (ID) пользователей

POST /api/users/status:

Получить статус пользователей

Параметр

Формат

Описание

userIds

array

Список идентификаторов (ID) пользователей

POST /api/user/process-assistants/add:

Добавить заместителя процесса

Параметр

Формат

Описание

userId

integer

Уникальный идентификатор пользователя

processAssistantUserId

integer

Уникальный идентификатор заместителя

processName

string

Название процесса

Пример:

[\

 {
   "userId": 123,
   "processAssistantUserId": 345,
   "processName": "Process"
 }
]{.f_CodeExample style="font-weight: bold;"} POST /api/user/process-assistants/remove:

Удалить заместителя процесса

Параметр

Формат

Описание

userId

integer

Уникальный идентификатор пользователя

processAssistantUserId

integer

Уникальный идентификатор заместителя

processName

string

Название процесса

Пример:

[\

 {
   "userId": 123,
   "processAssistantUserId": 345,
   "processName": "Process"
 }
]{.f_CodeExample style="font-weight: bold;"} POST /api/user/assistants/add:

Добавить заместителя

Параметр

Формат

Описание

userId

integer

Уникальный идентификатор пользователя

assistantUserId

integer

Уникальный идентификатор заместителя

from

string

Начало периода

to

string

Конец периода

Пример:

[\

 {
   "userId": 111,
   "assistantUserId": 112,
   "from": "2023-01-20T10:10:55.836Z",
   "to": "2023-01-20T10:10:55.836Z"
 }
]{.f_CodeExample style="font-weight: bold;"} POST /api/user/assistants/restrictions/add:

Добавить ограничения для заместителя

Параметр

Формат

Описание

subcatIds

array

Список идентификаторов категорий

categoryRestrictionMode

integer

Ограничения в категориях. Пример значений: \'NoMode\', \'Inclusion\', \'Exclusion\'\

assistanceId

string

Уникальный идентификатор заместителя

Пример:

[\  {    "subcatIds": \     123    \,{.f_CodeExample style="font-weight: bold;"}    "categoryRestrictionMode": "NoMode",    "assistanceId": 112  } ]{.f_CodeExample style="font-weight: bold;"} POST /api/user/assistants/restrictions/remove/{assistanceId}:

Снять ограничения для заместителя

Параметр

Формат

Описание

assistanceId

string

Уникальный идентификатор заместителя

Портал

POST /api/portals/block/data/{blockId}:

Получает указанные данные блока

Параметр

Формат

Описание

blockId

integer

Уникальный идентификатор портального блока

Block parameters

inline_model_12

Параметры блока

ℹ️ Параметры следует передавать в виде строки запроса

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

GET /api/admin/permissions/{entityType}/{entityId}/actions:

Отдает справочник всех возможных действий (прав) на сущность (группу, категорию, раздел)

Параметр

Формат

Описание

entityType*

string

Тип сущности. Возможные значения:

  • Subcategory

  • Category

  • Group

entityId*

integer

Id сущности

GET /api/admin/permissions/{entityType}/{entityId}:

Отдает все выданные права всех групп на сущность (группу, категорию, раздел)

Параметр

Формат

Описание

entityType*

string

Тип сущности. Возможные значения:

  • Subcategory

  • Category

  • Group

entityId*

integer

Id сущности

POST /api/admin/permissions/{entityType}/{entityId}/set:

Изменяет права (включает/выключает) групп на сущность (группу, категорию, раздел)

Параметр

Формат

Описание

entityType*

string

Тип сущности. Возможные значения:

  • Subcategory

  • Category

  • Group

entityId*

integer

Id сущности

Срок задачи

GET /app/v1.2/api/tasks/{taskId}/duadate:

Получить срок выполнения задачи

Параметр

Формат

Описание

dueDate

string

Срок задачи

id

integer

Уникальный идентификатор

Пример:

{
   "dueDate": "2022-12-29T14:46:00",
   "id": 0
}
GET /app/v1.2/api/tasks/{taskId}/duedate/history:

Получить изменение истории сроков выполнения задачи

Параметр

Формат

Описание

modificationDate

string

Дата изменения срока

oldDate

string

Старый срок

newDate

string

Новый срок

reason

string

Причина смены срока задачи

userId

integer

Уникальный идентификатор пользователя, сменившего срок

userDisplayName

string

Имя пользователя, сменившего срок

stateId

integer

Уникальный идентификатор статуса задачи

stateDescription

string

Название статуса задачи

taskId

integer

Уникальный идентификатор задачи

id

integer

Уникальный идентификатор

Пример:

[\

 {
   "modificationDate": "2022-12-21T14:25:40",
   "oldDate": null,
   "newDate": "2022-12-26T14:25:00",
   "reason": null,
   "userId": 3,
   "userDisplayName": "Робот 1Ф",
   "stateId": null,
   "stateDescription": null,
   "taskId": [1234567](https://ru.1forma.ru/spa/tasks/1234567),
   "id": 1496859
 }
]{.f_CodeExample style="font-weight: bold;"} POST /app/v1.2/api/tasks/duedate:

Обновить срок выполнения задачи

Параметр

Формат

Описание

reason

string

Причина смены срока задачи

taskId

integer

Уникальный идентификатор задачи

silentMode

boolean

Отображения комментария о смене срока

dueDate

string

Новый срок задачи

id

integer

Уникальный идентификатор

Пример:

{
 "reason": "string",
 "taskId": 0,
 "silentMode": true,
 "dueDate": "2022-12-27T07:33:41.241Z",
 "id": 0
}
Трудозатраты

POST /api/resource-facts:

Добавить фактические трудозатраты

Параметр

Формат

Описание

taskId

integer

Номер задачи

resourceId

integer

Идентификатор ресурса

performerUserId

integer

Идентификатор исполнителя

dates

array

Даты

amount

integer

Количество

comment

string

Комментарий

Пример:

{  "resourceData": [    {      "taskId": 123,      "resourceId": null,      "performerUserId": 111,      "dates": \        "2021-05-05T10:00:00.00Z"      \,      "amount": 30,      "comment": null    }  ] } POST /api/resource-facts/approve:

Акцепт внесенных фактических трудозатрат

Параметр

Формат

Описание

taskId

integer

Номер задачи

resourceId

integer

Идентификатор ресурса

performerUserId

integer

Идентификатор исполнителя

performerTaskId

integer

Номер задачи ресурса

dates

array

Даты

resolutionId

integer

Идентификатор решения

approvedAmount

integer

approveFull

boolean

Пример:

{  "resourceData": [    {      "taskId": 123,      "resourceId": 333,      "performerUserId": 111,      "performerTaskId": null,      "dates": \        "2022-05-05T10:00:00.00Z"      \,      "resolutionId": 1,      "approvedAmount": 10,      "approveFull": true    }  ] } POST /api/resource-facts/unapprove:

Отклонение внесенных фактических трудозатрат

Параметр

Формат

Описание

taskId

integer

Номер задачи

resourceId

integer

Идентификатор ресурса

performerUserId

integer

Идентификатор исполнителя

performerTaskId

integer

Номер задачи ресурса

dates

array

Даты

resolutionId

integer

Идентификатор решения

Пример:

{  "resourceData": [    {      "taskId": {{taskIdRobot}},      "resourceId": {{DudTestResourceID}},      "performerUserId": {{robotId}},      "performerTaskId": null,      "dates": \        "{{TodayDateFromPost}}"      \,      "resolutionId": 1    }  ] } Файлы

GET /app/v1.2/api/filestorage/file/{fileId}/version:

Получение версии файла

Параметр

Формат

Описание

fileId

integer

Идентификатор файла, информацию о котором необходимо получить.

Пример результата:

{    "fileId": 123,    "versionId": 1,    "description": null,    "uploadDate": "2011-03-04T15:09:04",    "uploadUserId": 2726,    "uploadUserName": "Тагунов Денис",    "sizeInt": 34816,    "size": 34816,    "providerId": 4,    "providerKey": "79",    "isEncrypted": false,    "isDecrypted": false  } GET /app/v1.2/api/filestorage/file/{fileId}/info:

Информация о файле, включая права пользователей и действия с ним

Параметр

Формат

Описание

fileId

integer

Идентификатор файла, информацию о котором необходимо получить.

viewType

string

Опциональный параметр. Тип view у клиента, может быть Grid или Gallery. Влияет на названия/набор действий с элементами

Пример результата:

{
 "translitName": "\*\*\* 04.03.2011 15-09.xls",
 "latestVersionId": 1,
 "fileProviderId": null,
 "isInSharepointFileProvider": false,
 "versionCount": 1,
 "ext": "",
 "mime": "application/octet-stream",
 "size": 34816,
 "uploadDate": "2011-03-04T15:09:04",
 "uploadDateStr": "04.03.2011 15:09",
 "ownerUserId": null,
 "uploadUserId": 2726,
 "isEncrypted": false,
 "isReadOnly": false,
 "downloadPath": null,
 "folderPermissions": []
 "links": []
 "id": 123,
 "clientId": "File:123",
 "parentFolderId": null,
 "parentFolder": null,
 "parentFolderClientId": null,
 "name": "\*\*\* 04.03.2011 15-09.xls",
 "icon": "extension\_text",
 "thumbnailFileId": null,
 "typeName": "File",
 "actions": 
   {
     "name": "Download",
     "icon": "file\_download",
     "imageUrl": null,
     "text": "Скачать",
     "toolTip": null,
     "clientFunction": "getFile",
     "isAdditional": false,
     "orderValue": 0,
     "enabled": true,
     "visibleIfReadOnly": true,
     "type": "button",
     "actionType": "Download"
   },
   {
     "name": "Properties",
     "icon": null,
     "imageUrl": null,
     "text": "Свойства",
     "toolTip": null,
     "clientFunction": "showEditFileForm",
     "isAdditional": true,
     "orderValue": 0,
     "enabled": true,
     "visibleIfReadOnly": false,
     "type": "button",
     "actionType": "ShowEditFileForm"
   },
   {
     "name": "History",
     "icon": "history",
     "imageUrl": null,
     "text": "История версий",
     "toolTip": null,
     "clientFunction": "viewHistory",
     "isAdditional": false,
     "orderValue": 0,
     "enabled": true,
     "visibleIfReadOnly": false,
     "type": "button",
     "actionType": "ViewHistory"
   },
   {
     "name": "History",
     "icon": "check\_box",
     "imageUrl": null,
     "text": "Подписи ЭЦП",
     "toolTip": null,
     "clientFunction": "viewEdsHistory",
     "isAdditional": false,
     "orderValue": 0,
     "enabled": true,
     "visibleIfReadOnly": false,
     "type": "button",
     "actionType": "ViewEdsHistory"
   },
   {
     "name": "Delete",
     "icon": "clear",
     "imageUrl": null,
     "text": "Удалить",
     "toolTip": null,
     "clientFunction": "deleteFile",
     "isAdditional": true,
     "orderValue": 0,
     "enabled": true,
     "visibleIfReadOnly": false,
     "type": "button",
     "actionType": "DeleteFile"
   }
 \,  "userPermissions": {    "view": true,    "add": true,    "modify": true,    "delete": true,    "history": true,    "edsHistory": true,    "editInSharePoint": false,    "createTask": true  },
 "allPermissions": 
   {
     "id": -1,
     "type": "User",
     "displayName": "Я",
     "userId": 28694,
     "groupId": null,
     "readOnly": true,
     "permissions": {
       "view": true,
       "add": true,
       "modify": true,
       "delete": true,
       "history": true,
       "edsHistory": true,
       "editInSharePoint": false,
       "createTask": true
     }
   }
 \,  "extraId": null }

GET /app/v1.2/api/filestorage/file/{fileId}/neighbours

Возвращает все соседние файлы

Параметр

Формат

Описание

fileId

integer

Идентификатор файла, информацию о котором необходимо получить.

Пример результата:

{    "fileId": 12345,    "versionId": null,    "taskId": null  } GET /api/files/thumbnails/{fileId}/{versionId}:

Отдает тумб файла-изображения

Параметр

Формат

Описание

fileId

integer

Идентификатор файла

versionId

integer

Версия файла

maxSize

integer

Самая широкая сторона. По умолчанию — 100

isSquare

boolean

Квадратная или ланшафтная

POST /api/files/import/exceltodb:

Импорт данных из excel-файла в таблицу БД

Параметр

Формат

Описание

fileId

integer

Идентификатор excel-файла, который необходимо импортировать.

tableName

string

Название таблицы БД, в которую будут  импортированы данные из файла

ℹ️ Названия колонок в первой строке должны совпадать с названием колонок в таблице БД. Если колонка excel не найдена в таблице БД, то при импорте она будет пропущена

fileFormat

string

Формат файла. Если значение null — автоопределение. Пример значений: \'OpenXml\', \'Xls\', \'Xlsx\', \'Csv\'\

createDbTable

boolean

Создать таблицу, если её не существует

Пример:

{
 "fileId": 1234,
 "tableName": "file",
 "fileFormat": "OpenXml",
 "createDbTable": true
}
POST /api/files/preupload/base64:

Загрузка файлов в ДП в формате base64

Параметр

Формат

Описание

initiatorUserId

integer

Уникальный идентификатор выполняющего действие пользователя

Пример результата:

writeComment - Писать комментарий или нет comment - Комментарий fileData - Информация о файле fileName - Имя файла

{
   "comment": "comment",
   "fileData": "MTIzNA==",
   "fileName": "test.txt",
   "writeComment": "False"
}

\@requestBody = \'{\' +                                                          \'"fileData": "\' + \@FileData + \'"\' +                                                          \',"fileName": "\' + \@FileName + \'"\' +                                                  \'}\';

Пример \@requestBody для загрузки файла в ДП:

\@requestBody = \'{\' +                  \'"fileData": "\' + \@FileData + \'"\' +                  \',"fileName": "\' + \@FileName + \'"\' +            \'}\'; Пример загрузки файла в ДП через публикацию

POST /api/files/upload/{uploadType}:

Загрузка файлов в задачу, ДП (включая ДП Таблица), файловое хранилище (Диск) из многокомпонентной формы запроса данных

Параметр

Описание

uploadType

Тип загрузки, выпадающий список

initiatorUserId

Идентификатор пользователя-инициатора. Если он указан, то в ДП будет вложен файл от лица переданного в id пользователя.

uploadType*

Тип загрузки. Доступные варианты:

  • ToPreUploadedFiles

  • PreUploadedFilesToTask

  • PreUploadedFilesToEP

  • PreUploadedFilesToEPTable

  • PreUploadedFilesToMultiFile

  • PreUploadedFilesToEpTableMultiFile

  • PreUploadedFilesToFileStorageFolder

  • FileToTask — загрузка файла в задачу:

В заголовке метода в поле 1formaAuth передается токен аутентификации. В body передается исходный файл и объект: {"taskid": XXX, "extParamId": YYY} где: XXX — ID задачи, а YYY - ID ДП - FileToEP — загрузка файла в ДП:

В заголовке метода в поле 1formaAuth передается токен аутентификации. В body передается исходный файл и объект: {"taskid": XXX} где: XXX — ID задачи. - FileToEPTable

  • FileToMultiFile

  • FileToEpTableMultiFile

  • FileToFileStorageFolder

  • FileToEPTableLegacy

  • FileStorageToEP

Пример:

{
 "data": 
   {
     "fileName": "Name",
     "fileId": 123,
     "fileVersion": 1,
     "preUploadFileId": 0,
     "date": "2024-03-01T06:23:58.537Z",
     "fileSize": 241,
     "fileMime": "string"
   }
 \,{.f_CodeExample style="font-size: 0.82rem; font-weight: bold;"}
 "errors": 
   {
     "errorType": "TestPurposes",
     "message": "string"
   }
 \{.f_CodeExample style="font-size: 0.82rem; font-weight: bold;"}
}
Пример \@requestBody для загрузки файла в ДП (/api/files/upload/PreUploadedFilesToEP):

\@requestBody = \'{          "taskId":\' + cast(\@TaskID as varchar(100)) + \',          "preUploadedFileId":\' + cast(\@preUploadFileId as varchar(200)) + \',          "extParamId" : \' + cast(\@ExtParamID as varchar(100)) + \'          }\'; Пример загрузки файла в ДП через публикацию

POST /api/task/files:

Получить файлы задачи

Параметр

Формат

Описание

taskId

integer

Номер задачи

extFilterList

array

Список ДП

limit

integer

Размер страницы

offset

integer

Количество пропускаемых элементов при генерации страницы

onlyPinned

boolean

Только закрепленные

noPinned

boolean

Только незакрепленные

pinnedFirst

boolean

Закрепленные в первую очередь

type

string

Тип файлов. Пример значений: \'Video\', \'Audio\', \'Images\', \'Documents\'\

showDeleted

boolean

Отображать удаленные

Пример:

{
 "taskId": 123,
 "limit": 10,
 "offset": 0
}
POST /app/v1.2/api/files/delete/{fileId}/task/{taskId}/{forced}/{silent}:

Удалить файл из задачи

Параметр

Формат

Описание

taskId

integer

Номер задачи

fileId

integer

Идентификатор файла

forced

boolean

Принудительно или нет

silent

boolean

Тихий комментарий

POST /api/task/files/pin/{taskId}/{fileId}:

Прикрепить файл к задаче

Параметр

Формат

Описание

taskId

integer

Номер задачи

fileId

integer

Идентификатор файла

POST /api/task/files/unpin/{taskId}/{fileId}:

Открепить файл от задачи

Параметр

Формат

Описание

taskId

integer

Номер задачи

fileId

integer

Идентификатор файла

Чаты

GET /api/chats:

Получить чаты пользователя

Параметр

Формат

Описание

limit

integer

Размер страницы

offset

integer

Количество пропускаемых элементов при генерации страницы

queryString

string

Строка запроса

POST /app/v1.2/api/chats/{chatId}/setNotificationMode/{notificationMode}:

Изменение режима уведомления чата

Параметр

Формат

Описание

chatId

integer

Идентификатор чата

notificationMode

string

Режимы уведомлений. Возможные значения:

  • Normal — обычный (по умолчанию): в веб-интерфейсе уведомления приходят, в мобильном приложении пуши приходят согласно настройке "Уведомления чатам";

  • Muted — без уведомлений: в веб-интерфейсе уведомления деактивированы, в мобильном приложении пуши не приходят;

  • Forced — форсированный: в веб-интерфейсе уведомления приходят, в мобильном приложении пуши приходят всегда кроме случая, когда в профиле пользователя настройка "Уведомления по чатам" установлена в значение "Когда оффлайн на ПК".

POST /api/chats:

Создать чат

Параметр

Формат

Описание

chatGuid

string

Guid чата

messageGuid

string

Guid сообщения

text

string

Текст сообщения

subscribers

array

Список участников чата

chatName

string

Имя чата

avatarFileId

integer

Идентификатор вкладываемого файла

Пример результата:

{  "chatGuid": "ABC123",  "messageGuid": "abcd1234",  "text": "Hello",  "subscribers": \   111, 112  \,  "files": \

\,  "chatName": "Chat",  "avatarFileId": null } POST /api/chats/left/{taskId}:

Покинуть чат

Параметр

Формат

Описание

taskId

integer

Идентификатор чата

POST /api/chats/close/{taskId}:

Закрыть чат

Параметр

Формат

Описание

taskId

integer

Идентификатор чата