# Список рахунків

## Запит

```bash
curl -X POST https://api.bitsby.app/invoices/list \
  -H "Authorization: Token MSvL2ltaDZdWVjmZURURMVWhqSJLT2NURjhL2Fla1Z1T1IxQTltKs1T3Ay" \
	-F "startDate=2000-01-01" \
	-F "endDate=2030-01-01" \
	-F "offset=0" \
	-F "limit=10"
```

## Параметри запиту

| Параметр | Тип даних | Опис | Приклад | Обов’язковий? | За замовчуванням |
| --- | --- | --- | --- | --- | --- |
| `invoiceId` | UUID | ID рахунку у форматі UUID | 1c48b092-9878-48f5-b441-07a8a48e7b54 | ні |  |
| `invoiceUid` | String | ID рахунку (для покупця) | F7ncQviM1N92 | ні |  |
| `projectId` | UUID | ID проєкту у форматі UUID | 1c48b092-9878-48f5-b441-07a8a48e7b54 | ні |  |
| `startDate` | String | Початкова дата створення рахунку у форматі Y-m-d | 2000-01-01 | ні |  |
| `endDate` | String | Кінцева дата створення рахунку у форматі Y-m-d | 2030-01-01 | ні |  |
| `status` | String | Статус рахунку. Допустимі значення: unpaid, canceled, paid, expired | paid | ні |  |
| `offset` | Integer | Номер початкового запису, з якого почнеться виведення даних | 0 | ні | 0 |
| `limit` | Integer | Кількість записів, які ви хочете отримати | 50 | ні | 10 |

## Приклад відповіді

```json
{
    "result": "success",
    "data": [
        {
            "id": "59302b02-d1be-4e10-960f-d6ec24bfcaaf",
            "uid": "F7nYgvxM1N92",
            "projectId": "9deea1e2-0c08-41a3-bdc2-a34eada3892d",
            "createDatetime": "2024-02-29 10:49:56",
            "timeToPayDatetime": "2024-02-29 22:49:56",
            "commissionFiatUSD": 1,
            "amountFiatUSD": 100,
            "amountFiat": 100,
            "currencyFiat": "USD",
            "description": null,
            "serviceData": null,
            "views": 0,
            "status": "canceled"
        },
        {
            "id": "f31c61f6-407f-4999-95cf-56477eff06d4",
            "uid": "riUZBnNvd2rX",
            "projectId": "9deea1e2-0c08-41a3-bdc2-a34eada3892d",
            "createDatetime": "2024-02-27 20:57:23",
            "timeToPayDatetime": "2024-02-28 08:57:23",
            "commissionFiatUSD": 0.12,
            "amountFiatUSD": 12,
            "amountFiat": 12,
            "currencyFiat": "USD",
            "description": null,
            "serviceData": "orderId:2444",
            "views": 3,
            "status": "paid",
            "payment": {
                "id": "f986ad8d-2298-473d-982a-efbc817b975d",
                "amount": 12,
                "hash": "f09352627039c088688806821b864895ff237558612d834861621fc026de5f68",
                "transactionDatetime": "2024-02-27 21:05:36"
            },
            "wallet": {
                "id": "47aa71e2-07a0-482e-9172-7114d7376ba0",
                "name": "usdt-tron",
                "blockchain": "tron",
                "cryptocurrency": "usdt",
                "address": "TKbstUwMzLrfTAGL4erYb7gc7ghmHQ9zG7"
            }
        }
    ]
}
```

## Параметри відповіді

| Параметр | Опис |
| --- | --- |
| `id` | ID рахунку у форматі UUID |
| `uid` | ID рахунку (для покупця) |
| `projectId` | ID проєкту у форматі UUID |
| `createDatetime` | Дата й час створення рахунку (UTC) |
| `timeToPayDatetime` | Дата й час, до якого дійсний рахунок (UTC). До цієї дати покупець має встигнути оплатити рахунок |
| `commissionFiatUSD` | Сума комісії сервісу. Розраховується відносно суми `amountFiatUSD` |
| `amountFiatUSD` | Сума рахунку, приведена до USD. Під час створення рахунку розраховується за поточним курсом відносно суми `amountFiat`. У момент оплати перезаписується фактично отриманою сумою, приведеною до USD за курсом на цей момент. Від неї ж перераховується комісія в `commissionFiatUSD` |
| `amountFiat` | Оригінальна сума рахунку у фіатній валюті. Не змінюється |
| `currencyFiat` | Валюта фіату |
| `description` | Опис, заданий під час створення рахунку. Відображається покупцеві |
| `serviceData` | Службові дані, задані під час створення рахунку. Не відображаються покупцеві. Служать для ідентифікації рахунку й платежу в магазині продавця |
| `views` | Кількість переглядів платіжної сторінки |
| `status` | Статус рахунку |
| `payment` | Розділ із параметрами платежу. Відображається, якщо рахунок було оплачено |
| `payment.id` | ID платежу у форматі UUID |
| `payment.amount` | Сума платежу в криптовалюті |
| `payment.hash` | Хеш транзакції в блокчейні |
| `payment.transactionDatetime` | Дата й час транзакції в блокчейні (UTC) |
| `wallet` | Розділ із параметрами гаманця, на який надійшла оплата. Відображається, якщо рахунок було оплачено |
| `wallet.id` | ID гаманця у форматі UUID |
| `wallet.name` | Назва гаманця |
| `wallet.blockchain` | Блокчейн криптогаманця |
| `wallet.cryptocurrency` | Криптовалюта гаманця |
| `wallet.address` | Адреса криптогаманця |
