> For the complete documentation index, see [llms.txt](https://tinyteam-1.gitbook.io/python-easydonateclient/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://tinyteam-1.gitbook.io/python-easydonateclient/client/rabota-s-metodami.md).

# Работа с методами

### **Наш код:**

```python
import EasyDonateClient
api = EasyDonateClient.Client(shop_key='Shop-Key', version=3, user_agent='EasyDonate, TinyWorld, TinyWorld/version', debug=True)
```

*Подробнее о коде выше рассказывается в* [Импорт](/python-easydonateclient/nachalo/import.md)

В этом коде мы просто создали объект класса **Client**. Что делать дальше? **Всё просто.**

### Методы

У класса есть много различных методов. Все они возвращают определенное значение - например, информацию о нашем магазине. Вот как это выглядит в коде:

**Код:**

```python
import EasyDonateClient

api = EasyDonateClient.Client(shop_key='Shop-Key', version=3, user_agent='EasyDonate, TinyWorld, TinyWorld/version', debug=True)

result = api.shop_info()

print(result['response']) # Ошибка или Информация о магазине
```

Здесь мы получаем информацию о магазине в виде словаря.

{% hint style="info" %}
Вам **не нужно** самостоятельно переводить **JSON** в словарь, библиотека сделала это за вас.&#x20;
{% endhint %}

#### **Как узнать название?**

Предположим, то что мы не знаем как узнать **название** нашего магазина. Чтобы понять, как в коде найти название магазина, **можно обратится** на сайт <https://docs.easydonate.ru>, выбрать нужную версию и найти **"Информация о магазине".**

<figure><img src="/files/P2FTgsMbwbzbTl0V9eCE" alt=""><figcaption><p>Документация EasyDonateApi - V3 - Информация о магазине</p></figcaption></figure>

Спустившись чуть **ниже**, мы обнаруживаем структуру ответа от **EasyDonate**. По порядку - как мы видим, **name и description** (<mark style="color:red;">Красная</mark> и <mark style="color:orange;">Оранжевая стрелка</mark>) находятся внутри **response** (<mark style="color:green;">Зелёная стрелка.</mark>) Поэтому первым делом нам нужно обратится к **response**, потом к **name или description**. Кроме этого тут есть много другой информации, которую можно получить зная ключ (Ключ - значение в " " перед :, например ключ **"description"**: "*значение описания*", ключ "**name**": "*значение имени*". Итак, как же нам получить **имя** в коде:

```python
import EasyDonateClient

api = EasyDonateClient.Client(shop_key='Shop-Key', version=3, user_agent='EasyDonate, TinyWorld, TinyWorld/version', debug=True)

result = api.shop_info()

print(result['response']['name'])
```

Ура! Мы получили **название** нашего магазина! Так же, например, мы можем, получить **logo (Логотип)**

```python
print(result['response']['logo'])
```

**Ошибки**

Об ошибках **debug** можно узнать в [Импорт](/python-easydonateclient/nachalo/import.md). Итак, давайте посмотрим на **вкладку "404 Not Found Ошибка".**&#x20;

<figure><img src="/files/8lOD9FQJeh4rRHjyMANQ" alt=""><figcaption><p>Документация EasyDonateApi - V3 - Информация о магазине - 404 Not Found Ошибка</p></figcaption></figure>

**О нет!** У **response** нет параметров **logo**, **name**, **description** и **прочих**. В таком случае нам нужно проверять ответ **API** на наличие ошибок.&#x20;

#### Код:

```python
import EasyDonateClient

api = EasyDonateClient.Client(shop_key='Shop-Key', version=3, user_agent='EasyDonate, TinyWorld, TinyWorld/version', debug=True)

result = api.shop_info()

if result['success'] == False:
    print(f"Ошибка! {result['response']}")
else:
    print(result['response']['name'])

```

Мы получаем ошибку:

```
[DEBUG] EasyDonateApi Version 3 
[GET] Shop-Info (404) 
[GET] Status-Code: 404. Shop not found. 
Ошибка! Магазин не найден.
```

**Отлично!** Теперь мы умеем вызывать методы, и обрабатывать их ошибки.&#x20;

## Таблица доступных методов

Подробнее: <https://docs.easydonate.ru>

<table><thead><tr><th>Название</th><th width="240">Описание</th><th>Версии</th><th>Аргументы</th></tr></thead><tbody><tr><td>shop_info()</td><td>Информация о магазине</td><td><strong>v2, v3</strong></td><td>Нет.</td></tr><tr><td>products()</td><td>Список товаров.</td><td><strong>v2, v3</strong></td><td>Нет.</td></tr><tr><td>product_info()</td><td>Информация о товаре.</td><td><strong>v2, v3</strong></td><td><mark style="color:red;"><strong>*</strong></mark>id</td></tr><tr><td>server_list()</td><td>Список серверов</td><td><strong>v2, v3</strong></td><td>Нет.</td></tr><tr><td>server_info()</td><td>Информация о сервере.</td><td><strong>v2, v3</strong></td><td><mark style="color:red;"><strong>*</strong></mark>id</td></tr><tr><td>success_payments_list()</td><td>Список успешных платежей.</td><td><strong>v2, v3</strong></td><td>Нет.</td></tr><tr><td>payment_info()</td><td>Информация о платеже</td><td><strong>v2, v3</strong></td><td><mark style="color:red;"><strong>*</strong></mark>id</td></tr><tr><td><strong>create_payment()</strong></td><td>Создать платеж.</td><td><strong>v2, v3</strong></td><td><mark style="color:red;"><strong>*</strong></mark>customer, <mark style="color:red;"><strong>*</strong></mark>server_id, <mark style="color:red;"><strong>*</strong></mark>products, email, coupon, success_url</td></tr><tr><td>mass_sales()</td><td>Массовые акции</td><td><strong>v3</strong></td><td>where_active</td></tr><tr><td>coupon_list()</td><td>Список купонов</td><td><strong>v3</strong></td><td>where_active</td></tr></tbody></table>
