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 Total Downloads

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

Unofficial Python Library for Tochka API

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

  • Работает через JSONRPC.
  • Может грузить документы.
  • Содержит магию "Лунной призмы" 🪄 💫 ✨

Установка:

pip install tochka-cyclops-api

# Если текущая версия падает с ошибкой, установите предыдущую
pip install tochka-cyclops-api==0.3.0

# или так
poetry add tochka-cyclops-api

poetry add git+https://github.com/s3rgeym/tochka-cyclops-api.git

git clone https://github.com/s3rgeym/tochka-cyclops-api.git
cd tochka-cyclops-api
# что-то правим
poetry install --no-dev

Поддержка 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(),
)

# Методы генерируются динамически. Вызов несуществующих атрибутов инстанса ApiTochka преобразуется в запросы к API.
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

Запуск тестов:

poetry run python -m unittest

Все мыслимые права защищены в натуре (с) 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.3.1.tar.gz (6.8 kB view details)

Uploaded Source

Built Distribution

tochka_cyclops_api-0.3.1-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: tochka_cyclops_api-0.3.1.tar.gz
  • Upload date:
  • Size: 6.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.7.1 CPython/3.11.0 Linux/6.2.0-1016-azure

File hashes

Hashes for tochka_cyclops_api-0.3.1.tar.gz
Algorithm Hash digest
SHA256 3582238bb6a288f425ccb7ca563cffae888a09229666c0a4ce039bb1db2f6e99
MD5 83240799d1e1221708dd1b5d5cbef3ed
BLAKE2b-256 4ed3e5fb5b04f433fe28054c6852a6b9379b790dddfae4a63356549367098ac6

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for tochka_cyclops_api-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 214e86a891e8fca4707b4411eebf8a65739b71f84128e8efbe01ec7a176a3f81
MD5 7193aebc671fa2ac3e6f63a6796e56c6
BLAKE2b-256 ac3d39dec50d7823dc0f7f36004dbab5a4a592f93c5666dfe8d4473e730467f1

See more details on using hashes here.

Supported by

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