Tool for easy working with https://portal5.cbr.ru API
Project description
cbr-client
Клиент для работы с api ЦБ РФ
Описание АПИ - https://cbr.ru/lk_uio/guide/rest_api/
Установка
pip install cbr-client
Зависимости
Использование
# необходимо запускать python -m asyncio
from cbr_client import Client
conn_params = dict(
url='https://portal5test.cbr.ru/back/rapi2',
login='test',
password='test',
user_agent='test app'
)
client = Client(**conn_params)
# или через контекстный менеджер
# async with Client(**conn_params) as client:
# ...
files = [
('report.zip.enc', 'encrypted report content'),
('report.zip.enc.1.sig', 'operator signature'),
('report.zip.enc.2.sig', 'client signature')
]
# отправка отчета на портал ЦБ
# создание сообщения
msg = await client.create_message(files, '1-ПИ')
# загрузка файлов
for f in msg.files:
await client.upload(f)
# или опциональная загрузка чанками
for f in msg.files:
await client.upload(f, chunked=True, chunk_size=2**16)
# финализация (закрытие сессии)
await client.finalize_message(msg)
# получение квитанций
receipts =await client.get_receipts(msg_id=msg.oid)
for rcpt in receipts:
# получение файла из хранилища
for f in rcpt.files:
# сохраняется в f.content
await client.download(f)
# получение сообщений по типу формы
messages = await client.get_messages(form='1-ПИ')
# или по статусу
messages = await client.get_messages(status='draft')
# или по типу сообщения (inbox/outbox)
messages = await client.get_messages(msg_type='outbox')
# паджинация, по умолчанию возвращается первая страница
messages = await client.get_messages(status='draft', page=4)
# или комбинировать параметры как требуется
# получение файлов сообщения
messages = await client.get_messages()
for msg in messages:
# получение файла из хранилища
for f in msg.files:
# сохраняется в f.content
await client.download(f)
# получение списка возможных задач
tasks = await client.get_tasks()
# получение списка справочников с данными
dictionaries = await client.get_dictionaries()
# получение данных из определенного справочника
d = await client.get_dictionary(oid='dictionary_id')
# получение данных профиля
profile = await client.get_profile()
# получение доступной квоты использования хранилища
quota = await client.get_profile_quota()
# удаление сообщения
await client.delete_message(msg_id='message_id')
# в конце работы не забываем закрывать соединение
await client.close()
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
cbr-client-0.3.2.tar.gz
(6.6 kB
view hashes)
Built Distribution
Close
Hashes for cbr_client-0.3.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 568c4f6c7177073bc8b27d155951159f7b2d17ca7ba06f3b164e3fc592265798 |
|
MD5 | 0e78cdf449774c9581094fac53a9e07e |
|
BLAKE2b-256 | 3ba60a8ccad12a8315c9b22f1d9400f19d8d05e3480d6aef6cf7d258f5e647a9 |