Skip to main content

Tochka API v2 aka Cyclops API

Project description

Tochka API v2 aka Cyclops API Library for Python

PyPI - Python Version PyPI - Version PyPI - Downloads

Ставьте звезды, суки бесполезные! Мне от ваших 100 установок в первый день НИКАКОЙ ПОЛЬЗЫ

Unofficial Python Library for Tochka API

Неофициальная библиотека на Python для работы с АПИ Точка Банка (я его предпочитаю называть дрочка банком). Документация туть.

  • Работает через JSONRPC.
  • Может грузить документы.

Установка:

pip install tochka-cyclops-api

Поддержка asyncio пока не планируется, но за звезду и донат в пару тысяч оперативно добавлю.

В эпоху Docker использовать версии Python, отличные от последних — моветон, поэтому поддержка более старых точно не планируется.

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

from tochka_cyclops_api import ApiTochka, ApiError

api = ApiTochka(
    base_url='<API_URL>',
    sign_system='<SIGN_SYSTEM>',
    sign_thumbprint='<SIGN_THUMBPRINT>',
    pkey_data=open('/path/to/rsaprivkey.pem').read(),
)

# Вызов методов
try:
    """
    Отправит запрос с таким телом:

    {
      "id": "0d6a26ea-84f0-4be2-9999-b46edc9b59b6",
      "jsonrpc": "2.0",
      "method": "identification_payment",
      "params": {
        "payment_id": "cyclops-b9eabfd7-eead-4940-a6b1-4654850664f5",
        "owners":[{
          "virtual_account": "859b645a-ebb8-4f91-8b05-b433c85dc662",
          "amount": 1000
        }]
      }
    }

    * camelCase преобразуется в snake_case: identificationPayment,
      IdentificationPayment и identification_payment равнозначны.
    * Вместо именованных параметров можно передать словарь.
    * Если словарь и именованные параметры передаются вместе, то они мержатся,
      причем именованные параметры перезапишут элементы словаря.

    Результат будет примерно таким:

    {
      "virtual_accounts": [{
        "code": "859b645a-ebb8-4f91-8b05-b433c85dc662",
        "cash": 1000
      }]
    }
    """
    res = api.identificationPayment(payment_id="cyclops-b9eabfd7-eead-4940-a6b1-4654850664f5", owners=[{
        "virtual_account": "859b645a-ebb8-4f91-8b05-b433c85dc662",
        "amount": 1000
    }])

    # Вместо словаря при парсинге объектов используется AttrDict,
    # который позволяет к полям обращаться как к атрибутам, а не только по индексу
    print(rv.virtual_accounts[0])
except ApiError as ex:
    if ex.code == '4411':
        print('Аккаунт не найден')
  ...


rv = api.upload_document(
    'beneficiary',
    # можно передать любой объект, имеющий метод read, например, `requests.get('https://target/path/to/file.pdf')`,
    # но тогда придется указать content_type
    open('/path/to/offer.pdf', 'rb'),  
    beneficiary_id='...',
    document_type='contract_offer',
    # Эти параметры можно опустить, они сгенерируются автоматически
    document_date='2023-11-12',
    document_number='12345',
)

print(rv.document_id)  # cyclops-231020230621590-98a669e2-859b-44ac-9831-4a964ac7e49b

Все мыслимые права защищены в натуре (с) 2023.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tochka_cyclops_api-0.2.7.tar.gz (5.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tochka_cyclops_api-0.2.7-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file tochka_cyclops_api-0.2.7.tar.gz.

File metadata

  • Download URL: tochka_cyclops_api-0.2.7.tar.gz
  • Upload date:
  • Size: 5.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.0 Linux/6.2.0-1014-azure

File hashes

Hashes for tochka_cyclops_api-0.2.7.tar.gz
Algorithm Hash digest
SHA256 74b89cf54142d18af244393030f61a683b2ccb1db5e1b93eaa5db47faad29b35
MD5 054e55b78ba48116a35999425fcaadef
BLAKE2b-256 989eb44a045920b35221c6b90f04ae0a025d1dbf302c2b5ee9109182b85ddc66

See more details on using hashes here.

File details

Details for the file tochka_cyclops_api-0.2.7-py3-none-any.whl.

File metadata

  • Download URL: tochka_cyclops_api-0.2.7-py3-none-any.whl
  • Upload date:
  • Size: 6.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.0 Linux/6.2.0-1014-azure

File hashes

Hashes for tochka_cyclops_api-0.2.7-py3-none-any.whl
Algorithm Hash digest
SHA256 95b5dfa453914fbbf67b4d6a68d6fd2af9d466f601eeb6dfff6723ff2cf62bb8
MD5 c17ca41d47b67c04bd6dfb5a4090a4b5
BLAKE2b-256 7be770bb3fcce3952eab5b1fbc0b3d1d07f8c07aa22155df215a8537d6b2402f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page