Перейти к основному содержимому
Это документация для Пассворка версии 6.0, которая больше не поддерживается.

Актуальная документация находится на странице последней версии 7.0.
Версия: 6.0

Python-коннектор

Как установить

осторожно

Версия Python должна быть не ниже 3.10

pip install git+https://github.com/passwork-me/pip-connector

Учетные данные

Для работы требуются следующие учетные данные:

  • host — Адрес сервера API, например https://.../api/v4;
  • api_key — Ваш API ключ для аутентификации (Пассворк → меню → Настройки API);
  • master_password — Клиентский ключ шифрования. Указывайте только если включено клиентское шифрование.

Метод login() в экземпляре класса PassworkAPI используется для получения временного API токена. Этот токен действует в рамках сессии — пока совершаются запросы к API. После истечения токена потребуется снова войти в систему, чтобы сгенерировать новый. Время жизни токена можно настроить в Пассворке.

Полученный API токен сохраняется как переменная экземпляра с именем session_options внутри класса PassworkAPI и затем отправляется в HTTP-заголовке.

Создание сессии (общий шаг для всех операций)

Создайте экземпляр соединения API и откройте сессию.

from passwork.passwork_api import PassworkAPI

api = PassworkAPI(
host="https://.../api/v4",
api_key="aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
master_password="master_password"
)

Поиск пароля

search_params = {
"query": "test",
"tags": [],
"colors": [],
"vaultId": None,
"includeShared": False,
"includeShortcuts": False,
}

from passwork.password_crud import search_password
found_passwords = search_password(api, search_params)

Получение полной информации о пароле

download_attachments_path не является обязательным аргументом, без него вложения будут сохранены в папке downloaded_attachments/{password_id}.

from passwork.password_crud import get_password

password_id = "0123456789abcdefghijklmn"
download_attachments_path = f"example_folder/{password_id}"

password_full_info = get_password(
api=api,
password_id=password_id,
download_attachments_path=download_attachments_path,
log_pretty_data=False,
)

Получение информации о пароле из входящих

download_attachments_path не является обязательным аргументом, без него вложения будут сохранены в папке downloaded_inbox_attachments/{password_id}.

from passwork.password_crud import get_inbox_password

inbox_password_id = "0123456789abcdefghijklmn"
download_attachments_path = f"example_folder/{inbox_password_id}"

inbox_password_full_info = get_inbox_password(
api=api,
inbox_password_id=inbox_password_id,
download_attachments_path=download_attachments_path,
log_pretty_data=False,
)

Добавление пароля

Если vault_id указан, переменная password_id может быть пустой. Описание параметров — add_password

password_adding_fields = {...}

from passwork.password_crud import add_password

vault_id = "0123456789abcdefghijklmn"

added_password_info = add_password(
api=api,
password_adding_fields=password_adding_fields,
vault_id=vault_id,
)

Удаление пароля

from passwork.password_crud import delete_password

password_id = "0123456789abcdefghijklmn"

delete_password(api=api, password_id=password_id)