Введение: различия между версиями
Seva (обсуждение | вклад) Нет описания правки |
Seva (обсуждение | вклад) Нет описания правки |
||
Строка 47: | Строка 47: | ||
|- | |- | ||
|} | |} | ||
== Авторизация == | |||
Возможно два способа авторизации - по логину и паролю или по токену авторизации. | |||
В первом случае каждый запрос должен содержать заголовок базовой HTTP авторизации и дополнительно в самом теле запроса поле sid - ключ сессии полученный в результате выполнения функции [[ПланФикс_API:Аутентификация|auth]] | |||
Во втором случае каждый запрос должен содержать только заголовок базовой HTTP авторизации. | |||
Токены авторизации создаются в разделе '''Управление аккаунтом / Доступ к API''', и могут быть ограничены только заданными функциями. | |||
В заголовке базовой авторизации в качестве имени пользователя используется APIKey, в качестве пароля - токен авторизации (при авторизации по логину / паролю - пустая строка). | |||
Пример: | |||
<source lang="bash"> | <source lang="bash"> | ||
curl -H 'Accept: application/xml' -H 'Content-Type: application/xml' \ | curl -H 'Accept: application/xml' -H 'Content-Type: application/xml' \ | ||
-u 4db09df5a62a8a32a9522fcac02d3c6f: | -u 4db09df5a62a8a32a9522fcac02d3c6f:06540b851b466ccf84558573aff11b65 -k -d '<request>...</request>' https://api.planfix.ru/xml/ | ||
</source> | </source> | ||
Информация для случая, если заголовок формируется самостоятельно. | |||
Заголовок базовой авторизации выглядит следующим образом: | Заголовок базовой авторизации выглядит следующим образом: | ||
<source lang="bash"> | <source lang="bash"> | ||
Authorization : Basic NGRiMDlkZjVhNjJhOGEzMmE5NTIyZmNhYzAyZDNjNmY6WA== | Authorization : Basic NGRiMDlkZjVhNjJhOGEzMmE5NTIyZmNhYzAyZDNjNmY6WA== | ||
</source> | </source> | ||
где слово после Basic - base64('ApiKey: | где слово после Basic - base64('ApiKey:Token'); | ||
== Формат ответов== | == Формат ответов== |
Версия от 14:12, 10 января 2019
Регистрация приложения
Для того, чтобы приложение смогло начать работу, необходимо сгенерировать аутентификационный ключ и ключ подписи. Сделать это может владелец аккаунта в разделе Управление аккаунтом / Доступ к API.
Важно: работа с API доступна только в платных или премиум-аккаунтах.
Доступ к интерфейсам
Доступ к интерфейсу осуществляется через единственную точку входа, находящуюся по адресу:
https://api.planfix.ru/xml/ - для аккаунтов расположенных в Европе
https://apiru.planfix.ru/xml/ - для аккаунтов расположенных в России
Обратите внимание, что доступ к интерфейсу осуществляется по протоколу HTTPS. Все запросы, использующие незащищенное соединение, будут автоматически игнорироваться, поэтому мы рекомендуем устанавливать тестовое безопасное соединение с точкой доступа к интерфейсам ПланФикс перед отправкой данных.
Все API вызовы выполняются через POST запросы.
Ограничения по запросам от приложения
По-умолчанию, все аккаунты имеют ограничение в 20 000 запросов в сутки и 1 запрос в секунду. Также, для методов, которые возвращают списки значений, установлено ограничение в размере 100 результатов за один запрос.
Формат запросов
Пакет запроса имеет следующую структуру
<?xml version="1.0" encoding="UTF-8"?>
<request method="{Имя_вызываемой функции}">
<account></account>
<sid></sid>
<!-- ... -->
</request>
Название | Тип | Значение | Примечание |
---|---|---|---|
account | string | аккаунт на котором будет выполняться функция | обязательное поле и присутствует во всех запросах |
sid | string(32) | ключ сессии полученный в результате выполнения функции auth | если используется аутентификация по логину/паролю |
Авторизация
Возможно два способа авторизации - по логину и паролю или по токену авторизации. В первом случае каждый запрос должен содержать заголовок базовой HTTP авторизации и дополнительно в самом теле запроса поле sid - ключ сессии полученный в результате выполнения функции auth Во втором случае каждый запрос должен содержать только заголовок базовой HTTP авторизации. Токены авторизации создаются в разделе Управление аккаунтом / Доступ к API, и могут быть ограничены только заданными функциями.
В заголовке базовой авторизации в качестве имени пользователя используется APIKey, в качестве пароля - токен авторизации (при авторизации по логину / паролю - пустая строка). Пример:
curl -H 'Accept: application/xml' -H 'Content-Type: application/xml' \
-u 4db09df5a62a8a32a9522fcac02d3c6f:06540b851b466ccf84558573aff11b65 -k -d '<request>...</request>' https://api.planfix.ru/xml/
Информация для случая, если заголовок формируется самостоятельно. Заголовок базовой авторизации выглядит следующим образом:
Authorization : Basic NGRiMDlkZjVhNjJhOGEzMmE5NTIyZmNhYzAyZDNjNmY6WA==
где слово после Basic - base64('ApiKey:Token');
Формат ответов
Пакет ответа имеет следующую структуру:
<?xml version="1.0" encoding="UTF-8"?>
<response status="{ok|error}">
<code>xxxx</code> <!-- присутствует если статус ошибки error -->
<!-- тело ответа -->
</response>
Все ответы на запросы списков содержат в корневом элементе два атрибута. totalCount - количество всех элементов удовлетворяющих условию, count - количество возвращенных элементов в результате. Например:
<?xml version="1.0" encoding="UTF-8"?>
<response status="ok">
<actions count="5" totalCount="23">
</actions>
</response>
Структура ответа с ошибкой:
<?xml version="1.0" encoding="UTF-8"?>
<response status="error">
<code></code>
</response>