gengineapi 0.2.0__tar.gz → 0.2.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. {gengineapi-0.2.0 → gengineapi-0.2.2}/PKG-INFO +92 -52
  2. {gengineapi-0.2.0 → gengineapi-0.2.2}/README.md +91 -51
  3. {gengineapi-0.2.0 → gengineapi-0.2.2}/pyproject.toml +1 -1
  4. {gengineapi-0.2.0 → gengineapi-0.2.2}/src/gengineapi.egg-info/PKG-INFO +92 -52
  5. {gengineapi-0.2.0 → gengineapi-0.2.2}/setup.cfg +0 -0
  6. {gengineapi-0.2.0 → gengineapi-0.2.2}/src/gengineapi/__init__.py +0 -0
  7. {gengineapi-0.2.0 → gengineapi-0.2.2}/src/gengineapi/client.py +0 -0
  8. {gengineapi-0.2.0 → gengineapi-0.2.2}/src/gengineapi/config.py +0 -0
  9. {gengineapi-0.2.0 → gengineapi-0.2.2}/src/gengineapi/exceptions.py +0 -0
  10. {gengineapi-0.2.0 → gengineapi-0.2.2}/src/gengineapi/farm.py +0 -0
  11. {gengineapi-0.2.0 → gengineapi-0.2.2}/src/gengineapi/http.py +0 -0
  12. {gengineapi-0.2.0 → gengineapi-0.2.2}/src/gengineapi/modules/__init__.py +0 -0
  13. {gengineapi-0.2.0 → gengineapi-0.2.2}/src/gengineapi/modules/auth.py +0 -0
  14. {gengineapi-0.2.0 → gengineapi-0.2.2}/src/gengineapi/modules/base.py +0 -0
  15. {gengineapi-0.2.0 → gengineapi-0.2.2}/src/gengineapi/modules/currencies.py +0 -0
  16. {gengineapi-0.2.0 → gengineapi-0.2.2}/src/gengineapi/modules/finances.py +0 -0
  17. {gengineapi-0.2.0 → gengineapi-0.2.2}/src/gengineapi/modules/payments.py +0 -0
  18. {gengineapi-0.2.0 → gengineapi-0.2.2}/src/gengineapi/modules/transactions.py +0 -0
  19. {gengineapi-0.2.0 → gengineapi-0.2.2}/src/gengineapi/modules/users.py +0 -0
  20. {gengineapi-0.2.0 → gengineapi-0.2.2}/src/gengineapi.egg-info/SOURCES.txt +0 -0
  21. {gengineapi-0.2.0 → gengineapi-0.2.2}/src/gengineapi.egg-info/dependency_links.txt +0 -0
  22. {gengineapi-0.2.0 → gengineapi-0.2.2}/src/gengineapi.egg-info/requires.txt +0 -0
  23. {gengineapi-0.2.0 → gengineapi-0.2.2}/src/gengineapi.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gengineapi
3
- Version: 0.2.0
3
+ Version: 0.2.2
4
4
  Summary: G-Engine API Client
5
5
  Requires-Python: >=3.13
6
6
  Description-Content-Type: text/markdown
@@ -8,7 +8,7 @@ Requires-Dist: aiohttp>=3.8.0
8
8
  Requires-Dist: typing-extensions>=4.0.0
9
9
  Requires-Dist: aiohttp-socks>=0.7.1
10
10
 
11
- # G-Engine API Client
11
+ # GEngineAPI
12
12
 
13
13
  Асинхронный модульный клиент для взаимодействия с API G-Engine.
14
14
 
@@ -28,44 +28,63 @@ Requires-Dist: aiohttp-socks>=0.7.1
28
28
  ## Установка
29
29
 
30
30
  ```bash
31
- pip install -r requirements.txt
31
+ pip install gengineapi
32
32
  ```
33
33
 
34
- Или с помощью setup.py:
34
+ Для поддержки SOCKS5 прокси убедитесь, что установлен пакет `aiohttp-socks`:
35
35
 
