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',
login='test',
password='test',
user_agent='test app'
)
client = Client(**conn_params)
# или через контекстный менеджер
# async with Client(**conn_params) as client:
# ...
files = [
('report.zip.enc', b'encrypted report content'),
('report.zip.1.sig', b'operator signature'),
('report.zip.2.sig', b'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.4.tar.gz
(7.5 kB
view details)
Built Distribution
File details
Details for the file cbr-client-0.3.4.tar.gz
.
File metadata
- Download URL: cbr-client-0.3.4.tar.gz
- Upload date:
- Size: 7.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61d3c3cce844fd401be9141cac609ba5043679a8847aa33afca7c53b307f5669 |
|
MD5 | afa16b6a3f405d97f3ea730df985d2c4 |
|
BLAKE2b-256 | 9f7c1309ad69181c6be2a215614d780f3f103d633f91d5180ae3086736053424 |
File details
Details for the file cbr_client-0.3.4-py3-none-any.whl
.
File metadata
- Download URL: cbr_client-0.3.4-py3-none-any.whl
- Upload date:
- Size: 7.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | da4ae0a7f85bca3a84535c074a9d3fe2d9f8777815e7b89101bbeccc9ad76af5 |
|
MD5 | 6a6c622cbfe1a8686bd7e61312cc964f |
|
BLAKE2b-256 | 76369cd341e331dedf0d1ce1729b1c9fdbf7cb2e1fe64496521a95b6bb912642 |