Metadata-Version: 2.1
Name: aiorocket
Version: 1.3.1
Summary: Async Python SDK for TON Rocket
Author-email: Sovenok-Hacker <artemka.hvostov@yandex.ru>
Project-URL: homepage, https://github.com/Sovenok-Hacker/aiorocket
Project-URL: repository, https://github.com/Sovenok-Hacker/aiorocket.git
Project-URL: MainnetBot, https://t.me/tonRocketBot
Project-URL: TestnetBot, https://t.me/ton_rocket_test_bot
Project-URL: Creator, https://t.me/Duo_sova
Keywords: ton,rocket,sdk,async,the open network,bot,telegram,crypto,cryptocurrency
Classifier: Development Status :: 4 - Beta
Classifier: Programming Language :: Python
Requires-Python: >=3.7
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: aiohttp

# SDK для работы с TON Rocket

## 🔐 Авторизация

Как получить токен написано [тут](https://pay.ton-rocket.com/api/).

Mainnet:

```python
import aiorocket
api = aiorocket.Rocket('токен')
```

Testnet:

```python
import aiorocket
api = aiorocket.Rocket('токен', testnet=True)
```

## 🚀 Методы

### Получение информации о приложении
[Документация](https://pay.ton-rocket.com/api/#/app/AppsController_getAppInfo)

Пример:
```python
await api.info()
```

### Перевод
Все параметры как в [документации](https://pay.ton-rocket.com/api/#/app/AppsController_transfer)

Пример:
```python
await api.send(
    tgUserId=1448705322,
    currency="TONCOIN",
    amount=0.123,
    description="Всем совятам привет!"
)
```

### Вывод

Все параметры как в [документации](https://pay.ton-rocket.com/api/#/app/AppsController_withdrawal)

Пример:
```python
await api.withdraw(
    address="EQAJkw0RC9s_FAEmKr4GftJsNbA0IK0o4cfEH3bNoSbKJHAy",
    currency="TONCOIN",
    amount=0.123,
    comment="Всем совятам привет!"
)
```

### Создание чека
Все параметры как в [документации](https://pay.ton-rocket.com/api/#/multi-cheques/ChequesController_createCheque)

Пример:
```python
cheque = await api.create_cheque({
    chequePerUser=0.005,
    usersNumber=100,
    refProgram=50,
    password="пароль :D",
    description="Чек для вас",
    sendNotifications=True,
    enableCaptcha=True,
    telegramResourcesIds=[
        "-1001799549067"
    ]
})
```

### Получение чеков
[Документация](https://pay.ton-rocket.com/api/#/multi-cheques/ChequesController_getCheques)

Пример:
```python
await api.get_cheques()
```

### Получение чека по ID
Все параметры как в [документации](https://pay.ton-rocket.com/api/#/multi-cheques/ChequesController_getCheque)

Пример:
```python
await api.get_cheque(1234)
```

### Удаление чека
Все параметры как в [документации](https://pay.ton-rocket.com/api/#/multi-cheques/ChequesController_deleteCheque)

Пример:
```python
await api.delete_cheque(1234)
# ИЛИ ТАК
await cheque.delete() # в стиле ООП
```

### Создание счёта
Все параметры как в [документации](https://pay.ton-rocket.com/api/#/tg-invoices/InvoicesController_createInvoice)

Пример:
```python
invoice = await api.createInvoice(
    amount=1.23,
    description="покупка лучшой вещи в мире",
    hiddenMessage="спасибо",
    callbackUrl="https://t.me/ton_rocket",
    payload="some payload",
    expiredIn=10
)
```

### Получение счетов
[Документация](https://pay.ton-rocket.com/api/#/tg-invoices/InvoicesController_deleteInvoice)

Пример:
```python
await api.get_invoices()
```

### Получение счёта по ID
Все параметры как в [документации](https://pay.ton-rocket.com/api/#/tg-invoices/InvoicesController_getInvoice)

Пример:
```python
await api.get_invoice(1234)
```

### Удаление счёта
Все параметры как в [документации](https://pay.ton-rocket.com/api/#/tg-invoices/InvoicesController_deleteInvoice)

Пример:
```python
await api.delete_invoice(1234)
# ИЛИ ТАК
await invoice.delete() # в стиле ООП
```

### Доступные валюты
[Документация](https://pay.ton-rocket.com/api/#/currencies/CurrenciesController_getCoins)

Пример:
```python
await api.available_currencies()
```

## ⚠ Обработка ошибок

```python
try:
    api.get_invoice(1234) # вызов метода
except aiorocket.classes.RocketAPIError as err:
    print(err.errors)
```

Результат:
```json
{
    "property": "somePropertyName",
    "error": "somePropertyName should be less than X"
}
```