36
36
  ```bash
37
- pip install .
37
+ pip install aiohttp-socks
38
38
  ```
39
39
 
40
- ## Структура проекта
40
+ ## Использование
41
41
 
42
- ```
43
- src/
44
- └── gengineapi/
45
- ├── __init__.py # Экспорт основных классов
46
- ├── client.py # Основной класс клиента
47
- ├── http.py # HTTP клиент с поддержкой аутентификации
48
- ├── exceptions.py # Иерархия исключений API
49
- ├── config.py # Класс-конфигурация для настройки параметров
50
- ├── farm.py # Ферма клиентов для управления множеством клиентов
51
- └── modules/ # Папка с модулями API
52
- ├── __init__.py
53
- ├── base.py # Базовый класс для всех модулей
54
- ├── payments.py # Модуль для работы с платежами
55
- ├── finances.py # Модуль для работы с финансами
56
- ├── auth.py # Модуль для аутентификации
57
- ├── users.py # Модуль для работы с пользователями
58
- ├── transactions.py # Модуль для работы с транзакциями
59
- └── currencies.py # Модуль для работы с валютами
60
- ```
42
+ ### Быстрый старт
61
43
 
62
- ## Использование
44
+ ```python
45
+ import os
46
+ import asyncio
47
+ import logging
48
+ from gengineapi import ClientFarm
49
+ from dotenv import load_dotenv
50
+
51
+ load_dotenv()
52
+
53
+ GTOKEN = os.getenv("GTOKEN")
54
+
55
+ # Настройка логирования
56
+ logging.basicConfig(
57
+ level=logging.INFO,
58
+ format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
59
+ )
60
+ logger = logging.getLogger("gengine")
63
61
 
62
+ gfarm = ClientFarm(logger=logger)
63
+
64
+ gfarm.create_config(name="base",
65
+ base_url="https://b2b-api.ggsel.com/api/v2",
66
+ jwt_token=GTOKEN,
67
+ timeout=60,
68
+ max_retries=5,
69
+ proxy="socks5://username:password@host:port") # Прокси опциональные
70
+
71
+ async def main():
72
+ client = await gfarm.get_client("base")
73
+
74
+ async with client:
75
+ me = await client.users.get_me()
76
+
77
+ logger.info(me)
78
+
79
+
80
+ if __name__ == "__main__":
81
+ asyncio.run(main())
82
+ ```
64
83
  ### Инициализация с существующим токеном
65
84
 
66
85
  ```python
67
86
  import asyncio
68
- from src.gengineapi import GEngineClient
87
+ from gengineapi import GEngineClient
69
88
 
70
89
  async def main():
71
90
  # Создаем клиент с существующим токеном
@@ -86,7 +105,7 @@ asyncio.run(main())
86
105
 
87
106
  ```python
88
107
  import asyncio
89
- from src.gengineapi import GEngineClient
108
+ from gengineapi import GEngineClient
90
109
 
91
110
  async def main():
92
111
  # Создаем клиент без токена
@@ -121,7 +140,7 @@ asyncio.run(main())
121
140
 
122
141
  ```python
123
142
  import asyncio
124
- from src.gengineapi import GEngineClient
143
+ from gengineapi import GEngineClient
125
144
 
126
145
  async def main():
127
146
  # Создаем клиент с использованием SOCKS5 прокси
@@ -151,7 +170,7 @@ asyncio.run(main())
151
170
 
152
171
  ```python
153
172
  import asyncio
154
- from src.gengineapi import GEngineConfig
173
+ from gengineapi import GEngineConfig
155
174
 
156
175
  async def main():
157
176
  # Настройка параметров клиента
@@ -196,7 +215,7 @@ asyncio.run(main())
196
215
 
197
216
  ```python
198
217
  import asyncio
199
- from src.gengineapi import ClientFarm
218
+ from gengineapi import ClientFarm
200
219
 
201
220
  async def main():
202
221
  # Создаем ферму клиентов
@@ -240,41 +259,62 @@ async def main():
240
259
  asyncio.run(main())
241
260
  ```
