> ## 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.

# Alcances de la aplicación

## Descripción general de los alcances

Puedes definir qué puede hacer una aplicación en una cuenta. A esto se le denomina alcances de la aplicación.

Los alcances representan permisos otorgados a una aplicación para acceder a recursos específicos o realizar ciertas acciones en nombre de un usuario. Definen el nivel de acceso que tienen las aplicaciones una vez autenticadas.

### Concesiones de alcance de la app (global)

**Descripción:** Los alcances globales son permisos establecidos a nivel de toda la aplicación por los administradores del sistema a través del CMS. Estos definen los permisos más amplios que puede utilizar una aplicación.

**Propósito:** Garantiza que una aplicación no pueda solicitar acceso a más recursos de los permitidos como máximo, independientemente de los permisos de cada usuario.

### Concesiones de alcance del usuario (individual)

**Descripción:** Los alcances de usuario son permisos otorgados por usuarios individuales, especificando a qué aspectos de sus datos o funcionalidades puede acceder una aplicación.

**Propósito:** Brinda a los usuarios control sobre sus datos y limita a las aplicaciones a acceder solo a lo necesario y explícitamente permitido por el usuario.

## Requisitos de alcances válidos

Esto se verifica durante generateUserAccessToken. Para que el alcance de una aplicación se considere activo y válido:

Ambas concesiones deben estar activas: El permiso debe concederse tanto a nivel global (por administradores/sistema) como a nivel individual del usuario.

Concesiones no vencidas: Tanto las concesiones globales como las del usuario deben estar vigentes y no vencidas. Una concesión vencida revocará automáticamente el acceso de la aplicación a los recursos especificados.

# Alcances de la aplicación

A continuación se muestra una lista de alcances que están disponibles para cualquier aplicación.

| CLAVE               | Uso                                                                        |
| :------------------ | :------------------------------------------------------------------------- |
| LIST\_PAYMENT       | Permite acceder a los métodos de pago del usuario y al saldo de la cuenta. |
| LIST\_PURCHASES     | Permite acceder al historial de compras del usuario.                       |
| LIST\_OFFERS        | Permite acceder al catálogo de ofertas y a los datos de inventario.        |
| MAKE\_DEPOSIT       | Permite realizar un depósito al saldo del usuario.                         |
| PURCHASE\_GIFTCARD  | Permite comprar una tarjeta de regalo.                                     |
| REVEAL\_GIFTCARD    | Permite revelar un código de tarjeta de regalo para canje.                 |
| MANAGE\_PAYMENT     | Permite realizar cambios en los métodos de pago del usuario.               |
| REVEAL\_VIRTUALCARD | Permite revelar los detalles de una tarjeta virtual.                       |
| CREATE\_VIRTUALCARD | Permite crear una tarjeta virtual.                                         |
| CREATE\_SHARE\_LINK | Permite generar enlaces compartibles para emitir tarjetas virtuales.       |

# Obtener alcances de la aplicación

Puedes usar la consulta `getApplicatonScopes` para obtener los alcances de aplicación actuales de tu cuenta. La consulta responderá con un arreglo de strings que indica qué alcance está otorgado actualmente.

```json theme={null}
# Query
query getApplicationScopes {
  getApplicationScopes
}

# Response
{
  "data": {
    "getApplicationScopes": ["LIST_PAYMENT"]
  }
}
```

Asegúrate de tener los permisos correctos para realizar ciertas mutaciones y consultas con la API de Fluz.
