ПланФикс API file.upload — различия между версиями
Материал из ПланФикс
Seva (обсуждение | вклад) |
Artem (обсуждение | вклад) |
||
(не показано 5 промежуточных версий 1 участника) | |||
Строка 11: | Строка 11: | ||
<id></id> | <id></id> | ||
</project> | </project> | ||
+ | <owner> | ||
+ | <id></id> | ||
+ | </owner> | ||
+ | <target></target> | ||
+ | <action> | ||
+ | <id></id> | ||
+ | </action> | ||
<files> | <files> | ||
<file> | <file> | ||
Строка 21: | Строка 28: | ||
<body></body> | <body></body> | ||
<description></description> | <description></description> | ||
+ | <newversion></newversion> | ||
</file> | </file> | ||
</files> | </files> | ||
Строка 36: | Строка 44: | ||
!width="150"|Название !!width="200"| Тип !!width="50%"| Значение !! Примечание | !width="150"|Название !!width="200"| Тип !!width="50%"| Значение !! Примечание | ||
|- | |- | ||
− | |task || ||в рамках | + | |silent ||bool ||при значении 1 - об изменении не рассылаются уведомления ||обязательное значение 1 при массовых периодических обновлениях задач |
+ | |- | ||
+ | |task || ||в рамках какой задачи сохраняется ||исключает наличие '''project''' | ||
|- | |- | ||
|task.id ||int ||идентификатор задачи || | |task.id ||int ||идентификатор задачи || | ||
Строка 43: | Строка 53: | ||
|- | |- | ||
|project.id ||int || идентификатор проекта|| | |project.id ||int || идентификатор проекта|| | ||
+ | |- | ||
+ | |owner || || автор загружаемых файлов||необязательное поле. Если не указано - берется пользователь от имени которого выполняется функция | ||
+ | |- | ||
+ | |owner.id ||int ||идентификатор автора файлов|| | ||
+ | |- | ||
+ | |target ||string ||куда прикрепить файл, может принимать одно из следующих значений: | ||
+ | * action - к существующему действию (указанному в action.id) | ||
+ | * task - к самой задаче (нужны права на ее изменение у автора запроса) | ||
+ | || необязательный параметр, по умолчанию файл крепится новым действием к задаче | ||
+ | |- | ||
+ | |action.id ||int ||идентификатор действия, к которому крепится файл|| | ||
|- | |- | ||
|files || ||корневой элемент содержащий список сохраняемых файлов || | |files || ||корневой элемент содержащий список сохраняемых файлов || | ||
Строка 61: | Строка 82: | ||
|- | |- | ||
|file.description ||string || краткое описание содержимого файла || не обязательный параметр, игнорируется, если '''sourceType'''=PROJECT | |file.description ||string || краткое описание содержимого файла || не обязательный параметр, игнорируется, если '''sourceType'''=PROJECT | ||
+ | |- | ||
+ | |file.newversion ||boolean || если значение равно "1", при совпадении имени файла с ранее загруженным, не выдаётся ошибка, а файл загружается, как новая версия существующего || не обязательный параметр | ||
|- | |- | ||
|notifiedList || ||список пользователей которых должны уведомить || | |notifiedList || ||список пользователей которых должны уведомить || | ||
Строка 75: | Строка 98: | ||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
<response status="ok"> | <response status="ok"> | ||
− | < | + | <files> |
− | < | + | <file> |
− | </ | + | <uniqueId></uniqueId> |
+ | <name></name> | ||
+ | </file> | ||
+ | <file> | ||
+ | <uniqueId></uniqueId> | ||
+ | <name></name> | ||
+ | </file> | ||
+ | <!-- ... --> | ||
+ | </files> | ||
</response> | </response> | ||
</source> | </source> | ||
Строка 86: | Строка 117: | ||
|- | |- | ||
|} | |} | ||
+ | Ответ является списком файлов из имён файлов и присвоенных им идентификаторов. | ||
В противном случае будет возвращен ответ с ошибкой: | В противном случае будет возвращен ответ с ошибкой: | ||
Строка 92: | Строка 124: | ||
<response status="error"> | <response status="error"> | ||
<code></code> | <code></code> | ||
+ | <id></id> | ||
+ | <name></name> | ||
</response> | </response> | ||
</source> | </source> | ||
− | + | Параметры id и name присутствуют при code=9006 (имя файла совпадает с именем уже существующего в данном проекте), и в них содержится имя и идентификатор существующего файла. | |
== Перейти == | == Перейти == |
Текущая версия на 07:36, 3 сентября 2020
Функция позволяет прикрепить файл к проекту или задаче. Формат вызова:
<?xml version="1.0" encoding="UTF-8"?>
<request method="file.upload">
<account></account>
<sid></sid>
<task>
<id></id>
</task>
<project>
<id></id>
</project>
<owner>
<id></id>
</owner>
<target></target>
<action>
<id></id>
</action>
<files>
<file>
<name></name>
<sourceType></sourceType>
<otherFile>
<id></id>
<url></url>
</otherFile>
<body></body>
<description></description>
<newversion></newversion>
</file>
</files>
<notifiedList>
<users>
<id></id>
<id></id>
<!-- ... -->
</users>
</notifiedList>
<signature></signature>
</request>
Название | Тип | Значение | Примечание |
---|---|---|---|
silent | bool | при значении 1 - об изменении не рассылаются уведомления | обязательное значение 1 при массовых периодических обновлениях задач |
task | в рамках какой задачи сохраняется | исключает наличие project | |
task.id | int | идентификатор задачи | |
project | в рамках какого проекта сохраняется | используется, если не задан task | |
project.id | int | идентификатор проекта | |
owner | автор загружаемых файлов | необязательное поле. Если не указано - берется пользователь от имени которого выполняется функция | |
owner.id | int | идентификатор автора файлов | |
target | string | куда прикрепить файл, может принимать одно из следующих значений:
|
необязательный параметр, по умолчанию файл крепится новым действием к задаче |
action.id | int | идентификатор действия, к которому крепится файл | |
files | корневой элемент содержащий список сохраняемых файлов | ||
file | сохраняемый файл | ||
file.name | string | имя сохраняемого файла | игнорируется, если sourceType=PROJECT |
file.sourceType | enum | тип источника | список допустимых значений смотри в типы источников файла |
file.otherFile | Использовать уже существующий файл | используется при sourceType: INTERNET, PROJECT | |
file.otherFile.id | int | идентификатор файла, используется при ссылке на файл из проекта | sourceType=PROJECT |
file.otherFile.url | string | URL фала в Интернет | используется только при sourceType=INTERNET |
file.body | string | тело файла закодированное base64 | используется при sourceType=FILESYSTEM |
file.description | string | краткое описание содержимого файла | не обязательный параметр, игнорируется, если sourceType=PROJECT |
file.newversion | boolean | если значение равно "1", при совпадении имени файла с ранее загруженным, не выдаётся ошибка, а файл загружается, как новая версия существующего | не обязательный параметр |
notifiedList | список пользователей которых должны уведомить | ||
notifiedList.users | корневой элемент списка пользователей | ||
notifiedList.users.id | int | идентификатор пользователя |
Результат удачного выполнения запроса:
<?xml version="1.0" encoding="UTF-8"?>
<response status="ok">
<files>
<file>
<uniqueId></uniqueId>
<name></name>
</file>
<file>
<uniqueId></uniqueId>
<name></name>
</file>
<!-- ... -->
</files>
</response>
Название | Тип | Значение | Примечание |
---|---|---|---|
action.id | int | идентификатор добавленного действия |
Ответ является списком файлов из имён файлов и присвоенных им идентификаторов.
В противном случае будет возвращен ответ с ошибкой:
<?xml version="1.0" encoding="UTF-8"?>
<response status="error">
<code></code>
<id></id>
<name></name>
</response>
Параметры id и name присутствуют при code=9006 (имя файла совпадает с именем уже существующего в данном проекте), и в них содержится имя и идентификатор существующего файла.