Получение списка кнопок перевода статусов, переходов статусов, макросов
Копировать ссылку на статью
Задача
Получим список переходов статусов, кнопок для перевода статуса и макросы
Полная документация по API (swagger)
Решение
POST https://apigw.intradesk.ru/rules/api/rules/?ApiKey=65247DBDE14C45A6A275DC1FC0
Тело запроса:
{
"input":{
"p_workflow":43,
"p_tasktype":68,
"p_status":80,
"p_tag":[
4497,
14760,
14999
],
"p_service":"1985/1707/",
"p_service_settingadminid":123,
"p_priority":31,
"p_initiator":9116,
"p_initiatorgroup": 3242,
"p_observer":[
9116
],
"p_observergroup":[
3197
],
"p_executor":9687,
"p_executorgroup":2356,
"p_creator":9116,
"p_usagecondition":[
4
]
},
"chainName":"EditTaskFormChain"
}
Ответ сервера:
{
"r_accesslist":[
{
"blockNames":[ // список названий полей для которых нужно использовать указанное ниже право доступа. Если для поля правило не найдено, то нужно использовать полномочия из правила где указана "*"
"tasktype"
],
"access":3, // 1 - запрещено, 2 - просмотр, 3 - изменение, 4 - не показывать на карточке, 60 - управление своими трудозатратами
"required":false, //поля, перечисленные в blockNames, обязательны для заполнения
"validationData":null,
"ruleId":"92"
},
{
"blockNames":[
"name"
],
"access":3,
"required":false,
"validationData":null,
"ruleId":"516"
},
{
"blockNames":[
"*"
],
"access":3,
"required":false,
"validationData":null,
"ruleId":null
}
],
"r_tostatus":[ //список статусов в которые можно перевести заявку
{
"statusId":73, //идентификатор статуса
"buttonName":"Открыта", //название для кнопки перехода
"buttonLegend":"", //подсказка, всплывающая на кнопке
"validationData":null,
"locationButton":20, //расположение кнопки. 20 - в меню заявки, 30 - вынести на панель, 10 - не показывать
"ruleId":"1235", //идентификатор правила
"duplicatebuttononpanel":false //признак, дублировать ли кнопку на панель
},
{
"statusId":84,
"buttonName":"Вынести на обработку",
"buttonLegend":"",
"validationData":null,
"locationButton":30,
"ruleId":"1239",
"duplicatebuttononpanel":true
}
],
"r_macroslist":[ //список макросов
{
"ruleId":"379", //идентификатор правила
"name":"Вернуть в \"открыта\" !", //название макроса
"description":null, //подсказка, всплывающая на кнопке
"duplicatebuttononpanel":true, //признак, дублировать ли кнопку на панель
"type":10, //тип макросв. 10 - произвольный макрос. 20 - для взятия в работу, 30 - для завершения выполнения работ по заявки
"forcesavetask":true, //признак автоматического сохранения заявки
"forcetostatus":73, //идентификатор статуса, в который будет переведена заявка
"data":{
"r_status_bymacros":{
"data":"73", //Id статуса в который нужно перевести заявку
"replace":true
}
}
}
]
}
Полная документация к методу в формате swagger (Rules API)
Другие возможные параметры
Тело запроса:
{
"input":{
"p_workflow", //число, идентификатор бизнес-процесса заявки, для которой получаем правила
"p_tasktype", // число, идентификатор типа заявки
"p_status", // число, идентификатор статуса заявки
"p_tag":[ ], //массив, идентификаторы тегов заявки
"p_service", //строка, путь сервиса заявки
"p_service_settingadminid", // число, идентификатор настройки админов сервиса (запрос дерева возвращает этот Id для каждого сервиса)
"p_priority", // число, идентификатор приоритета
"p_initiator", // число, идентификатор заявителя заявки
"p_initiatorgroup", // число, идентификатор компании заявителя
"p_observer":[ ], //массив, идентификаторы наблюдателей заявки
"p_observergroup":[ ], //массив, идентификаторы групп наблюдателей заявки
"p_executor", // число, идентификатор исполнителя заявки
"p_executorgroup", // число, идентификатор группы исполнителей заявки
"p_creator", // число, идентификатор создателя заявки
"p_usagecondition":[ ]
// перечисление, 4 - если заявка уже создана, 3 - если заявку только создаём
},
"chainName", // строка, "EditTaskFormChain" - если заявка уже существует, "CreateTaskFormChain" - если заявку только создаём
}