Kanboard-Prod/doc/ru_RU/api-json-rpc.markdown

4.4 KiB
Raw Blame History

Json-RPC API

API пользователя и приложения

Имеется два типа доступа к API:

API приложения

  • Доступ к API осуществляется с использованием пользователя “jsonrpc” и ключа, доступного в настройках
  • Доступ ко всем процедурам
  • Не проверяются права доступа
  • Нет пользовательской сессии на сервере
  • Этот доступ можно использовать для: утилит миграции/импорта данных, создания задач из других систем и т.д.

API пользователя

  • Доступ к API под пользовательскими учетными данными (имя пользователя и пароль)
  • Доступ к ограниченному набору процедур
  • Проверка прав доступа к проекту
  • На сервере создается пользовательская сессия
  • Этот доступ можно использовать для клиентов: мобильных/десктопных приложений, утилит коммандной строки и т.д.

Безопасность

  • Всегда используйте протокол HTTPS с действительным сертификатом
  • Если вы делаете мобильное приложение, позаботьтесь о безопасном хранении учетных данных пользователя на мобильном устройстве
  • После 3 неправильных подключений к пользовательскому api, пользователь может разблокировать свою учетную запись только с использованием формы входа
  • Двухуровневая аутентификация пока не доступна через API

Протокол

Канборд использует протокол Json-RPC для взаимодействия с внешними программами.

JSON-RPC - протокол удаленного вызова процедур в формате JSON. По сути своей, тот же XML-RPC, но использующий формат JSON.

Мы используем протокол версии 2. Вы можете вызывать API используя POST{.docutils .literal} HTTP запрос.

Канборд поддерживает пакетные запросы, поэтому вы можете делать многократные API вызовы в одном HTTP запросе. Это, в частности, удобно для мобильных клиентов с высокой сетевой задержкой.

Использование

Русская документация Kanboard