{"swagger":"2.0","info":{"description":"Документация REST API CMS: кassa, магазин, таск-менеджер (/api/task по персональным ключам с правами)","version":"0.0.2","title":"DolinaIS CMS API","termsOfService":"https://api.dolinais.ru","contact":{"email":"dev@dolinais.ru"},"license":{"name":"Dolina IS","url":"https://api.dolinais.ru"}},"host":"api.dolinais.ru","basePath":"/api","schemes":["https"],"paths":{"/auth/":{"post":{"tags":["Authorization API"],"summary":"Basic authorization","description":"The authorization header will be automatically generated when you send the request. Learn more about basic authorization.","operationId":"authorization","consumes":["multipart/form-data"],"produces":["application/json"],"parameters":[{"name":"Username","in":"header","description":"Username 79999999999","required":true,"type":"string","format":"string"},{"name":"Password","in":"header","description":"Password","required":true,"type":"string","format":"string"}],"responses":{"200":{"description":"successful operation","schema":{"$ref":"#/definitions/AuthorizationResponse"}}}}},"/product/":{"post":{"tags":["Kassa"],"summary":"Catalog Info","description":"","operationId":"info","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"Token","in":"header","description":"Bearer nRzIn0dJu1LpbGMbVfnCFDjKM4iwPhDV8tMlh7X5eWBR64iw","required":true,"type":"string","format":"string"},{"in":"body","name":"body","description":"Pet object that needs to be added to the store","required":true,"schema":{"$ref":"#/definitions/Kassa"}}],"responses":{"200":{"description":"successful operation","schema":{"$ref":"#/definitions/CatalogInfoResponse"}}}}},"/task/profile/":{"get":{"tags":["Task API"],"summary":"Кто владелец ключа и какие у ключа права","operationId":"taskProfile","produces":["application/json"],"parameters":[{"name":"Authorization","in":"header","description":"Bearer <ключ из личного кабинета>","required":true,"type":"string"}],"responses":{"200":{"description":"Пользователь, набор прав и каталог прав"}}}},"/task/projects/":{"get":{"tags":["Task API"],"summary":"Проекты пользователя","description":"Право: task.projects.read (открывается любым правом task.*)","operationId":"taskProjects","produces":["application/json"],"parameters":[{"name":"Authorization","in":"header","description":"Bearer <ключ из личного кабинета>","required":true,"type":"string"},{"name":"limit","in":"query","description":"Размер страницы, до 200","required":false,"type":"integer"},{"name":"offset","in":"query","description":"Смещение","required":false,"type":"integer"}],"responses":{"200":{"description":"Список проектов с ролью и признаком can_edit"}}}},"/task/sections/":{"get":{"tags":["Task API"],"summary":"Разделы (колонки) проекта","description":"Право: task.projects.read","operationId":"taskSections","produces":["application/json"],"parameters":[{"name":"Authorization","in":"header","description":"Bearer <ключ из личного кабинета>","required":true,"type":"string"},{"name":"project_id","in":"query","description":"ID проекта","required":true,"type":"integer"}],"responses":{"200":{"description":"Разделы проекта и число открытых задач"}}}},"/task/users/":{"get":{"tags":["Task API"],"summary":"Участники проекта (кандидаты в исполнители)","description":"Право: task.users.read","operationId":"taskUsers","produces":["application/json"],"parameters":[{"name":"Authorization","in":"header","description":"Bearer <ключ из личного кабинета>","required":true,"type":"string"},{"name":"project_id","in":"query","description":"ID проекта","required":true,"type":"integer"}],"responses":{"200":{"description":"ID, имя и логин участников"}}}},"/task/tasks/":{"get":{"tags":["Task API"],"summary":"Список задач проекта","description":"Право: task.tasks.read. Учитываются и права пользователя в проекте.","operationId":"taskList","produces":["application/json"],"parameters":[{"name":"Authorization","in":"header","description":"Bearer <ключ из личного кабинета>","required":true,"type":"string"},{"name":"project_id","in":"query","description":"ID проекта","required":true,"type":"integer"},{"name":"status","in":"query","description":"all | open | completed","required":false,"type":"string"},{"name":"section_id","in":"query","description":"Раздел","required":false,"type":"integer"},{"name":"executor_id","in":"query","description":"Исполнитель","required":false,"type":"integer"},{"name":"search","in":"query","description":"Поиск по заголовку","required":false,"type":"string"},{"name":"parent_id","in":"query","description":"Подзадачи указанной задачи","required":false,"type":"integer"},{"name":"include_subtasks","in":"query","description":"Включить подзадачи","required":false,"type":"boolean"},{"name":"updated_since","in":"query","description":"Только изменённые после (unix-время)","required":false,"type":"integer"},{"name":"limit","in":"query","description":"Размер страницы, до 200","required":false,"type":"integer"},{"name":"offset","in":"query","description":"Смещение","required":false,"type":"integer"}],"responses":{"200":{"description":"tasks[], total, limit, offset"}}},"post":{"tags":["Task API"],"summary":"Создать задачу","description":"Право: task.tasks.create. Поля: project_id, title, comment, section_id, executor_id, priority (1–3), time_limit, date_start","operationId":"taskCreate","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"Authorization","in":"header","description":"Bearer <ключ из личного кабинета>","required":true,"type":"string"},{"name":"body","in":"body","required":true,"schema":{"type":"object"}}],"responses":{"201":{"description":"Созданная задача"}}}},"/task/task/":{"get":{"tags":["Task API"],"summary":"Карточка задачи","description":"Право: task.tasks.read","operationId":"taskGet","produces":["application/json"],"parameters":[{"name":"Authorization","in":"header","description":"Bearer <ключ из личного кабинета>","required":true,"type":"string"},{"name":"id","in":"query","description":"ID задачи","required":true,"type":"integer"}],"responses":{"200":{"description":"Задача"}}},"post":{"tags":["Task API"],"summary":"Изменить задачу","description":"Право: task.tasks.update. Поля: title, comment, executor_id, priority, time_limit, date_start, progress, completed","operationId":"taskUpdate","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"Authorization","in":"header","description":"Bearer <ключ из личного кабинета>","required":true,"type":"string"},{"name":"id","in":"query","description":"ID задачи","required":true,"type":"integer"},{"name":"body","in":"body","required":true,"schema":{"type":"object"}}],"responses":{"200":{"description":"Обновлённая задача"}}}},"/task/move/":{"post":{"tags":["Task API"],"summary":"Переместить задачу в другой раздел","description":"Право: task.tasks.move. Раздел обязан принадлежать проекту задачи.","operationId":"taskMove","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"Authorization","in":"header","description":"Bearer <ключ из личного кабинета>","required":true,"type":"string"},{"name":"id","in":"query","description":"ID задачи","required":true,"type":"integer"},{"name":"section_id","in":"query","description":"Целевой раздел","required":true,"type":"integer"}],"responses":{"200":{"description":"moved и обновлённая задача"}}}},"/task/delete/":{"post":{"tags":["Task API"],"summary":"Удалить задачу","description":"Право: task.tasks.delete","operationId":"taskDelete","produces":["application/json"],"parameters":[{"name":"Authorization","in":"header","description":"Bearer <ключ из личного кабинета>","required":true,"type":"string"},{"name":"id","in":"query","description":"ID задачи","required":true,"type":"integer"}],"responses":{"200":{"description":"deleted: true"}}}},"/task/history/":{"get":{"tags":["Task API"],"summary":"История изменений задачи","description":"Право: task.history.read","operationId":"taskHistory","produces":["application/json"],"parameters":[{"name":"Authorization","in":"header","description":"Bearer <ключ из личного кабинета>","required":true,"type":"string"},{"name":"task_id","in":"query","description":"ID задачи","required":true,"type":"integer"},{"name":"limit","in":"query","description":"Сколько событий вернуть, до 500","required":false,"type":"integer"}],"responses":{"200":{"description":"events[]: действие, поле, старое и новое значение, автор, дата"}}}}},"definitions":{"AuthorizationResponse":{"type":"object","properties":{"status":{"type":"integer","enum":[200,401,404]},"token":{"type":"string","format":"string"}}},"Kassa":{"type":"object","required":["Catalog","info"],"properties":{"params":{"$ref":"#/definitions/Category"}},"xml":{"name":"Pet"}},"Category":{"type":"object","properties":{"type":{"type":"object","properties":{"class":{"type":"string","description":"","enum":["Catalog"]},"method":{"type":"string","description":"","enum":["info"]}}},"values":{"type":"object","properties":{"per_page":{"type":"integer","format":"int64"},"cur_page":{"type":"integer","format":"int64"}}}},"xml":{"name":"Category"}},"CatalogInfoResponse":{"type":"object","properties":{"status":{"type":"integer","enum":[200,401,404]},"output":{"type":"array","items":{"properties":{"pagination":{"type":"array","items":[[{"enum":[1]},{"enum":[2]},{"enum":[3]}]]},"paginationTotalPage":{"type":"integer","enum":[15]},"id":{"type":"integer","enum":[1]},"title":{"type":"string","enum":["Душевая стойка Frap F2415-2"]},"description":{"type":"string","enum":["Душевая стойка Frap F2415-2"]},"barcode":{"type":"string","enum":["1235dSSS5555"]},"sku":{"type":"string","enum":["1235dSSS5555"]},"files_post":{"type":"string","enum":["er159D55533WWWfffh532.png"]},"price":{"type":"integer","enum":[110000]},"quantity":{"type":"integer","enum":[1]}}}}}}}}