242
261
 
243
- ### Экспорт и импорт конфигураций фермы
262
+ ### Работа с платежами
244
263
 
245
264
  ```python
246
265
  import asyncio
247
- from src.gengineapi import ClientFarm
266
+ import uuid
267
+ from decimal import Decimal
268
+ from gengineapi import GEngineClient
248
269
 
249
270
  async def main():
250
- # Создаем и настраиваем ферму
251
- farm = ClientFarm()
252
-
253
- # Добавляем конфигурации
254
- farm.create_config(name="client1", base_url="...", jwt_token="...", proxy="...")
255
- farm.create_config(name="client2", base_url="...", jwt_token="...", proxy="...")
256
-
257
- # Экспортируем конфигурации в файл
258
- await farm.export_configs("farm_config.json")
259
-
260
- # Импортируем конфигурации из файла
261
- new_farm = await ClientFarm.import_configs("farm_config.json")
262
-
263
- # Используем импортированные конфигурации
264
- client = await new_farm.get_next_client()
265
-
266
- # При завершении работы закрываем все клиенты
267
- await new_farm.close_all()
271
+ async with GEngineClient(
272
+ base_url="https://api.example.com/api/v2",
273
+ jwt_token="your-jwt-token"
274
+ ) as client:
275
+ # Генерируем уникальный идентификатор транзакции
276
+ transaction_id = str(uuid.uuid4())
277
+
278
+ # Создаем и верифицируем платеж
279
+ payment = await client.payments.verify(
280
+ transaction_id=transaction_id,
281
+ service_id=1,
282
+ account="user123",
283
+ amount=Decimal("10.99"),
284
+ currency="USD"
285
+ )
286
+ print(f"Создан платеж: {payment['transaction_id']}")
287
+
288
+ # Выполняем платеж
289
+ result = await client.payments.execute(transaction_id=transaction_id)
290
+ print(f"Статус платежа: {result['status_code']}")
291
+
292
+ # Получаем статус платежа
293
+ status = await client.payments.get_status(transaction_id=transaction_id)
294
+ print(f"Текущий статус платежа: {status['status_code']}")
268
295
 
269
296
  asyncio.run(main())
270
297
  ```
271
298
 
299
+ ## Доступные модули API
300
+
301
+ - `payments` - создание и выполнение платежей
302
+ - `finances` - работа с финансовыми данными
303
+ - `auth` - аутентификация и управление токенами
304
+ - `users` - работа с пользователями и их балансами
305
+ - `transactions` - работа с транзакциями
306
+ - `currencies` - работа с курсами валют
307
+
308
+ ## Дополнительная документация
309
+
310
+ Ручки, которые дергаем - https://b2b-api.ggsel.com/api/v2/docs#
311
+
272
312
  ## Зависимости
273
313
 
274
314
  - Python 3.7+
275
315
  - aiohttp >= 3.8.0
276
316
  - typing-extensions >= 4.0.0
277
- - aiohttp-socks >= 0.7.1 (для поддержки SOCKS5 прокси)
317
+ - aiohttp-socks >= 0.7.1 (опционально, для поддержки SOCKS5 прокси)
278
318
 
279
319
  ## Лицензия
280
320
 
@@ -1,4 +1,4 @@
1
- # G-Engine API Client
1
+ # GEngineAPI
2
2
 
3
3
  Асинхронный модульный клиент для взаимодействия с API G-Engine.
4
4
 
@@ -18,44 +18,63 @@
18
18
  ## Установка
19
19
 
20
20
  ```bash
21
- pip install -r requirements.txt
21
+ pip install gengineapi
22
22
  ```
23
23
 
24
- Или с помощью setup.py:
24
+ Для поддержки SOCKS5 прокси убедитесь, что установлен пакет `aiohttp-socks`:
25
25
 
