ПланФикс API: Работа с файлами: различия между версиями

Материал из Planfix
Перейти к: навигация, поиск
Нет описания правки
 
(не показано 13 промежуточных версий 4 участников)
Строка 1: Строка 1:
{{#seo:
|title=ПланФикс API: Работа с файлами
|titlemode=append
|keywords=планфикс, файлы, документы, апи, api
|description=файлы api
}}


== file.download / скачать файл ==
Функции для работы с файлами:
(!Под вопросом). Позволяет скачать файл.
#[[ПланФикс API file.upload|file.upload / Добавить файл]]
<source lang="xml">
<!-- #[[ПланФикс API file.uploadNewVersion|file.uploadNewVersion / Загрузить новую версию файла]] -->
<?xml version="1.0" encoding="UTF-8"?>
#[[ПланФикс API file.download|file.download / Скачать файл]]
<request method="file.download">
#[[ПланФикс API file.get|file.get / Получение информации о файле]]
  <account><!-- имя аккаунта --></account>
#[[ПланФикс API file.getListForProject|file.getListForProject / Список файлов в проекте]]
  <sid><!-- ключ сессии, полученный после аутентификации --></sid>
#[[ПланФикс API file.getListForTask|file.getListForTask / Список файлов в задаче]]
  <file>
#[[ПланФикс API file.getListForUser|file.getListForUser / Список файлов загруженных пользователем]]
  <id></id>
#[[ПланФикс API file.getListForClient|file.getListForClient /Список файлов контрагента]]
  </file>
#[[ПланФикс API file.getHistory|file.getHistory / Получение истории по файлу]]
  <signature></signature>
#[[ПланФикс API file.delete|file.delete / Удаление файлов]]
</request>
</source>


Ответом будет не стандартный пакет в формате XML а прямой файл. Поэтому надо будет парсить HTTP-ответ. Типа 200 - все ок, 403 - доступ к файлу жапрещен, 404 - фалй не найден.
== file.getListForProject / список файлов ==
Получение списка файлов для проекта.
<source lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
<request method="file.getListForProject">
  <account><!-- имя аккаунта --></account>
  <sid><!-- ключ сессии, полученный после аутентификации --></sid>
  <project>
  <id></id>
  </project>
  <fileGroup></fileGroup>
  <pageCurrent></pageCurrent>
  <pageSize></pageSize>
  <signature></signature>
</request>
</source>
Параметр '''fileGroup''' - не обязательный.
Ответ:
<source lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
<response status="ok">
  <files count="x" totalCount="x">
    <file>
      <id></id>
      <name>имя файла</name>
      <version>версия</version>
      <description>описание</description>
      <date>дата загрузки файла</date>
      <sourceType>смотри раздел Константы. Типы файлов.</sourceType>
      <size>размер в байтах</size>
      <task>
        <id></id>
        <title></title>
      </task>
      <project>
        <id></id>
        <title></title>
      </project>
<!-- пользователь который загрузил данный файл -->
      <user>
        <id></id>
        <name></name>
      </user>
    </file>
    <file>
<!-- ... -->
    </file>
    <!-- ... -->
  </files>
</response>
</source>
Формат такого ответа получают все запросы на список файлов.
== file.getListForTask / список файлов для задачи ==
Получение списка файлов для задачи.
<source lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
<request method="file.getListForTask">
  <account><!-- имя аккаунта --></account>
  <sid><!-- ключ сессии, полученный после аутентификации --></sid>
  <task>
    <id></id>
  </task>
  <fileGroup></fileGroup>
  <pageCurrent></pageCurrent>
  <pageSize></pageSize>
  <signature></signature>
</request>
</source>
Ответ: имеет такой же формат как и в функции '''file.getListForProject'''
== file.getListForUser / список файлов загруженных пользователем ==
Получение списка файлов которые загрузил пользователь. Данную функцию можно вызывать с правами администратора для любого пользователя, либо получать список собственных файлов.
<source lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
<request method="file.getListForUser">
  <account><!-- имя аккаунта --></account>
  <sid><!-- ключ сессии, полученный после аутентификации --></sid>
  <user>
    <id></id>
  </user>
  <fileGroup></fileGroup>
  <pageCurrent></pageCurrent>
  <pageSize></pageSize>
  <signature></signature>
</request>
</source>
Ответ: имеет такой же формат как и в функции '''file.getListForProject'''
== file.getListForClient /список файлов контрагента ==
Получение списка файлов для контрагента/клиента.
<source lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
<request method="file.getListForClient">
  <account><!-- имя аккаунта --></account>
  <sid><!-- ключ сессии, полученный после аутентификации --></sid>
  <client>
    <id></id>
  </client>
  <fileGroup></fileGroup>
  <pageCurrent></pageCurrent>
  <pageSize></pageSize>
  <signature></signature>
</request>
</source>
Ответ: имеет такой же формат как и в функции '''file.getListForProject'''
== Константы ==
=== Типы файлов ===
*'''FILESYSTEM''' - обычный файл
*'''INTERNET''' - внешний файл, хранящийся на внешнем ресурсе.


== Перейти ==
== Перейти ==
[[ПланФикс API]]
[[Список функций]]

Текущая версия от 08:43, 29 ноября 2019