# Autenticación

La Global API utiliza el protocolo OAuth 2.0 para gestionar las solicitudes. Para comenzar a realizar llamadas, primero debes generar un `access_token` temporal. Este token, también conocido como Bearer Token, debe incluirse en el header de todas las solicitudes posteriores de la API.

## Proceso de autenticación

El proceso de autenticación es un flujo sencillo de dos pasos:

1. Solicitar un Access Token utilizando tus credenciales permanentes.
2. Utilizar el Access Token obtenido para realizar llamadas a la API.

### Tus credenciales

Para cada entorno (Sandbox y Producción), se te proporcionará un conjunto único de credenciales. Es importante entender el rol de cada una:

* **Client ID & Client Secret**: Son tus credenciales permanentes utilizadas *únicamente* para generar un `access_token`.
* **Seller ID**: Es el identificador del merchant, que debe enviarse como header (`x-seller-id`) en la mayoría de las llamadas de la API para identificar tu cuenta.

Las credenciales de Sandbox se utilizan para pruebas y desarrollo y pueden obtenerse desde el portal de desarrolladores. Las credenciales de Producción se utilizan para transacciones reales y serán proporcionadas de forma segura por el equipo de Getnet una vez completado el proceso de homologación.

### Paso 1: Generar un Access Token

El primer paso es realizar una solicitud POST al endpoint de token /auth/oauth/v2/token. Debes autenticar esta solicitud utilizando HTTP Basic Authentication, enviando tu `client_id` y `client_secret` codificados en Base64.

El siguiente bloque de código muestra cómo solicitar un `access_token` y un ejemplo de respuesta. El header Authorization se forma combinando tu `client_id` y `client_secret` con dos puntos (:), codificando el resultado en Base64 y añadiendo el prefijo Basic.

```json
curl --request POST \
  --url https://api-sbx.globalgetnet.com/authentication/oauth2/access_token \
  --header 'authorization: Basic c2J4XzlmMzQzZWMzLTczNjItNGY2Yi05N2UyLTIzY2FiMjA1M2I3NDo1YTE3MDAyMC05YzMzLTQ1NTUtODM0NC1mZjNiOTY0ZDY0Mzb=' \
  --header 'content-type: application/x-www-form-urlencoded' \
  --data grant_type=client_credentials
```

La API devuelve una respuesta con tu access token:

```json
{
  "access_token": "eyJ0eXAiOiJKV1QiLCJraWQiOiI1amhLMy9xK0ZpK0tTRkIrRUwwN3VhMFYwdGM9IiwiYWxnIjoiUlMyNTYifQ...",
  "scope": "digital-platform-sbx:gateway-api",
  "token_type": "Bearer",
  "expires_in": 3599
}
```

### Paso 2: Realizar solicitudes a la API

Todas las transacciones requieren un Bearer token generado mediante OAuth 2.0. Debes incluir este token en el header Authorization de cada solicitud a la API para garantizar un acceso seguro y controlado.

Incluye el access token en el header Authorization de tus solicitudes a la API. Utiliza el esquema de autenticación Bearer. Coloca el access_token recibido en el header Authorization, precedido por `Bearer`.

Formato del header Authorization:

`Authorization: Bearer {access_token}`

```json
curl https://api-sbx.globalgetnet.com/dpm/payments-gwproxy/v2/payments \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'x-seller-id: YOUR_SELLER_ID' \
  --header 'Authorization: Bearer a1b2c3d4-e5f6-7890-g1h2-i3j4k5l6m7n8'
```

### Gestión de tokens

Los Access Tokens son temporales y expiran tras el tiempo especificado en el campo expires_in (una hora). Tu aplicación debe estar diseñada para solicitar un nuevo token cuando expire o de forma anticipada antes de su expiración para garantizar un servicio ininterrumpido.

### Próximos pasos

Ahora que has completado el proceso de autenticación, continúa con los siguientes pasos:

* [Guía de inicio rápido](/es/global-api/sep-api/first-steps-api/quickstart-api) - Crea tu primera transacción de pago en minutos.
* [Métodos de pago compatibles](https://docs.globalgetnet.com/en/products/online-payments/regional-api) - Consulta todas las opciones de pago disponibles
* [Endpoint de autenticación](https://docs.globalgetnet.com/en/products/online-payments/regional-api/swagger#tag/authentication/post/authentication/oauth2/access_token) - Autoriza tu solicitud