26
26
  ```bash
27
- pip install .
27
+ pip install aiohttp-socks
28
28
  ```
29
29
 
30
- ## Структура проекта
30
+ ## Использование
31
31
 
32
- ```
33
- src/
34
- └── gengineapi/
35
- ├── __init__.py # Экспорт основных классов
36
- ├── client.py # Основной класс клиента
37
- ├── http.py # HTTP клиент с поддержкой аутентификации
38
- ├── exceptions.py # Иерархия исключений API
39
- ├── config.py # Класс-конфигурация для настройки параметров
40
- ├── farm.py # Ферма клиентов для управления множеством клиентов
41
- └── modules/ # Папка с модулями API
42
- ├── __init__.py
43
- ├── base.py # Базовый класс для всех модулей
44
- ├── payments.py # Модуль для работы с платежами
45
- ├── finances.py # Модуль для работы с финансами
46
- ├── auth.py # Модуль для аутентификации
47
- ├── users.py # Модуль для работы с пользователями
48
- ├── transactions.py # Модуль для работы с транзакциями
49
- └── currencies.py # Модуль для работы с валютами
50
- ```
32
+ ### Быстрый старт
51
33
 
52
- ## Использование
34
+ ```python
35
+ import os
36
+ import asyncio
37
+ import logging
38
+ from gengineapi import ClientFarm
39
+ from dotenv import load_dotenv
40
+
41
+ load_dotenv()
42
+
43
+ GTOKEN = os.getenv("GTOKEN")
44
+
45
+ # Настройка логирования
46
+ logging.basicConfig(
47
+ level=logging.INFO,
48
+ format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
49
+ )
50
+ logger = logging.getLogger("gengine")
53
51
 
52
+ gfarm = ClientFarm(logger=logger)
53
+
54
+ gfarm.create_config(name="base",
55
+ base_url="https://b2b-api.ggsel.com/api/v2",
56
+ jwt_token=GTOKEN,
57
+ timeout=60,
58
+ max_retries=5,
59
+ proxy="socks5://username:password@host:port") # Прокси опциональные
60
+
61
+ async def main():
62
+ client = await gfarm.get_client("base")
63
+
64
+ async with client:
65
+ me = await client.users.get_me()
66
+
67
+ logger.info(me)
68
+
69
+
70
+ if __name__ == "__main__":
71
+ asyncio.run(main())
72
+ ```
54
73
  ### Инициализация с существующим токеном
55
74
 
56
75
  ```python
57
76
  import asyncio
58
- from src.gengineapi import GEngineClient
77
+ from gengineapi import GEngineClient
59
78
 
60
79
  async def main():
61
80
  # Создаем клиент с существующим токеном
@@ -76,7 +95,7 @@ asyncio.run(main())
76
95
 
77
96
  ```python
78
97
  import asyncio
79
- from src.gengineapi import GEngineClient
98
+ from gengineapi import GEngineClient
80
99
 
81
100
  async def main():
82
101
  # Создаем клиент без токена
@@ -111,7 +130,7 @@ asyncio.run(main())
111
130
 
112
131
  ```python
113
132
  import asyncio
114
- from src.gengineapi import GEngineClient
133
+ from gengineapi import GEngineClient
115
134
 
116
135
  async def main():
117
136
  # Создаем клиент с использованием SOCKS5 прокси
@@ -141,7 +160,7 @@ asyncio.run(main())
141
160
 
142
161
  ```python
143
162
  import asyncio
144
- from src.gengineapi import GEngineConfig
163
+ from gengineapi import GEngineConfig
145
164
 
146
165
  async def main():
147
166
  # Настройка параметров клиента
@@ -186,7 +205,7 @@ asyncio.run(main())
186
205
 
187
206
  ```python
188
207
  import asyncio
189
- from src.gengineapi import ClientFarm
208
+ from gengineapi import ClientFarm
190
209
 
191
210
  async def main():
192
211
  # Создаем ферму клиентов
@@ -230,41 +249,62 @@ async def main():
230
249
  asyncio.run(main())
231
250
  ```
