ПланФикс API file.upload — различия между версиями
Материал из ПланФикс
								
												
				Seva (обсуждение | вклад)  | 
				Artem (обсуждение | вклад)   | 
				||
| (не показаны 3 промежуточные версии 1 участника) | |||
| Строка 11: | Строка 11: | ||
     <id></id>  |      <id></id>  | ||
   </project>  |    </project>  | ||
| + |   <owner>  | ||
| + |     <id></id>  | ||
| + |   </owner>  | ||
| + |   <target></target>  | ||
| + |   <action>  | ||
| + |     <id></id>  | ||
| + |   </action>  | ||
   <files>  |    <files>  | ||
     <file>  |      <file>  | ||
       <name></name>  |        <name></name>  | ||
| − | |||
| − | |||
| − | |||
       <sourceType></sourceType>  |        <sourceType></sourceType>  | ||
       <otherFile>  |        <otherFile>  | ||
| Строка 24: | Строка 28: | ||
       <body></body>  |        <body></body>  | ||
       <description></description>  |        <description></description>  | ||
| + |       <newversion></newversion>  | ||
     </file>  |      </file>  | ||
   </files>  |    </files>  | ||
| Строка 38: | Строка 43: | ||
{| class="wikitable" style="margin-top: 1em; width:100% "  | {| class="wikitable" style="margin-top: 1em; width:100% "  | ||
!width="150"|Название !!width="200"| Тип !!width="50%"| Значение !! Примечание    | !width="150"|Название !!width="200"| Тип !!width="50%"| Значение !! Примечание    | ||
| + | |-  | ||
| + | |silent ||bool ||при значении 1 - об изменении не рассылаются уведомления ||обязательное значение 1 при массовых периодических обновлениях задач  | ||
|-  | |-  | ||
|task || ||в рамках какой задачи сохраняется ||исключает наличие '''project'''  | |task || ||в рамках какой задачи сохраняется ||исключает наличие '''project'''  | ||
| Строка 46: | Строка 53: | ||
|-  | |-  | ||
|project.id ||int || идентификатор проекта||  | |project.id ||int || идентификатор проекта||  | ||
| + | |-  | ||
| + | |owner || || автор загружаемых файлов||необязательное поле. Если не указано - берется пользователь от имени которого выполняется функция  | ||
| + | |-  | ||
| + | |owner.id ||int ||идентификатор автора файлов||  | ||
| + | |-  | ||
| + | |target ||string ||куда прикрепить файл, может принимать одно из следующих значений:  | ||
| + | * action - к существующему действию (указанному в action.id)  | ||
| + | * task - к самой задаче (нужны права на ее изменение у автора запроса)  | ||
| + |  || необязательный параметр, по умолчанию файл крепится новым действием к задаче  | ||
| + | |-  | ||
| + | |action.id ||int ||идентификатор действия, к которому крепится файл||  | ||
|-  | |-  | ||
|files || ||корневой элемент содержащий список сохраняемых файлов ||  | |files || ||корневой элемент содержащий список сохраняемых файлов ||  | ||
| Строка 52: | Строка 70: | ||
|-  | |-  | ||
|file.name ||string ||имя сохраняемого файла ||игнорируется, если '''sourceType'''=PROJECT  | |file.name ||string ||имя сохраняемого файла ||игнорируется, если '''sourceType'''=PROJECT  | ||
| − | |||
| − | |||
| − | |||
| − | |||
|-  | |-  | ||
|file.sourceType || enum||тип источника || список допустимых значений смотри в [[ПланФикс API Типы источников файла|типы источников файла]]  | |file.sourceType || enum||тип источника || список допустимых значений смотри в [[ПланФикс API Типы источников файла|типы источников файла]]  | ||
| Строка 68: | Строка 82: | ||
|-  | |-  | ||
|file.description ||string || краткое описание содержимого файла || не обязательный параметр, игнорируется, если '''sourceType'''=PROJECT  | |file.description ||string || краткое описание содержимого файла || не обязательный параметр, игнорируется, если '''sourceType'''=PROJECT  | ||
| + | |-  | ||
| + | |file.newversion ||boolean || если значение равно "1", при совпадении имени файла с ранее загруженным, не выдаётся ошибка, а файл загружается, как  новая версия существующего || не обязательный параметр  | ||
|-  | |-  | ||
|notifiedList || ||список пользователей которых должны уведомить ||  | |notifiedList || ||список пользователей которых должны уведомить ||  | ||
| Строка 108: | Строка 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 (имя файла совпадает с именем уже существующего в данном проекте), и в них содержится имя и идентификатор существующего файла.
