Для получения доступа к открытому API системы Квант достаточно использовать ключ API. Ключ API генерируется в личном профиле сотрудника в разделе "настройки". Ключ соответствует организации и пользователю в системе.
В документации указана нижеприведенная информация в формате google документа.
Ссылка: Документация
Ключ API необходимо передавать с каждым запросом в заголовках, название заголовка api-key
Если ключ API указан неверно, в ответ на любой запрос вернется следующий ответ JSON:
{ |
Запросы необходимо отправлять на основной адрес системы https://rsuquant.ru.
Также с этой инструкцией можно ознакомиться по ссылке: https://docs.google.com/document/d/1VykFkR8gh2TOaaMCI-Mr95OdciBA_x2ZjiIREEa7DJE/edit#
Список коммуникаций
Запрос:
POST /openapi/tasks/index |
Параметры:
{ |
В качестве параметров выступают следующие значение:
states - этап коммуникации (int | array [int])
type - тип отображения (string) - my, control, track
offset - смещение (int) - default 0
limit - лимит (int) - default 50, max 100
creator_user_ids - отправитель (int | array [int]) - учитывается при type my, track
to_user_ids - исполнитель (int | array [int]) - учитывается при type control, track
user_labels - метки (array [int] | null)
deadline_period_start (string|null) - крайний срок начало периода (string) - формат yyyy-mm-dd
deadline_period_end (string|null) - крайний срок конец периода (string) - формат yyyy-mm-dd
with_communication_errors - с ошибками коммуникаций (boolean)
Результатом данного запроса будет следующий ответ JSON:
[ |
Получение задач со списком дел по дате
Запрос:
GET /openapi/tasks/todo/{date}?offset=0&limit=40& withCommunicationErrors=1 |
Параметры: не требуются
В качестве параметров в строке запроса выступают следующие значение:
date - дата (int) required - формат dd.mm.yyyy
offset - смещение (int) - default 0
limit - лимит (int) - default 50, max 100
with_communication_errors - с ошибками коммуникаций (int) - 0 без ошибок, 1 с ошибками
Результатом данного запроса будет следующий ответ JSON:
[ } |
Создание коммуникации
Запрос:
POST /openapi/tasks/store |
Параметры:
{ |
В качестве параметров выступают следующие значение:
to_user_id - исполнитель (int) required
type - тип коммуникации (int) required - 1 задача, 2 обращение, 6 принятое решение
1 - обязательное поле в inputs_values - task_input_id": 1
2 - обязательное поле в inputs_values - task_input_id": 4
6 - обязательное поле в inputs_values - task_input_id": 13, task_input_id": 14,
task_input_id": 15
due_at - крайний срок (string | null) - формат yyyy-mm-dd hh:ii:ss
required_deadline - обязательно к сроку (int) required - 0 необязательно, 1 обязательно
function_user_id - соответствие функции и сотрудника (int | null) required
task_labels - метки (array[int] | null)
relation_track_users - участники (array[int] | null)
Результатом данного запроса будет следующий ответ JSON:
{ …taskData… |
Обновление коммуникации
Запрос:
PUT /openapi/tasks/{task_id} |
Параметры:
{ |
В качестве параметров выступают следующие значение:
task_id - id задачи (int)
organization_id - id организации (int)
creator_id - отправитель (int) required
to_user_id - получатель (int) required
required_deadline - обязательно к сроку (int) required
due_at - крайний срок (string | null) required - формат yyyy-mm-dd hh:ii:ss
function_user_id - соответствие функ ции и сотрудника (int | null) required
relation_track_users - участники (array | null) required
program_id - id проекта (int | null) required
Результатом данного запроса будет следующий ответ JSON:
{ …taskData… |
Получение задачи по ключу
Запрос:
GET /openapi/tasks/{task_key} |
Параметры: не требуются
В качестве параметров в строке запроса выступают следующие значение:
task_key - ключ задачи (string)
Результатом данного запроса будет следующий ответ JSON:
{ …taskData… |
Удаление коммуникации
Запрос:
DELETE /openapi/tasks/{task_id} |
Параметры: не требуются
В качестве параметров в строке запроса выступают следующие значение:
task_id - id задачи (int)
Результатом данного запроса будет следующий ответ JSON:
{ …taskData… |
Обновление полей коммуникации
Запрос:
POST /openapi/tasks/input_value |
Параметры:
{ |
В качестве параметров выступают следующие значение:
task_id - id задачи (int)
task_input_id - id типа поля ввода (int)
value - значение (string)
proof - поле для доказательства (array|null)
Результатом данного запроса будет следующий ответ JSON:
{ |
Отклонить / вернуть на доработку закрытую задачу
Запрос:
POST /openapi/tasks/{task_id}/cancel |
Параметры:
{ "due_at":null, |
В качестве параметров выступают следующие значение:
task_id - id задачи (int) required
text - текст (string) required
due_at - крайний срок (string | null) - формат yyyy-mm-dd hh:ii:ss
required_deadline - обязательно к сроку (int)
Результатом данного запроса будет следующий ответ JSON:
{ …taskData… |
Принять коммуникацию
Запрос:
POST /openapi/tasks/{task_id}/accept |
Параметры: не требуются
В качестве параметров в строке запроса выступают следующие значение:
task_id - id задачи (int) required
Результатом данного запроса будет следующий ответ JSON:
{ …taskData… |
Взять в работу коммуникацию
Запрос:
POST /openapi/tasks/{task_id}/to_work |
Параметры:
{ |
В качестве параметров выступают следующие значение:
task_id - id задачи (int) required
date - дата наступления действия (string) required - формат yyyy-mm-dd hh:ii:ss
end_date - дата окончания действия (string|null) - формат yyyy-mm-dd hh:ii:ss
include_to_calendar - включить в календарь (int) - 0 не включать, 1 включить
title - текст действия (string)
due_at - крайний срок (string) required если не был указан при создании задачи - формат yyyy-mm-dd hh:ii:ss
Результатом данного запроса будет следующий ответ JSON:
{ …taskData… |
Выполнить коммуникацию
Запрос:
POST /openapi/tasks/{task_id}/done |
Параметры:
{ "is_done":1, |
В качестве параметров выступают следующие значение:
task_id - id задачи (int) required
comment - текст (string|null) required если есть ОКР и конечный результат не получен
is_done - конечный результат (int) - 0 не получен, 1 получен
Результатом данного запроса будет следующий ответ JSON:
{ …taskData… |
Отзыв задачи
Запрос:
POST /openapi/tasks/{task_id}/take_back |
Параметры: не требуются
В качестве параметров в строке запроса выступают следующие значение:
task_id - id задачи (int) required
Результатом данного запроса будет следующий ответ JSON:
{ …taskData… |
Вернуть в работу отклоненную задачу
Запрос:
POST /openapi/tasks/{task_id}/cancel_to_work |
Параметры: не требуются
В качестве параметров в строке запроса выступают следующие значение:
task_id - id задачи (int) required
Результатом данного запроса будет следующий ответ JSON:
{ …taskData… |
Копирование коммуникации
Запрос:
POST /openapi/tasks/{task_id}/copy_and_create |
Параметры:
{ |
В качестве параметров выступают следующие значение:
task_id - id задачи (int) required
to_user_id - исполнитель (int) required
function_user_id - соответствие функции и сотрудника (int | null) required
Результатом данного запроса будет следующий ответ JSON:
{ …taskData… |
Перенести действие коммуникации
Запрос:
POST /openapi/tasks/{task_id}/actions |
Параметры:
{ |
В качестве параметров выступают следующие значение:
task_id - id задачи (int) required
date - дата наступления действия (string) required - формат yyyy-mm-dd hh:ii:ss
end_date - дата окончания действия (string|null) - формат yyyy-mm-dd hh:ii:ss
include_to_calendar - включить в календарь (int) required - 0 не включать, 1 включить
title - текст действия (string) required
Результатом данного запроса будет следующий ответ JSON:
{ |
Получение списка логов по коммуникации
Запрос:
GET /openapi/tasks/{task_id}/logs?offset=0&limit=30&logType=1 |
Параметры: не требуются
В качестве параметров выступают следующие значение:
task_id - id задачи (int)
offset - смещение (int) - default 0
limit - лимит (int) - default 50, max 100
logType - тип просмотра (int) - кратко 1, детально 0
Результатом данного запроса будет следующий ответ JSON:
[ |
Добавление комментария
Запрос:
POST /openapi/tasks/{task_id}/logs |
Параметры:
{ |
В качестве параметров выступают следующие значение:
task_id - id задачи (int) required
required - обязательный ответ (int) - необязательный 0, обязательный 1, default 0 . Передать 1 - чтобы сбросить принято, если необходим ответ
accept_comment - принятие, без уведомления (int) - не принято 0, принято 1, default 0
text - текст (string) required - для автопринятия передать одну из следующих фраз:
'принято', 'хорошо', 'добро', 'ясно', 'готово', 'благодарю', 'принял', 'приняла', 'понятно', 'спасибо', 'благодарю, принято', 'кваска',
to_user_ids - получатели сообщения (array[int] | null)
type - тип лога (int) required 1 - комментарий
Результатом данного запроса будет следующий ответ JSON:
{ |
Отчет список коммуникаций
Запрос:
GET /openapi/report/tasks_list_report |
Параметры:
{ "start_date_to": “2023-04-04”, "end_date_from": “2023-04-04”, "end_date_to": “2023-04-04”, "text_search_query": “text”, "created_type": 1, "state_id": 1, "function_id": 1, "offset": 1, "limit":1 , |
В качестве параметров выступают следующие значение:
task_filter_type_id - тип фильтра (int) required.
0 - все коммуникации
1 - просроченные задачи
2 - не принятые задачи
3 - задачи не в работе
4 - задачи требует внимания
5 - задачи закрыты с просрочкой
6 - сейчас есть нарушения правил коммуникации
creator_id - id создателя (int)
to_user_id - id исполнителя (int)
start_date_from - дата создания (string) формат Y-m-d, пример 2023-04-04
start_date_to - дата создания (string) формат Y-m-d, пример 2023-04-04
end_date_from - дата закрытия (string) формат Y-m-d, пример 2023-04-04
end_date_to - дата закрытия формат (string) Y-m-d, пример 2023-04-04
text_search_query - поиск по тексту (string)
created_type - тип создания коммуникации (int)
1 - задача создана вручную
2 - задача создана автоматически
state_id - этап задачи (int)
1 - новая задачи
2 - принята исполнителем
3 - взята в работу
4 - на одобрении после выполнения
5 - подтверждена постановщиком после выполнения
6 - запланированная задача
function_id - id функции (int)
offset - смещение (int) - default 0
limit - лимит (int) - default 50, max 100
Результатом данного запроса будет следующий ответ JSON:
{ |
Список пользователей
Запрос:
GET /openapi/user |
Параметры: не требуются
Результатом данного запроса будет следующий ответ JSON:
[ { "organization_id": 1, "user_id": 16, "first_name": "1", "last_name": "6623 test", "middle_name": "1", "email": "s1@mail.ru" }, ... ] |
Получение списка проектов
Запрос:
GET /openapi/program |
Параметры: не требуются
Ответ JSON:
[ { "id": 1, "organization_id": 6, "name": "проект1", "description": null, "product": null, "user_id": null, "creator_id": 3, "due_at": null, "key": "-Mz-HDI7EUpz9alsBkXn", "created_at": "2022-03-25 08:54:37", "updated_at": "2022-03-25 08:54:37", "deleted_at": null, "visibility": 0, "position": 65536, "tasksCount": 1, "progress": 0, "completed": 0, "program_functions": [], "tasks": [ { "id": 72, … },... ] } ] |
Создание проекта
Запрос:
POST /openapi/program |
Параметры:
{ "name":"проеткт3", "visibility":1 } |
В качестве параметров выступают следующие значение:
name - Название (string)
visibility - Видимость (0 - открытый, 1 - по ссылке, 2 - закрытый)
Ответ JSON:
{ "id": 3, "organization_id": 6, "name": "проект 1", "description": null, "product": null, "user_id": null, "creator_id": 3, "due_at": null, "key": "-N09b6zVnANOXVP9XF9I", "created_at": "2022-04-21 05:33:32", "updated_at": "2022-04-21 05:33:32", "deleted_at": null, "visibility": 1, "position": 196608, "tasksCount": 0, "progress": 0, "completed": 0, "programs_position": [ { "id": 5, "organization_id": 6, "program_id": 3, "user_id": 3, "position": 196608, "created_at": "2022-04-21 05:33:32", "updated_at": "2022-04-21 05:33:32", "deleted_at": null } ], "tasks": [] } |
Добавление задачи в проект
Запрос:
POST /openapi/program/{program_id}/add_task |
program_id - id проекта
Параметры:
{ "task_id":1 } |
В качестве параметров выступают следующие значение:
task_id - id задачи (int)
Ответ JSON:
{ "id": 147, "organization_id": 6, … …taskData… … "relation_track_users": [ { "id": 138, "type": 1, "organization_id": 6, "task_id": 147, "user_id": 3, "created_at": "2022-04-21 09:19:59+0300", "updated_at": "2022-04-21 09:19:59+0300" } ] } |
Обновление проекта
Запрос:
PUT /openapi/program/{program_id} |
program_id - id проекта
Параметры:
{ "name":"123", "description":"виисчмrerg", "product":"вапвыапа", "user_id":null, "due_at":null, "visibility":1 } |
В качестве параметров выступают следующие значение:
description - описание (string)
name - название (string)
due_at - крайний срок (string | null) - формат Y-m-d H:i:s
product - string|null
user_id - id исполнителя (int | null)
visibility - видимость (0 - для всех, 1 - по ссылке, 2 - закрытая)
Ответ JSON:
{ "id":5, "organization_id":6, "name":"123", "description":"description", "product":"text", "user_id":null, "creator_id":3, "due_at":null, "key":"-N09ilF-apnzqOMq0UcO", "created_at":"2022-04-21 06:06:56", "updated_at":"2022-04-21 19:35:19", "deleted_at":null, "visibility":1 } |
Удаление проекта
Запрос:
DELETE /openapi/program/{program_id} |
program_id - id проекта
Параметры: не требуются
Ответ JSON:
{ "id":5, "organization_id":6, "name":"123", "description":"\u0432\u0438\u0438\u0441\u0447\u043crerg", "product":"\u0432\u0430\u043f\u0432\u044b\u0430\u043f\u0430", "user_id":null, "creator_id":3, "due_at":null, "key":"-N09ilF-apnzqOMq0UcO", "created_at":"2022-04-21 06:06:56", "updated_at":"2022-04-21 19:47:44", "deleted_at":"2022-04-21 19:47:44", "visibility":1, "tasks":[ ] } |
Список шаблонов
Запрос:
GET /openapi/program_templates |
Параметры: не требуются
Ответ JSON:
[ { "id":1, "organization_id":6, "creator_id":3, "key":"-N0Fkx3V6fj_l6YC9ISC", "name":"шаблон проекта 1", "description":"описание шаблона 1", "product":null, "created_at":"2022-04-22 10:14:12", "updated_at":"2022-04-22 10:14:12", "deleted_at":null, "distributions":[ { "id":1, "entity_id":1, "type":null, "level_id":null, "section_id":null, "function_id":null, "function_user_level_id":null, "function_user_type_id":null, "distribution_type":1, "entity_type":"program_template" } ] } ] |
Добавление задачи в шаблоне
Запрос:
POST /openapi/program_templates/{program_template_id}/add_task |
program_template_id - id шаблона проекта
Параметры:
{ "title":"", "body":"", "product":"", "type_id":1, "to_user_id":null, "due_at":null, "required_deadline":1, "section_position_id":null, "position":0, "is_canceled":0, "inputs_values":[ { "value":"тест", "task_input_id":1 }, { "value":"тест", "task_input_id":2 }, { "value":"тест", "task_input_id":3 } ], "function_user_id":null, "program_id":null, "distribution":{ "type":null, "section_id":null, "text_id":6, "function_id":1, "function_user_level_id":null, "distribution_type":6, "function_user_type_id":null }, "deadline_type":2, "deadline_data":{ "type":"hours", "value":"2" } } |
В качестве параметров выступают следующие значение:
required_deadline - к сроку (int) (0 нет крайнего срока, 1 - есть крайний срок)
inputs_values - значения: название, описание, результат (array)
distribution - распределения (array)
deadline_type - тип дедлайна (int) (1 - до, 2 - после)
deadline_data - данные по дедлайну (array | string)
Ответ JSON:
{ "program_template_id":1, "key":"-N0FlsON6NIxv-8NB5Y7", "deadline_type":2, "deadline_data":{ "type":"hours", "value":"2" }, "required_deadline":1, "updated_at":"2022-04-22 10:18:15", "created_at":"2022-04-22 10:18:15", "id":1, "to_user_distribution":{ … }, "distribution":{ … }, "inputs_values":[ {...}, {...}, {...} ] } |
Удаление задачи из шаблона проекта
Запрос:
DELETE /openapi/program_templates/{program_template_id}/delete_task/{task_id} |
program_template_id - id шаблона проекта
task_id - id задачи
Параметры: не требуются
Ответ JSON:
{ "id":2, "program_template_id":1, "created_at":"2022-04-22 10:48:46", "updated_at":"2022-04-22 10:49:36", "deleted_at":"2022-04-22 10:49:36", "deadline_type":2, "deadline_data":{ "type":"hours", "value":"2" }, "required_deadline":1, "key":"-N0FsrPkSpAUPJVI1HhR" } |
Сохранение проекта из шаблона
Запрос:
POST /openapi/program/init_by_template |
Параметры:
{ "organization_id":6, "creator_id":3, "name":"шаблон проекта 1", "description":"описание шаблона 1", "product":null, "user_id":4, "tasks":[ { "id":5, "program_template_id":1, "created_at":"2022-04-28 11:53:16", "updated_at":"2022-04-28 11:53:16", "deleted_at":null, "deadline_type":2, "deadline_data":{ "type":"hours", "value":"2" }, "required_deadline":1, "key":"-N0k09jVT--teN9ilLJQ", "to_user_id":3, "distribution":{ "id":12, "entity_id":5, "type":null, "level_id":null, "section_id":null, "function_id":1, "function_user_level_id":null, "function_user_type_id":null, "distribution_type":5, "entity_type":"program_template_task" }, "inputs_values":[ { "id":12, "program_template_task_id":5, "task_input_id":1, "value":"p1", "created_at":"2022-04-28 11:53:16", "updated_at":"2022-04-28 11:53:16", "deleted_at":null }, { "id":13, "program_template_task_id":5, "task_input_id":2, "value":"hgbcfybt", "created_at":"2022-04-28 11:53:16", "updated_at":"2022-04-28 11:53:16", "deleted_at":null }, { "id":14, "program_template_task_id":5, "task_input_id":3, "value":"результат", "created_at":"2022-04-28 11:53:16", "updated_at":"2022-04-28 11:53:16", "deleted_at":null } ], "task_name":"p1", "task_description":"hgbcfybt", "task_result":"результат", "task_due_at":"2022-04-29 11:00", "task_to_user_id":3, "task_function_user_id":null, "position":65536 } ], "distributions":[ { "id":7, "entity_id":1, "type":null, "level_id":null, "section_id":null, "function_id":null, "function_user_level_id":null, "function_user_type_id":null, "distribution_type":1, "entity_type":"program_template" }, { "id":8, "entity_id":1, "type":null, "level_id":null, "section_id":null, "function_id":null, "function_user_level_id":null, "function_user_type_id":null, "distribution_type":2, "entity_type":"program_template" } ], "responsible_distribution":{ "id":9, "entity_id":1, "type":null, "level_id":null, "section_id":null, "function_id":1, "function_user_level_id":null, "function_user_type_id":null, "distribution_type":6, "entity_type":"program_template_responsible" }, "start_date":"2022-04-29 09:00" } |
В качестве параметров выступают следующие значение:
name - название (string)
description - описание (string)
product - (string|null)
user_id - id исполнителя (int | null)
tasks - массив задач (array | [ ])
due_at - крайний срок (string | null) - формат yyyy-mm-dd hh:ii:ss
start_date - дата начала отсчета крайнего срока (string) - формат yyyy-mm-dd hh:ii:ss
Ответ JSON:
{ "id":8, "organization_id":6, "name":"name", "description":"description", "product":null, "user_id":4, "creator_id":3, "due_at":null, "key":"-N0GL33VrFXUBVva0S6b", "created_at":"2022-04-22 12:56:20", "updated_at":"2022-04-22 12:56:20", "deleted_at":null, "visibility":1, "position":458752, "tasksCount":0, "progress":0, "completed":0, "programs_position":[ { "id":10, "organization_id":6, "program_id":8, "user_id":3, "position":458752, "created_at":"2022-04-22 12:56:20", "updated_at":"2022-04-22 12:56:20", "deleted_at":null } ], "tasks":[
] } |
Получение шаблона проекта с задачами
Запрос:
GET /openapi/program_templates/{program_template_key} |
program_template_key - ключ шаблона проекта
Параметры: не требуются
Ответ JSON:
{ "id":1, "organization_id":6, "creator_id":3, "key":"-N0Fkx3V6fj_l6YC9ISC", "name":"name", "description":"description", "product":null, "created_at":"2022-04-22 10:14:12", "updated_at":"2022-04-22 10:14:12", "deleted_at":null, "tasks":[ { "id":3, "program_template_id":1, "created_at":"2022-04-22 13:13:49", "updated_at":"2022-04-22 13:13:49", "deleted_at":null, "deadline_type":2, "deadline_data":{ "type":"hours", "value":"2" }, "required_deadline":1, "key":"-N0GP3A7iSKSD4v0uEpN", "distribution":{ "id":10, "entity_id":3, … }, "inputs_values":[ {...}, {...}, ] ], "distributions":[ { "id":7, "entity_id":1, … }, {...} ], "responsible_distribution":{ "id":9, … } } |