232
251
 
233
- ### Экспорт и импорт конфигураций фермы
252
+ ### Работа с платежами
234
253
 
235
254
  ```python
236
255
  import asyncio
237
- from src.gengineapi import ClientFarm
256
+ import uuid
257
+ from decimal import Decimal
258
+ from gengineapi import GEngineClient
238
259
 
239
260
  async def main():
240
- # Создаем и настраиваем ферму
241
- farm = ClientFarm()
242
-
243
- # Добавляем конфигурации
244
- farm.create_config(name="client1", base_url="...", jwt_token="...", proxy="...")
245
- farm.create_config(name="client2", base_url="...", jwt_token="...", proxy="...")
246
-
247
- # Экспортируем конфигурации в файл
248
- await farm.export_configs("farm_config.json")
249
-
250
- # Импортируем конфигурации из файла
251
- new_farm = await ClientFarm.import_configs("farm_config.json")
252
-
253
- # Используем импортированные конфигурации
254
- client = await new_farm.get_next_client()
255
-
256
- # При завершении работы закрываем все клиенты
257
- await new_farm.close_all()
261
+ async with GEngineClient(
262
+ base_url="https://api.example.com/api/v2",
263
+ jwt_token="your-jwt-token"
264
+ ) as client:
265
+ # Генерируем уникальный идентификатор транзакции
266
+ transaction_id = str(uuid.uuid4())
267
+
268
+ # Создаем и верифицируем платеж
269
+ payment = await client.payments.verify(
270
+ transaction_id=transaction_id,
271
+ service_id=1,
272
+ account="user123",
273
+ amount=Decimal("10.99"),
274
+ currency="USD"
275
+ )
276
+ print(f"Создан платеж: {payment['transaction_id']}")
277
+
278
+ # Выполняем платеж
279
+ result = await client.payments.execute(transaction_id=transaction_id)
280
+ print(f"Статус платежа: {result['status_code']}")
281
+
282
+ # Получаем статус платежа
283
+ status = await client.payments.get_status(transaction_id=transaction_id)
284
+ print(f"Текущий статус платежа: {status['status_code']}")
258
285
 
259
286
  asyncio.run(main())
260
287
  ```
261
288
 
289
+ ## Доступные модули API
290
+
291
+ - `payments` - создание и выполнение платежей
292
+ - `finances` - работа с финансовыми данными
293
+ - `auth` - аутентификация и управление токенами
294
+ - `users` - работа с пользователями и их балансами
295
+ - `transactions` - работа с транзакциями
296
+ - `currencies` - работа с курсами валют
297
+
298
+ ## Дополнительная документация
299
+
300
+ Ручки, которые дергаем - https://b2b-api.ggsel.com/api/v2/docs#
301
+
262
302
  ## Зависимости
263
303
 
264
304
  - Python 3.7+
265
305
  - aiohttp >= 3.8.0
266
306
  - typing-extensions >= 4.0.0
267
- - aiohttp-socks >= 0.7.1 (для поддержки SOCKS5 прокси)
307
+ - aiohttp-socks >= 0.7.1 (опционально, для поддержки SOCKS5 прокси)
268
308
 
269
309
  ## Лицензия
270
310
 
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "gengineapi"
3
- version = "0.2.0"
3
+ version = "0.2.2"
4
4
  description = "G-Engine API Client"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.13"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: gengineapi
3
- Version: 0.2.0
3
+ Version: 0.2.2
4
4
  Summary: G-Engine API Client
5
5
  Requires-Python: >=3.13
6
6
  Description-Content-Type: text/markdown
@@ -8,7 +8,7 @@ Requires-Dist: aiohttp>=3.8.0
8
8
  Requires-Dist: typing-extensions>=4.0.0
9
9
  Requires-Dist: aiohttp-socks>=0.7.1
10
10
 
