> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fluz.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Obtener compras de tarjetas de regalo

Para ver el historial de compras de tarjetas de regalo y tarjetas virtuales en tu cuenta, utiliza la `getUserPurchases` [consulta](https://storage.googleapis.com/fluz-public-docs/api-reference.html#group-Reference-Queries). La consulta requiere el alcance `LIST_PURCHASES`. La respuesta de esta consulta puede volverse pesada, por lo que te pedimos que proporciones una entrada de paginación y, opcionalmente, una entrada de filtro:

## Extraer historial de compras

Puedes usar la siguiente consulta para ver tus transacciones.

1. `getUserPurchases` — Obtener compras del usuario

<StickyContactSalesBanner />

## Entrada de paginación

El argumento `OffsetInput` se utiliza para gestionar la paginación en las respuestas de la API, lo que te permite controlar cuántos elementos se devuelven por página y cuántos elementos se deben omitir desde el inicio de la lista.

### Campos

**`limit`** **(Int)**: Este campo especifica la cantidad de elementos a devolver por página. El máximo de elementos que puedes solicitar por página es 20. Si no especificas un valor para limit, su valor predeterminado será 20.

**`offset`** **(Int)**: Este campo especifica la cantidad de elementos que se deben omitir antes de comenzar a devolver los elementos. Si no especificas un valor para offset, su valor predeterminado será 0, lo que significa que comenzará desde el primer elemento de la lista.

## Entrada de filtro

El argumento `UserPurchaseFilterInput` se utiliza para filtrar las compras devueltas en la respuesta. Te permite recuperar compras realizadas por el usuario asociado a tu app, o compras realizadas bajo la cuenta asociada a tu app, etc. Es opcional. Si no se proporciona, la respuesta devolverá compras realizadas por el usuario asociado a tu app, en todas las cuentas.

### Campos

**`scope`** **(Array de `PurchaseScopeFilter`)**: Este campo especifica el tipo de filtro a usar.

##### Enum `PurchaseScopeFilter`

* TOKEN\_USER: filtra según userId
* TOKEN\_ACCOUNT: filtra según accountId

### Ejemplos

```javascript theme={null}
// QUERY VARIABLES
// returns purchases made by the user across all accounts
{
  "filter": {
	"scope": ["TOKEN_USER"] 
  }	
}
```

```javascript theme={null}
// QUERY VARIABLES
// returns purchases made under the account across all users
{
  "filter": {
	"scope": ["TOKEN_ACCOUNT"] 
  }	
}
```

```javascript theme={null}
// QUERY VARIABLES
// returns purchases made by the user and account
{
  "filter": {
	"scope": ["TOKEN_USER", "TOKEN_ACCOUNT"] 
  }	
}
```

# Respuesta

Cuando ejecutes esta consulta, responderá con un arreglo de tu historial de compras de tarjetas de regalo y tarjetas virtuales generadas.

```json theme={null}
{
  "data": {
    "getUserPurchases": [
      {
        "purchaseId": "255f8245-02c7-4817-901e-15fe265f6968",
        "purchaseDisplayId": "1019688",
        "purchaseBankCardId": "255f8245-02c7-4817-901e-15fe265f6968",
        "bankAccountId": "255f8245-02c7-4817-901e-15fe265f6968",
        "purchaseAmount": 987.65,
        "fluzpayAmount": 123.45,
        "seatRewardValue": 987.65,
        "paypalVaultId": "255f8245-02c7-4817-901e-15fe265f6968",
        "createdAt": "2007-12-03T10:15:30Z",
        "purchaserUserId": "4c42e368-d150-492d-8dec-6cda1b58ffa9",
				"accountId": "d67af480-21dc-4c23-93ff-3b7288e52e1a",
        "giftCard": {
          // GiftCardFragment details
        },
        "virtualCard": {
          // VirtualCardFragment details
        }
      },
      {
        "purchaseId": "4f4b3c5d-6f7e-8a9b-0c1d-23e4f5678a90",
        "purchaseDisplayId": "1019688",
        "purchaseBankCardId": "4f4b3c5d-6f7e-8a9b-0c1d-23e4f5678a90",
        "bankAccountId": "4f4b3c5d-6f7e-8a9b-0c1d-23e4f5678a90",
        "purchaseAmount": 250.00,
        "fluzpayAmount": 50.00,
        "seatRewardValue": 10.00,
        "paypalVaultId": "4f4b3c5d-6f7e-8a9b-0c1d-23e4f5678a90",
        "createdAt": "2024-01-10T08:20:00Z",
        "giftCard": {
          // GiftCardFragment details
        },
        "virtualCard": {
          // VirtualCardFragment details
        }
      },
      {
        "purchaseId": "7e8f9a0b-1c2d-3e4f-5g6h-789i0jklm1no",
        "purchaseDisplayId": "1019688",
        "purchaseBankCardId": "7e8f9a0b-1c2d-3e4f-5g6h-789i0jklm1no",
        "bankAccountId": "7e8f9a0b-1c2d-3e4f-5g6h-789i0jklm1no",
        "purchaseAmount": 450.75,
        "fluzpayAmount": 75.00,
        "seatRewardValue": 30.00,
        "paypalVaultId": "7e8f9a0b-1c2d-3e4f-5g6h-789i0jklm1no",
        "createdAt": "2024-02-15T14:45:00Z",
        "giftCard": {
          // GiftCardFragment details
        },
        "virtualCard": {
          // VirtualCardFragment details
        }
      }
    ]
  }
}
```

## Campos en el objeto UserPurchase

| Field name         | Type        | Description                                                                                                        |
| :----------------- | :---------- | :----------------------------------------------------------------------------------------------------------------- |
| purchaseId         | String      | Un identificador único para la compra.                                                                             |
| purchaseDisplayId  | String      | El ID visible de la compra.                                                                                        |
| purchaseBankCardId | String      | El identificador de la tarjeta bancaria utilizada para la compra.                                                  |
| bankAccountId      | String      | El identificador de la cuenta bancaria asociada con la compra.                                                     |
| purchaseAmount     | Float       | El monto total gastado en la compra.                                                                               |
| fluzpayAmount      | Float       | El monto del saldo disponible de Fluz utilizado en la transacción.                                                 |
| seatRewardValue    | Float       | El valor de cualquier recompensa de asiento de red generada por la compra.                                         |
| paypalVaultId      | String      | El identificador del vault de PayPal utilizado para la compra.                                                     |
| createdAt          | DateTime    | La marca de tiempo que indica cuándo se realizó la compra.                                                         |
| purchaserUserId    | String      | El identificador del usuario que realizó la compra.                                                                |
| accountId          | String      | El identificador de la cuenta que realizó la compra.                                                               |
| giftCard           | GiftCard    | Contiene detalles sobre cualquier tarjeta de regalo utilizada en la compra, representada por el GiftCardFragment.  |
| virtualCard        | VirtualCard | Contiene detalles sobre cualquier tarjeta virtual utilizada en la compra, representada por el VirtualCardFragment. |
