@@ -4,66 +4,75 @@ Easy way to communicate with bitrix24 portal over REST without OAuth 2.0
44
55## Description
66
7- Bitrix24 REST is a simple API wrapper for working with Bitrix24
8- REST API over webhooks .
7+ Bitrix24 REST is an API wrapper for working with Bitrix24 REST API over webhooks.
8+ No OAuth 2.0 required. It's easy to use and super lightweight, with minimal dependencies .
99
1010## Features
1111
12- - Works both with cloud and on-premises versions of bitrix24, much more
13- - Super easy for setting up. No OAuth implemetation required
14- - Compatible with latests Bitrix24 REST API
15-
16- ## Requirements
17- - Python 2.6+ or 3.2+
18- - requests
12+ - Works with both cloud and on-premises versions of Bitrix24.
13+ - Super easy to setup. No OAuth 2.0 infrastructure required.
14+ - Built with data analysis in mind and fully compatible with Jupyter Notebook.
15+ - Fetch paginated data at once without hassle.
16+ - Works with large datasets and handles rate limits.
1917
2018## Installation
19+
2120```
2221pip install bitrix24-rest
2322```
2423
2524## Quickstart
2625
2726``` python
28- from bitrix24 import *
27+ from bitrix24 import Bitrix24
2928
3029bx24 = Bitrix24(' https://example.bitrix24.com/rest/1/33olqeits4avuyqu' )
3130
3231print (bx24.callMethod(' crm.product.list' ))
3332```
3433
35- ## Advanced usage
36-
37- You can define filters and additional parameters in any order:
34+ In async mode:
3835
3936``` python
40- bx24.callMethod(' crm.deal.list' ,
41- order = {' STAGE_ID' : ' ASC' },
42- filter = {' >PROBABILITY' : 50 },
43- select = [' ID' , ' TITLE' , ' STAGE_ID' , ' PROBABILITY' ])
44- ```
37+ import asyncio
38+ from bitrix24 import bitrix24
4539
46- Catch the server error with exception:
40+ async def main ():
41+ bx24 = Bitrix24(' https://example.bitrix24.com/rest/1/33olqeits4avuyqu' )
42+ result = await bx24.callMethod(' crm.product.list' )
43+ print (result)
4744
48- ``` python
49- try :
50- bx24.callMethod(' tasks.task.add' , fields = {' TITLE' : ' task for test' , ' RESPONSIBLE_ID' : 1 })
51- except BitrixError as message:
52- print (message)
45+ asyncio.run(main())
5346```
5447
48+ ## Advanced usage
49+
50+ - [ Using filters and additional parameters] ( docs/using-filters-and-additional-parameters.md )
51+ - [ Working with large datasets] ( docs/working-with-large-datasets.md )
52+ - [ Disabling certificate verification] ( docs/disabling-certificate-verification.md )
53+
5554## Notes
56- List methods return all available items at once. For large collections
57- of data use limits.
5855
59- ## Tests
56+ List methods return all available items at once. For large collections of data use limits.
6057
58+ ## Development
59+
60+ New contributers and pull requests are welcome. If you have any questions or suggestions, feel free to open an issue.
61+
62+ Code comes with makefile for easy code base management. You can check ` make help ` for more details.
63+
64+ ``` sh
65+ make init install # to create a local virtual environment and install dependencies
66+
67+ make test # to run tests
68+
69+ make lint # to run linter
6170```
62- python -m unittest discover
63- ```
6471
65- ## Author
72+ I suggest to use ` make all ` before committing your changes as it will run all the necessary checks.
73+
74+ ## Support this project
6675
67- Akop Kesheshyan - < [email protected] > 76+ You can support this project by starring ⭐, sharing 📤, and contributing.
6877
69- New contributers and pull requests are welcome .
78+ You can also support the author by buying him a coffee ☕. Click sponsor button on the top of the page .
0 commit comments