11
- # G-Engine API Client
11
+ # GEngineAPI
12
12
 
13
13
  Асинхронный модульный клиент для взаимодействия с API G-Engine.
14
14
 
@@ -28,44 +28,63 @@ Requires-Dist: aiohttp-socks>=0.7.1
28
28
  ## Установка
29
29
 
30
30
  ```bash
31
- pip install -r requirements.txt
31
+ pip install gengineapi
32
32
  ```
33
33
 
34
- Или с помощью setup.py:
34
+ Для поддержки SOCKS5 прокси убедитесь, что установлен пакет `aiohttp-socks`:
35
35
 
36
36
  ```bash
37
- pip install .
37
+ pip install aiohttp-socks
38
38
  ```
39
39
 
40
- ## Структура проекта
40
+ ## Использование
41
41
 
42
- ```
43
- src/
44
- └── gengineapi/
45
- ├── __init__.py # Экспорт основных классов
46
- ├── client.py # Основной класс клиента
47
- ├── http.py # HTTP клиент с поддержкой аутентификации
48
- ├── exceptions.py # Иерархия исключений API
49
- ├── config.py # Класс-конфигурация для настройки параметров
50
- ├── farm.py # Ферма клиентов для управления множеством клиентов
51
- └── modules/ # Папка с модулями API
52
- ├── __init__.py
53
- ├── base.py # Базовый класс для всех модулей
54
- ├── payments.py # Модуль для работы с платежами
55
- ├── finances.py # Модуль для работы с финансами
56
- ├── auth.py # Модуль для аутентификации
57
- ├── users.py # Модуль для работы с пользователями
58
- ├── transactions.py # Модуль для работы с транзакциями
59
- └── currencies.py # Модуль для работы с валютами
60
- ```
42
+ ### Быстрый старт
61
43
 
62
- ## Использование
44
+ ```python
45
+ import os
46
+ import asyncio
47
+ import logging
48
+ from gengineapi import ClientFarm
49
+ from dotenv import load_dotenv
50
+
51
+ load_dotenv()
52
+
53
+ GTOKEN = os.getenv("GTOKEN")
54
+
55
+ # Настройка логирования
56
+ logging.basicConfig(
57
+ level=logging.INFO,
58
+ format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
59
+ )
60
+ logger = logging.getLogger("gengine")
63
61
 
62
+ gfarm = ClientFarm(logger=logger)
63
+
64
+ gfarm.create_config(name="base",
65
+ base_url="https://b2b-api.ggsel.com/api/v2",
66
+ jwt_token=GTOKEN,
67
+ timeout=60,
68
+ max_retries=5,
69
+ proxy="socks5://username:password@host:port") # Прокси опциональные
70
+
71
+ async def main():
72
+ client = await gfarm.get_client("base")
73
+
74
+ async with client:
75
+ me = await client.users.get_me()
76
+
77
+ logger.info(me)
78
+
79
+
80
+ if __name__ == "__main__":
81
+ asyncio.run(main())
82
+ ```
64
83
  ### Инициализация с существующим токеном
65
84
 
66
85
  ```python
67
86
  import asyncio
68
- from src.gengineapi import GEngineClient
87
+ from gengineapi import GEngineClient
69
88
 
70
89
  async def main():
71
90
  # Создаем клиент с существующим токеном
@@ -86,7 +105,7 @@ asyncio.run(main())
86
105
 
87
106
  ```python
88
107
  import asyncio
89
- from src.gengineapi import GEngineClient
108
+ from gengineapi import GEngineClient
90
109
 
91
110
  async def main():
92
111
  # Создаем клиент без токена
@@ -121,7 +140,7 @@ asyncio.run(main())
121
140
 
122
141
  ```python
123
142
  import asyncio
124
- from src.gengineapi import GEngineClient
143
+ from gengineapi import GEngineClient
125
144
 
126
145
  async def main():
127
146
  # Создаем клиент с использованием SOCKS5 прокси
@@ -151,7 +170,7 @@ asyncio.run(main())
151
170
 
152
171
  ```python
