PyBitrix is my lightweight implementation of Bitrix 24 REST API wrapper
Project description
PyBitrix
PyBitrix is my lightweight implementation of Bitrix 24 REST API wrapper that I use in my own applications/integrations
Requirements
- Python 3.6+
- requests
- aiohttp
Quick start
Install package from pip
pip3 install pybitrix
Then create PyBitrix instance
from pybitrix import PyBitrix
# for webhook usage
webhook = "https://You/hook from/bitrix/developers panel/"
b24 = PyBitrix(inbound_hook=webhook)
# for use as application (with tokens)
domain = "BX DOMAIN (eg. some-stuff.bitrix.ru). Can be taken from bitrix request to your app"
auth_id = "ACCESS_TOKEN_TAKEN_FROM_BITRIX_REQUEST_TO_YOUR_APP"
refresh_id = "REFRESH_TOKEN_TAKEN_FROM_BITRIX_REQUEST_TO_YOUR_APP"
app_id = "APP_ID_FROM_MARKETPLACE_OR_LOCAL_APP_INSTALLATION"
app_secret = "SECRET_KEY_FROM_MARKETPLACE_OR_LOCAL_APP_INSTALLATION"
b24 = PyBitrix(domain=domain, access_token=auth_id, refresh_token=refresh_id, app_id=app_id, app_secret=app_secret)
Make call
bx24.call('crm.contact.list', {
'order': ['DSC'],
'select': ['TITLE', 'DATE_CREATE'],
'filter': {"<ID": 50}
})
Make batch call
batch={
'contacts': 'crm.contact.list',
'deals': 'crm.deal.list'
}
batchParams={
'contacts': [
'select[]=TITLE',
'order[ID]=DSC',
'filter[>ID]=15'
], 'deals' : [
'select[]=TITLE',
'select[]=STAGE_ID'
]
}
response = bx24.callBatch(batch=batch, batchParams=batchParams)
print("CONTACTS: {}".format(response['result']['result']['contacts']))
print("DEALS: {}".format(response['result']['result']['deals']))
Renew tokens
PyBitrix refreshes tokens automatically, but if you want to do this manually, you should call method refresh_tockens()
bx24.refresh_tokens()
asyncio + aiohttp
To use async version, you need to just import PyBitrixAsync
from pybitrix import PyBitrixAsync
b24 = PyBitrixAsync(...)
result = await b24(...)
Todos
- More comfortable batchParams collector
- Fast lists uploading via
'start': -1
License
MIT
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file PyBitrix-1.2.7.tar.gz.
File metadata
- Download URL: PyBitrix-1.2.7.tar.gz
- Upload date:
- Size: 5.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
546713b0b52ccb6f317fd45883a9b84cd82974a46f04dcc63d605dfe1e06ce12
|
|
| MD5 |
a5bae2c7bbf19098dc3cd4194543c6d4
|
|
| BLAKE2b-256 |
6bba291e69039cedd608164d2529f4082f64d121fe364db47a6502a0f2b976b9
|
File details
Details for the file PyBitrix-1.2.7-py3-none-any.whl.
File metadata
- Download URL: PyBitrix-1.2.7-py3-none-any.whl
- Upload date:
- Size: 6.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.10.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2c07e5c1d4966ab176fbe2ca44082c9f736fd59ea465967ed3bdbf5e54838a23
|
|
| MD5 |
130b508643367a9761e4d802cc425a1a
|
|
| BLAKE2b-256 |
40058a9223d5024e51580cd7e125edb41fed7c7cfd3a0f005e053400c3930e0b
|