# Lister les factures

## Requête

```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"
```

## Paramètres de la requête

| Paramètre    | Type de données | Description                                                     | Exemple                              | Obligatoire ? | Par défaut |
| ------------ | --------- | --------------------------------------------------------------- | ------------------------------------ | --------- | ------- |
| `invoiceId`  | UUID      | ID de la facture au format UUID                                 | 1c48b092-9878-48f5-b441-07a8a48e7b54 | non       |         |
| `invoiceUid` | String    | ID de la facture (pour le client)                               | F7ncQviM1N92                         | non       |         |
| `projectId`  | UUID      | ID du projet au format UUID                                     | 1c48b092-9878-48f5-b441-07a8a48e7b54 | non       |         |
| `startDate`  | String    | Date de début de création des factures, au format Y-m-d         | 2000-01-01                           | non       |         |
| `endDate`    | String    | Date de fin de création des factures, au format Y-m-d           | 2030-01-01                           | non       |         |
| `status`     | String    | Statut de la facture. Valeurs autorisées : unpaid, canceled, paid, expired | paid                                 | non       |         |
| `offset`     | Integer   | Index du premier enregistrement à renvoyer                      | 0                                    | non       | 0       |
| `limit`      | Integer   | Nombre d'enregistrements que vous voulez recevoir               | 50                                   | non       | 10      |

## Exemple de réponse

```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"
            }
        }
    ]
}
```

## Paramètres de la réponse

| Paramètre                     | Description                                                                                                                                                                                                                                                                              |
| ----------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id`                          | ID de la facture au format UUID                                                                                                                                                                                                                                                          |
| `uid`                         | ID de la facture (pour le client)                                                                                                                                                                                                                                                        |
| `projectId`                   | ID du projet au format UUID                                                                                                                                                                                                                                                              |
| `createDatetime`              | Date et heure de création de la facture (UTC)                                                                                                                                                                                                                                            |
| `timeToPayDatetime`           | Date et heure de fin de validité de la facture (UTC). Le client doit payer la facture avant cette heure                                                                                                                                                                                  |
| `commissionFiatUSD`           | Montant de la commission du service. Calculé à partir du montant `amountFiatUSD`                                                                                                                                                                                                         |
| `amountFiatUSD`               | Le montant de la facture converti en USD. À la création de la facture, il est calculé à partir de `amountFiat` au taux de change actuel. Au moment du paiement, il est remplacé par le montant réellement reçu, converti en USD au taux de ce moment. La commission dans `commissionFiatUSD` est elle aussi recalculée à partir de ce montant |
| `amountFiat`                  | Le montant d'origine de la facture en devise fiat. Ne change pas                                                                                                                                                                                                                         |
| `currencyFiat`                | Devise fiat                                                                                                                                                                                                                                                                              |
| `description`                 | La description définie à la création de la facture. Affichée au client                                                                                                                                                                                                                   |
| `serviceData`                 | Les données de service définies à la création de la facture. Non affichées au client. Servent à identifier la facture et le paiement dans la boutique du marchand                                                                                                                        |
| `views`                       | Nombre de vues de la page de paiement                                                                                                                                                                                                                                                    |
| `status`                      | Statut de la facture                                                                                                                                                                                                                                                                     |
| `payment`                     | Bloc avec les paramètres du paiement. Présent si la facture a été payée                                                                                                                                                                                                                  |
| `payment.id`                  | ID du paiement au format UUID                                                                                                                                                                                                                                                            |
| `payment.amount`              | Montant du paiement en cryptomonnaie                                                                                                                                                                                                                                                     |
| `payment.hash`                | Le hash de la transaction on-chain                                                                                                                                                                                                                                                       |
| `payment.transactionDatetime` | Date et heure de la transaction on-chain (UTC)                                                                                                                                                                                                                                           |
| `wallet`                      | Bloc avec les paramètres du portefeuille qui a reçu le paiement. Présent si la facture a été payée                                                                                                                                                                                       |
| `wallet.id`                   | ID du portefeuille au format UUID                                                                                                                                                                                                                                                        |
| `wallet.name`                 | Nom du portefeuille                                                                                                                                                                                                                                                                      |
| `wallet.blockchain`           | La blockchain du portefeuille crypto                                                                                                                                                                                                                                                     |
| `wallet.cryptocurrency`       | La cryptomonnaie du portefeuille                                                                                                                                                                                                                                                         |
| `wallet.address`              | L'adresse du portefeuille crypto                                                                                                                                                                                                                                                         |