153
172
  import asyncio
154
- from src.gengineapi import GEngineConfig
173
+ from gengineapi import GEngineConfig
155
174
 
156
175
  async def main():
157
176
  # Настройка параметров клиента
@@ -196,7 +215,7 @@ asyncio.run(main())
196
215
 
197
216
  ```python
198
217
  import asyncio
199
- from src.gengineapi import ClientFarm
218
+ from gengineapi import ClientFarm
200
219
 
201
220
  async def main():
202
221
  # Создаем ферму клиентов
@@ -240,41 +259,62 @@ async def main():
240
259
  asyncio.run(main())
241
260
  ```
242
261
 
243
- ### Экспорт и импорт конфигураций фермы
262
+ ### Работа с платежами
244
263
 
245
264
  ```python
246
265
  import asyncio
247
- from src.gengineapi import ClientFarm
266
+ import uuid
267
+ from decimal import Decimal
268
+ from gengineapi import GEngineClient
248
269
 
249
270
  async def main():
250
- # Создаем и настраиваем ферму
251
- farm = ClientFarm()
252
-
253
- # Добавляем конфигурации
254
- farm.create_config(name="client1", base_url="...", jwt_token="...", proxy="...")
255
- farm.create_config(name="client2", base_url="...", jwt_token="...", proxy="...")
256
-
257
- # Экспортируем конфигурации в файл
258
- await farm.export_configs("farm_config.json")
259
-
260
- # Импортируем конфигурации из файла
261
- new_farm = await ClientFarm.import_configs("farm_config.json")
262
-
263
- # Используем импортированные конфигурации
264
- client = await new_farm.get_next_client()
265
-
266
- # При завершении работы закрываем все клиенты
267
- await new_farm.close_all()
271
+ async with GEngineClient(
272
+ base_url="https://api.example.com/api/v2",
273
+ jwt_token="your-jwt-token"
274
+ ) as client:
275
+ # Генерируем уникальный идентификатор транзакции
276
+ transaction_id = str(uuid.uuid4())
277
+
278
+ # Создаем и верифицируем платеж
279
+ payment = await client.payments.verify(
280
+ transaction_id=transaction_id,
281
+ service_id=1,
282
+ account="user123",
283
+ amount=Decimal("10.99"),
284
+ currency="USD"
285
+ )
286
+ print(f"Создан платеж: {payment['transaction_id']}")
287
+
288
+ # Выполняем платеж
289
+ result = await client.payments.execute(transaction_id=transaction_id)
290
+ print(f"Статус платежа: {result['status_code']}")
291
+
292
+ # Получаем статус платежа
293
+ status = await client.payments.get_status(transaction_id=transaction_id)
294
+ print(f"Текущий статус платежа: {status['status_code']}")
268
295
 
269
296
  asyncio.run(main())
270
297
  ```
271
298
 
299
+ ## Доступные модули API
300
+
301
+ - `payments` - создание и выполнение платежей
302
+ - `finances` - работа с финансовыми данными
303
+ - `auth` - аутентификация и управление токенами
304
+ - `users` - работа с пользователями и их балансами
305
+ - `transactions` - работа с транзакциями
306
+ - `currencies` - работа с курсами валют
307
+
308
+ ## Дополнительная документация
309
+
310
+ Ручки, которые дергаем - https://b2b-api.ggsel.com/api/v2/docs#
311
+
272
312
  ## Зависимости
273
313
 
274
314
  - Python 3.7+
275
315
  - aiohttp >= 3.8.0
276
316
  - typing-extensions >= 4.0.0
277
- - aiohttp-socks >= 0.7.1 (для поддержки SOCKS5 прокси)
317
+ - aiohttp-socks >= 0.7.1 (опционально, для поддержки SOCKS5 прокси)
278
318
 
279
319
  ## Лицензия
280
320
 
File without changes