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

Материал из Planfix
Перейти к: навигация, поиск
Строка 174: Строка 174:


Ответ: имеет такой же формат как и в функции '''file.getListForProject'''
Ответ: имеет такой же формат как и в функции '''file.getListForProject'''
== file.getHistory / получение истории по файлу ==
Позволяет получить полную историю по изменениям файла.
<source lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
<request method="file.getHistory">
  <account><!-- имя аккаунта --></account>
  <sid><!-- ключ сессии, полученный после аутентификации --></sid>
  <file>
    <id></id>
  </file>
  <signature></signature>
</request>
</source>
Ответ: имеет такой же формат как и в функции '''file.getListForProject'''
== file.uploadNewVersion / загрузить новую версию файла ==
Функция позволяет загрузить новую версию файла.
<source lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
<request method="file.uploadNewVersion">
  <account><!-- имя аккаунта --></account>
  <sid><!-- ключ сессии, полученный после аутентификации --></sid>
  <file>
    <id>идентификатор обновляемого файла</id>
    <description>новое описание файла</description>
    <name></name>
    <!-- тело файла закодированное base64 -->
    <body></body>
  </file>
  <signature></signature>
</request>
</source>
Ответ:
<source lang="xml">
<?xml version="1.0" encoding="UTF-8"?>
<response status="ok">
  <file>
    <id></id>
  </file>
</response>
</source>


== Константы ==
== Константы ==

Версия от 11:11, 19 августа 2010

file.download / скачать файл

(!Под вопросом). Позволяет скачать файл.

<?xml version="1.0" encoding="UTF-8"?>
<request method="file.download">
  <account><!-- имя аккаунта --></account>
  <sid><!-- ключ сессии, полученный после аутентификации --></sid>
  <file>
    <id></id>
  </file>
  <signature></signature>
</request>

Ответом будет не стандартный пакет в формате XML а прямой файл. Поэтому надо будет парсить HTTP-ответ. Типа 200 - все ок, 403 - доступ к файлу жапрещен, 404 - фалй не найден.


file.get / получение информации о файле

<?xml version="1.0" encoding="UTF-8"?>
<request method="file.get">
  <account><!-- имя аккаунта --></account>
  <sid><!-- ключ сессии, полученный после аутентификации --></sid>
  <file>
    <id></id>
  </file>
  <signature></signature>
</request>

Ответ:

<?xml version="1.0" encoding="UTF-8"?>
<response status="ok">
  <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>
</response>

file.getListForProject / список файлов

Получение списка файлов для проекта.

<?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>

Параметр fileGroup - не обязательный.

Ответ:

<?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>

Формат такого ответа получают все запросы на список файлов.


file.getListForTask / список файлов для задачи

Получение списка файлов для задачи.

<?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>

Ответ: имеет такой же формат как и в функции file.getListForProject

file.getListForUser / список файлов загруженных пользователем

Получение списка файлов которые загрузил пользователь. Данную функцию можно вызывать с правами администратора для любого пользователя, либо получать список собственных файлов.

<?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>

Ответ: имеет такой же формат как и в функции file.getListForProject

file.getListForClient /список файлов контрагента

Получение списка файлов для контрагента/клиента.

<?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>

Ответ: имеет такой же формат как и в функции file.getListForProject


file.getHistory / получение истории по файлу

Позволяет получить полную историю по изменениям файла.

<?xml version="1.0" encoding="UTF-8"?>
<request method="file.getHistory">
  <account><!-- имя аккаунта --></account>
  <sid><!-- ключ сессии, полученный после аутентификации --></sid>
  <file>
    <id></id>
  </file>
  <signature></signature>
</request>

Ответ: имеет такой же формат как и в функции file.getListForProject

file.uploadNewVersion / загрузить новую версию файла

Функция позволяет загрузить новую версию файла.

<?xml version="1.0" encoding="UTF-8"?>
<request method="file.uploadNewVersion">
  <account><!-- имя аккаунта --></account>
  <sid><!-- ключ сессии, полученный после аутентификации --></sid>
  <file>
    <id>идентификатор обновляемого файла</id>
    <description>новое описание файла</description>
    <name></name>
    <!-- тело файла закодированное base64 -->
    <body></body>
  </file>
  <signature></signature>
</request>

Ответ:

<?xml version="1.0" encoding="UTF-8"?>
<response status="ok">
  <file>
    <id></id>
  </file>
</response>

Константы

Типы файлов

  • FILESYSTEM - обычный файл
  • INTERNET - внешний файл, хранящийся на внешнем ресурсе.

Перейти

ПланФикс API