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.
- {gengineapi-0.2.0 → gengineapi-0.2.2}/PKG-INFO +92 -52
- {gengineapi-0.2.0 → gengineapi-0.2.2}/README.md +91 -51
- {gengineapi-0.2.0 → gengineapi-0.2.2}/pyproject.toml +1 -1
- {gengineapi-0.2.0 → gengineapi-0.2.2}/src/gengineapi.egg-info/PKG-INFO +92 -52
- {gengineapi-0.2.0 → gengineapi-0.2.2}/setup.cfg +0 -0
- {gengineapi-0.2.0 → gengineapi-0.2.2}/src/gengineapi/__init__.py +0 -0
- {gengineapi-0.2.0 → gengineapi-0.2.2}/src/gengineapi/client.py +0 -0
- {gengineapi-0.2.0 → gengineapi-0.2.2}/src/gengineapi/config.py +0 -0
- {gengineapi-0.2.0 → gengineapi-0.2.2}/src/gengineapi/exceptions.py +0 -0
- {gengineapi-0.2.0 → gengineapi-0.2.2}/src/gengineapi/farm.py +0 -0
- {gengineapi-0.2.0 → gengineapi-0.2.2}/src/gengineapi/http.py +0 -0
- {gengineapi-0.2.0 → gengineapi-0.2.2}/src/gengineapi/modules/__init__.py +0 -0
- {gengineapi-0.2.0 → gengineapi-0.2.2}/src/gengineapi/modules/auth.py +0 -0
- {gengineapi-0.2.0 → gengineapi-0.2.2}/src/gengineapi/modules/base.py +0 -0
- {gengineapi-0.2.0 → gengineapi-0.2.2}/src/gengineapi/modules/currencies.py +0 -0
- {gengineapi-0.2.0 → gengineapi-0.2.2}/src/gengineapi/modules/finances.py +0 -0
- {gengineapi-0.2.0 → gengineapi-0.2.2}/src/gengineapi/modules/payments.py +0 -0
- {gengineapi-0.2.0 → gengineapi-0.2.2}/src/gengineapi/modules/transactions.py +0 -0
- {gengineapi-0.2.0 → gengineapi-0.2.2}/src/gengineapi/modules/users.py +0 -0
- {gengineapi-0.2.0 → gengineapi-0.2.2}/src/gengineapi.egg-info/SOURCES.txt +0 -0
- {gengineapi-0.2.0 → gengineapi-0.2.2}/src/gengineapi.egg-info/dependency_links.txt +0 -0
- {gengineapi-0.2.0 → gengineapi-0.2.2}/src/gengineapi.egg-info/requires.txt +0 -0
- {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.
|
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
|
-
#
|
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
|
31
|
+
pip install gengineapi
|
32
32
|
```
|
33
33
|
|
34
|
-
|
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
|
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
|
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
|
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
|
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
|
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
|
-
|
266
|
+
import uuid
|
267
|
+
from decimal import Decimal
|
268
|
+
from gengineapi import GEngineClient
|
248
269
|
|
249
270
|
async def main():
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
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
|
-
#
|
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
|
21
|
+
pip install gengineapi
|
22
22
|
```
|
23
23
|
|
24
|
-
|
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
|
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
|
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
|
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
|
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
|
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
|
-
|
256
|
+
import uuid
|
257
|
+
from decimal import Decimal
|
258
|
+
from gengineapi import GEngineClient
|
238
259
|
|
239
260
|
async def main():
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
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
|
Metadata-Version: 2.4
|
2
2
|
Name: gengineapi
|
3
|
-
Version: 0.2.
|
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
|
-
#
|
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
|
31
|
+
pip install gengineapi
|
32
32
|
```
|
33
33
|
|
34
|
-
|
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
|
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
|
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
|
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
|
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
|
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
|
-
|
266
|
+
import uuid
|
267
|
+
from decimal import Decimal
|
268
|
+
from gengineapi import GEngineClient
|
248
269
|
|
249
270
|
async def main():
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
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
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|