# Счета

{% hint style="danger" %}
**Внимание!**

Данное API вы используете на свой страх и риск, мы не несем ответственности за сохранность данных созданных вами счетов через представленное API, но приложим все усилия для их сохранности и безопастности. Вы не должны использовать методы API представленные на этой странице, если их использование нарушает законодательство Российской Федерации, Европейского союза и США.
{% endhint %}

{% hint style="info" %}
Все счета отображаются в карточке контакта в личном кабинете. Так же по каждому счету ведется журнал операций.&#x20;

Как отправить баланс пользователю в сообщении?! Смотрите [ЗДЕСЬ](https://help.cleverapp.pro/obzor-platformy/popolnenie-i-spisanie-balansa-s-vnutrennego-scheta-kontakta)
{% endhint %}

## Получить список счетов

<mark style="color:blue;">`GET`</mark> `https://app.cleverapp.pro/api/v1/getContactAccounts`

Этот метод позволяет получить список счетов указанного контакта.

#### Query Parameters

| Name                                          | Type    | Description |
| --------------------------------------------- | ------- | ----------- |
| contact\_id<mark style="color:red;">\*</mark> | integer | ID контакта |

{% tabs %}
{% tab title="200: OK Запрос успешно обработан." %}

```javascript
{
  "data": [
    {
      "id": 1,
      "currency": "USD",
      "amount": 17500,
      "amount_note": "175 USD",
      "created_at": "2019-11-29T13:33:35+00:00",
      "updated_at": "2019-11-30T07:08:57+00:00"
    }
  ]
}
```

{% endtab %}
{% endtabs %}

## Создать счет

<mark style="color:green;">`POST`</mark> `https://app.cleverapp.pro/api/v1/addContactAccount`

Этот метод позволяет создать счет для указанного контакта.

#### Request Body

| Name                                          | Type    | Description                                    |
| --------------------------------------------- | ------- | ---------------------------------------------- |
| contact\_id<mark style="color:red;">\*</mark> | integer | ID контакта.                                   |
| currency<mark style="color:red;">\*</mark>    | integer | Трехзначный код валюты в ISO 4217. Пример: USD |

{% tabs %}
{% tab title="201: Created Счет успешно создан" %}

```javascript
{
  "data": {
    "id": 6,
    "currency": "USD",
    "amount": 0,
    "amount_note": "0 USD",
    "created_at": "2019-11-30T14:56:24+00:00",
    "updated_at": "2019-11-30T14:56:24+00:00"
  }
}
```

{% endtab %}

{% tab title="422: Unprocessable Entity Аккаунт уже существует." %}

```javascript
{
  "errors": {
    "currency": [
      "Account with the currency already exists"
    ]
  }
}
```

{% endtab %}
{% endtabs %}

## Удалить счет

<mark style="color:green;">`POST`</mark> `https://app.cleverapp.pro/api/v1/deleteContactAccount`

Этот метод позволяет удалить счет контакта.

#### Request Body

| Name                                          | Type    | Description |
| --------------------------------------------- | ------- | ----------- |
| account\_id<mark style="color:red;">\*</mark> | integer | ID счета.   |

{% tabs %}
{% tab title="204: No Content Счет успешно удален" %}

```javascript
{
    // Response
}
```

{% endtab %}

{% tab title="422: Unprocessable Entity Счет не может быть удален, т.к. имеет положительный баланс." %}

```javascript
{
  "errors": {
    "account_id": [
      "You can not delete the account with a balance of 175 RUB"
    ]
  }
}
```

{% endtab %}
{% endtabs %}

{% hint style="warning" %}
Счет может быть удален только если имеет нулевой баланс.
{% endhint %}

## Зачислить сумму на счет

<mark style="color:green;">`POST`</mark> `https://app.cleverapp.pro/api/v1/addFundsToContactAccount`

Этот метод позволяет зачислить средства на счет контакта.

#### Request Body

| Name                                          | Type    | Description                                                       |
| --------------------------------------------- | ------- | ----------------------------------------------------------------- |
| account\_id<mark style="color:red;">\*</mark> | integer | ID счета                                                          |
| amount<mark style="color:red;">\*</mark>      | integer | Сумма в минимальной денежной единице. Например для $10 - это 1000 |
| description<mark style="color:red;">\*</mark> | integer | Описание транзакции                                               |

{% tabs %}
{% tab title="200: OK Счет успешно пополнен" %}

```javascript
{
  "data": {
    "id": 1,
    "currency": "USD",
    "amount": 117500,
    "amount_note": "1175 USD",
    "created_at": "2019-11-29T13:33:35+00:00",
    "updated_at": "2019-11-30T07:08:57+00:00"
  }
}
```

{% endtab %}
{% endtabs %}

## Списать сумму со счета

<mark style="color:green;">`POST`</mark> `https://app.cleverapp.pro/api/v1/withdrawFundsFromContactAccount`

Этот метод позволяет списать средства со счета контакта.

#### Request Body

| Name                                          | Type    | Description                                                       |
| --------------------------------------------- | ------- | ----------------------------------------------------------------- |
| account\_id<mark style="color:red;">\*</mark> | integer | ID счета                                                          |
| amount<mark style="color:red;">\*</mark>      | integer | Сумма в минимальной денежной единице. Например для $10 - это 1000 |
| description<mark style="color:red;">\*</mark> | integer | Описание транзакции                                               |

{% tabs %}
{% tab title="200: OK Счет успешно пополнен" %}

```javascript
{
  "data": {
    "id": 1,
    "currency": "USD",
    "amount": 17500,
    "amount_note": "175 USD",
    "created_at": "2019-11-29T13:33:35+00:00",
    "updated_at": "2019-11-30T15:13:46+00:00"
  }
}
```

{% endtab %}

{% tab title="422: Unprocessable Entity Недостаточно средств для списания." %}

```javascript
{
  "errors": {
    "account_id": [
      "Insufficient funds. Current balance 175 USD"
    ]
  }
}
```

{% endtab %}
{% endtabs %}
