# قائمة الفواتير

## الطلب

```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      | معرّف الفاتورة بصيغة UUID                                       | 1c48b092-9878-48f5-b441-07a8a48e7b54 | لا        |         |
| `invoiceUid` | String    | معرّف الفاتورة (للمشتري)                                   | F7ncQviM1N92                         | لا        |         |
| `projectId`  | UUID      | معرّف المشروع بصيغة 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`                          | معرّف الفاتورة بصيغة UUID                                                                                                                                                                                                                                                                |
| `uid`                         | معرّف الفاتورة (للمشتري)                                                                                                                                                                                                                                                            |
| `projectId`                   | معرّف المشروع بصيغة UUID                                                                                                                                                                                                                                                                |
| `createDatetime`              | تاريخ ووقت إنشاء الفاتورة (UTC)                                                                                                                                                                                                                                                     |
| `timeToPayDatetime`           | التاريخ والوقت اللذان تبقى الفاتورة صالحة حتى حلولهما (UTC). على المشتري أن يدفع الفاتورة قبل هذا الوقت                                                                                                                                                                                 |
| `commissionFiatUSD`           | مبلغ عمولة الخدمة. يُحسب من المبلغ `amountFiatUSD`                                                                                                                                                                                                                           |
| `amountFiatUSD`               | مبلغ الفاتورة محوَّلًا إلى USD. عند إنشاء الفاتورة يُحسب من `amountFiat` بسعر الصرف الحالي. وعند الدفع تستبدله الخدمة بالمبلغ المستلم فعليًا محوَّلًا إلى USD بسعر تلك اللحظة. وتُحسب العمولة في `commissionFiatUSD` من جديد بناءً عليه أيضًا |
| `amountFiat`                  | مبلغ الفاتورة الأصلي بالعملة الورقية. لا يتغير                                                                                                                                                                                                                            |
| `currencyFiat`                | العملة الورقية                                                                                                                                                                                                                                                                            |
| `description`                 | الوصف المحدد عند إنشاء الفاتورة. يظهر للمشتري                                                                                                                                                                                                                           |
| `serviceData`                 | البيانات الخدمية المحددة عند إنشاء الفاتورة. لا تظهر للمشتري. تُستخدم لتحديد الفاتورة والدفعة في متجر التاجر                                                                                                                                                    |
| `views`                       | عدد مشاهدات صفحة الدفع                                                                                                                                                                                                                                                             |
| `status`                      | حالة الفاتورة                                                                                                                                                                                                                                                                           |
| `payment`                     | كائن بمعطيات الدفعة. يظهر إذا دُفعت الفاتورة                                                                                                                                                                                                                       |
| `payment.id`                  | معرّف الدفعة بصيغة UUID                                                                                                                                                                                                                                                                |
| `payment.amount`              | مبلغ الدفعة بالعملة المشفرة                                                                                                                                                                                                                                                         |
| `payment.hash`                | hash المعاملة على السلسلة                                                                                                                                                                                                                                                            |
| `payment.transactionDatetime` | تاريخ ووقت المعاملة على السلسلة (UTC)                                                                                                                                                                                                                                          |
| `wallet`                      | كائن بمعطيات المحفظة التي استلمت الدفعة. يظهر إذا دُفعت الفاتورة                                                                                                                                                                                       |
| `wallet.id`                   | معرّف المحفظة بصيغة UUID                                                                                                                                                                                                                                                                 |
| `wallet.name`                 | اسم المحفظة                                                                                                                                                                                                                                                                              |
| `wallet.blockchain`           | بلوكتشين المحفظة المشفرة                                                                                                                                                                                                                                                           |
| `wallet.cryptocurrency`       | العملة المشفرة للمحفظة                                                                                                                                                                                                                                                              |
| `wallet.address`              | عنوان المحفظة المشفرة                                                                                                                                                                                                                                                              |
